11. RAID

Date:

2018-09-02

raid(redundant arrays of independent disks,raid)廉价磁盘冗余阵列,raid可以透过一个 技术,将多个较小的磁盘整合为一个较大的磁盘装置,完成存储的扩容和数据保护功能。

11.1. raid的实现方式

  1. 外接式磁盘阵列,通过扩展卡提供适配能力。

  2. 内接raid,主板集成raid控制器。

  3. software raid,软件方式实现raid功能。

11.2. raid级别

  • raid0

  • raid1

  • raid0+1

  • raid2

  • raid3

  • raid5

  • raid10

  • raid01

常用的raid级别有0,1,5,10和01级别。

raid0:

raid0百度百科 raid0没有数据冗余,没有数据校验的磁盘陈列。实现RAID 0至少需要两块以上的硬盘,它将两块以上的硬盘合并成一块,数据连续地分割在每块盘上。 因为带宽加倍,所以读/写速度加倍, 但RAID 0在提高性能的同时,并没有提供数据保护功能,只要任何一块硬盘损坏就会丢失所有数据。 因此RAID 0 不可应用于需要数据高可用性的关键领域。

raid1:

RAID1是将一个两块硬盘所构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。 RAID1是硬盘中单位成本最高的,但提供了很高的数据安全性和可用性,当一个硬盘失效时,系统可以自动切换到镜像硬盘上读/写,并且不需要重组失效的数据。

raid0+1:

注意:raid01和raid10不一样 正如其名字一样RAID 0+1是RAID 0和RAID 1的组合形式,也称为RAID 01。 以四个磁盘组成的RAID 0+1为例,其数据存储方式如图所示:RAID 0+1是存储性能和数据安全兼顾的方案。它在提供与RAID 1一样的数据安全保障的同时,也提供了与RAID 0近似的存储性能。 特别适用于既有大量数据需要存取,同时又对数据安全性要求严格的领域,如银行、金融、商业超市、仓储库房、各种档案管理等。

raid10:

RAID 1+0 也被称为RAID 10标准,实际是将RAID 1和RAID 0标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。

raid2:

RAID 2是RAID 0的改良版,以汉明码(Hamming Code)的方式将数据进行编码后分割为独立的位元,并将数据分别写入硬盘中。因为在数据中加入了错误修正码(ECC,Error Correction Code),所以数据整体的容量会比原始数据大一些。

raid3:

RAID 3是在RAID 2基础上发展而来的,主要的变化是用相对简单的异或逻辑运算(XOR,eXclusive OR)校验代替了相对复杂的汉明码校验,从而也大幅降低了成本。 按照一定的容错算法,存放在N+1个硬盘上,实际数据占用的有效空间为N个硬盘的空间总和,而第N+1个硬盘上存储的数据是校验容错信息,当这N+1个硬盘中的其中一个硬盘出现故障时, 从其它N个硬盘中的数据也可以恢复原始数据,这样,仅使用这N个硬盘也可以带伤继续工作(如采集和回放素材),当更换一个新硬盘后,系统可以重新恢复完整的校验容错信息。

raid5:

RAID 5可以理解为是RAID 0和RAID 1的折中方案。至少需要3块盘,读取速度接近Raid0,但是安全性更高。安全性上接近Raid1,但是磁盘的利用率更高。可以认为是Raid0和Raid1的一个折中方案。 只允许有一块盘出错,可以通过另外多块盘来计算出故障盘的数据,故障之后必须尽快更换。 比Raid0+1的磁盘利用率高,是目前比较常用的一种方案。

raid10和raid0+1区别
构成先后的差别

RAID 0+1是先让磁盘组内的成员组成RAID 0条带化,然后磁盘组之间为RAID 1镜像关系;RAID 1+0是先让磁盘组内的成员组成RAID 1互为镜像,然后磁盘组之间RAID 0条带化。

容错性的区别

RAID 0+1 的损坏一块磁盘之后,所在的RAID 0组即认为损坏,RAID 0+1 实际上已经退化为一个RAID 0 的结构,此时,上面那组RAID 0随便坏一块,整个RAID就崩溃了。

总结

使用RAID 1+0比RAID 0+1具有更好的容错性,RAID1+0比RAID0+1安全得多。

11.3. 软raid的实现

在linux环境下需要使用mdadm这个命令创建软raid。

mdadm主要选项

-C

创建raid

-n

使用的磁盘个数

-l

级别

-a

自动创建目标raid的设置文件

-c

块大小

-x

空闲盘的个数

-D

详细信息

-A

装配模式,重新识别raid

-F

监控模式

-f

标记指定的磁盘为损坏

-a

添加磁盘

-r

移除磁盘

-S

停止软raid

查看命令

1[root@centos-155 backup]# cat /proc/mdstat
2[root@centos-155 backup]# mdadm -D /dev/md1