创建RAID磁盘列表(Raid5和Raid10)

【前言】

RAID 技术相信大家都有接触过,尤其是服务器运维人员,RAID 概念很多,有时候会概念混淆。

一、Raid磁盘阵列概述

磁盘阵列的全名(Redundant Arrays of Inexpensive Disk,RAID),中文简称是独立冗余磁盘阵列。
RAID可以通过技术(软件或者硬件)将多个独立的物理硬盘整合成为一个较大的硬盘组(逻辑硬盘),用户可以对它进行分区,格式化。这个逻辑硬盘功能除了存储之外,它还具有数据保护的功能,提供数据备份技术。

  • RAID技术分为几种不同的等级,分别可以提供不同的速度,安全性和性价比。根据实际情况选择适当的RAID级别可以满足用户对存储系统可用性、性能和容量的要求
  • 常用的level有以下几种常用的RAID级别有以下几种:RAID0,RAID1,RAID5,RAID6 ,RAID1+0等
  • 整个RAID由于选择的级别(level)不同,而使得整合后的硬盘读写性能上有些不同
RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity )
  • 镜像, 将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。
  • 数据条带, 将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。
  • 数据校验, 利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。(不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能)

二、Raid磁盘阵列详细介绍

RAID0(条带化存储)

在这里插入图片描述

  • RAID 0连续以位或字节为单位进行分割数据,将数据分段存储在各个硬盘中,n块硬盘并行读/写数据,因此具有很高的数据传输率,可以达到单个硬盘的N倍,但它没有数据冗余;
  • RAID 0只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据,因此并不能算真正的RAID结构;
  • RAID 0不能应用于数据安全性要求高的场合。

RAID 1(镜像存储)

在这里插入图片描述

  • 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据;
  • 当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1 可以提高读取性能;
  • RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时, 系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据
  • N(偶数)块硬盘组成镜像,容量为N/2

RAID5

在这里插入图片描述

  • N (N>=3) 块盘组成阵列,一份数据产生N-1个条带,同时还有1份校验数据,共N份数据在N块盘上循环均衡存储
  • N块盘同时读写,读性能很高,但由于有校验机制的问题,写性能相对不高;
  • (N-1) /N磁盘利用率(有一块是用来校验的);
  • 可靠性高,允许坏1块盘,不影响所有数据。

RAID6

在这里插入图片描述
前面所述的各个 RAID 等级都只能保护因单个磁盘失效而造成的数据丢失。如果两个磁盘同时发生故障,数据将无法恢复。

  • RAID6 引入双重校验的概念,它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。
  • N (N>=4) 块盘组成阵列,(N-2) /N容量利用率;
  • 需要更大的磁盘空间,相对于RAID 5有更大的“写损失"因此写性能较差。

RAID 1+0(先做镜像,再做条带)

在这里插入图片描述

  • N (偶数,N>=4)块盘两两镜像后,再组合成一个RAID 0;
  • N/2块盘同时写入,N块盘同时读取;
  • 性能高,可靠性高。

RAID 0+1(先做条带,在做镜像)

在这里插入图片描述

  • 安全性低于RAID 1+0;
  • 读写性能与RAID 1+0相同;

二、磁盘阵列

2.1 阵列卡介绍

  • 阵列卡是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列组件构成的
  • 不同的RAID卡支持的RAID功能不同: 例如支持RAID0、RAID1、 RAID5、 RAID10等
  • RAID卡的接口类型:

1.IDE接口(并行接口,价格低廉,兼容性强)
2.SCSI接口(串行接口,是小型计算机系统接口,广泛应用于小型机上的高速数据传输技术,支持热拔插,CPU占用率低,但是价格高)
3.SATA接口(串行接口)
4.SAS接口(新一代scsi接口,向下兼容SATA)

2.2 阵列卡的缓存

  • 缓存(Cache)是RAID卡与外部总线交换数据的场所,RAID卡先将数据传送到缓存,再由缓存和外边数据总线交换数据。
  • 缓存的大小与速度是直接关系到RAID卡的实际传输速度的重要因素,大缓存可以提高命中率
  • 不同的RAID卡出厂时配备的内存容量不同,一般为几兆到数百兆容量不等

三、实验要求(Raid1+0)

1.1 代码片

-------检查是否已安装mdadm软件包-------
[root@localhost ~]# rpm -q mdadm 
mdadm-4.0-5.el7.x86_64

------使用fdisk工具将新磁盘设备/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde/、划分出主分区sdb1、sdc1、sdd1、sde1,并且把分区类型的ID标记号改为“fd”------
[root@localhost ~]# fdisk -l  ###查看硬盘
[root@localhost ~]# fdisk /dev/sdb
n->p->enter->enter->enter->t->fd->w
[root@localhost ~]# fdisk /dev/sdc
n->p->enter->enter->enter->t->fd->w
[root@localhost ~]# fdisk /dev/sdd
n->p->enter->enter->enter->t->fd->w
[root@localhost ~]# fdisk /dev/sde
n->p->enter->enter->enter->t->fd->w
[root@localhost ~]# fdisk /dev/sdf
n->p->enter->enter->enter->t->fd->w
[root@localhost ~]# fdisk -l   ###查看硬盘

-------创建RAID设备-------
[root@localhost ~]# mdadm -Cv /dev/md0 -l10 -n3 /dev/sd[b-d]1 -x1 /dev/sde1
###-C          表示新建
-v             显示新建过程中的详细信息
/dev/md0       创建RAID 10的名称
-l             指定RAID 的级别,-l10 表示RAID 10
-n             指定使用几块硬盘创建RAID , -n4 表示使用3块硬盘创建RAID,raid4>=3
/dev/sd[b-e]1  指定使用者三块磁盘分区去创建RAID
-x             指定使用几块硬盘做RAID的热备用盘,x1表示保留1块空闲的硬盘作备用
/dev/sde1      指定用于备用的磁盘

[root@localhost ~]# mdadm -E /dev/sd[b-e]1   ##检查磁盘是否已做RAID

-------创建并挂载文件系统--------
[root@localhost ~]# mkfs -t xfs /dev/md0
[root@localhost ~]# mkdir /home/ky19   ###创建文件系统
[root@localhost ~]# mount /dev/md0 /home/ky19  ###挂载文件系统

-----创建文件验证是否挂载成功------
[root@localhost ~]# df -hT   ###查看
[root@localhost ~]# cd /home/ky19/   ##切换目录
[root@localhost /ky19]# ls
[root@localhost /ky19]# touch 1.txt 2.txt
[root@localhost /ky19]# mkdir 123
[root@localhost /ky19]# ls
123  1.txt  2.txt

-------实现故障恢复------
[root@localhost /myraid]# cd
[root@localhost ~]# mdadm /dev/md0 -f /dev/sdd1   ###模拟/dev/sdd1故障
mdadm: set /dev/sdc1 faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0     #查看发现sdf1已顶替sdd1

-------创建/etc/ky19.conf配置文件,方便管理软RAID的配置,比如启动、停止--------
[root@localhost ~]# echo 'DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1 /dev/sdf1' > /etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf   ###查看
DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1
[root@localhost ~]# mdadm --detail --scan >> /etc/mdadm.conf
[root@localhost ~]# cat /etc/mdadm.conf   ###查看
DEVICE /dev/sdc1 /dev/sdb1 /dev/sdd1 /dev/sde1
ARRAY /dev/md0 metadata=1.2 name=localhost.localdomain:0 UUID=ce0a81b5:74db12d5:ba24f529:4d923bf1
[root@localhost ~]# df -h   ###查看
[root@localhost ~]# umount /dev/md0   ###解挂
[root@localhost ~]# df -h    ###查看
[root@localhost ~]# mdadm -S /dev/md0   ###停止RAID
mdadm: stopped /dev/md0

1.2 实验步骤

1.关闭虚拟机,添加五块20G的硬盘(前4个做Raid10,第五个做热备份)

在这里插入图片描述

2.重启,lsblk查看一下磁盘和分区状态

在这里插入图片描述

3.为四块磁盘创建分区,并设文件类型为fd(Linux raid 自动)

在这里插入图片描述

4.通过rpm查看mdadm包是否安装好

在这里插入图片描述

5.创建Raid10阵列(一键创建)

在这里插入图片描述

6.格式化(xfs)m0,挂载并查挂载

在这里插入图片描述

在这里插入图片描述

7.mdadm -D查看mdadm信息

在这里插入图片描述

8.模拟磁盘损坏,备用磁盘会顶替坏掉的磁盘

在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值