11. RAID
- Date:
2018-09-02
raid(redundant arrays of independent disks,raid)廉价磁盘冗余阵列,raid可以透过一个 技术,将多个较小的磁盘整合为一个较大的磁盘装置,完成存储的扩容和数据保护功能。
11.1. raid的实现方式
外接式磁盘阵列,通过扩展卡提供适配能力。
内接raid,主板集成raid控制器。
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