您的位置:首页 > 大数据 > 人工智能

常见RAID模式总结

2011-11-27 10:57 190 查看
RAID:Redundant Array Of Independent Disk,即独立磁盘冗余阵列,有两层含义:

1、磁盘是独立的,整个阵列由单独的一块块磁盘构成。2、阵列具有数据冗余性,在一定程度上保证数据安全。

基本的整列模式有RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6,衍生的模式有RAID10、RAID30、RAID50、RAID01等。

RAID0:要求至少两块硬盘,在写数据D时,RAID控制器先将D分割成大小相同的若干小块D1、D2...Dn,每小块称为一个段(segement),段的大小就是每小块的数据量大小,一般有2KB、4KB、8KB...128KB等,为了获取最大的效率一般将该值设置成操作系统簇的大小。之后RAID控制器将分割成的每小块数据同时写入不同的磁盘。和单块硬盘相比在写数据时能同时写入,所以在一定程度上提高了写数据的效率,但此模式有一个缺点就是无法提供数据保护,当其中某一块硬盘发生故障导致不能访问时整个阵列都将失效。读数据类似,先从每块硬盘上读取,之后再合并。此阵列的优点是访问速度快,缺点是无任何数据保护措施。

RAID1:要求至少两块硬盘,其中一块作为数据盘,另一块作为镜像盘。两块硬盘的数据完全相同,在写数据时同时写入到两块硬盘,读数据时读取其中一块即可。此模式的写效率不及一块硬盘,因为要同时写入两个盘,读数据效率和一块盘相当。优点是能提供数据保护,当其中一块盘故障时可以使用对应的镜像盘,缺点是数据冗余太大,整个阵列的容量只有所有硬盘容量的一半。

RAID2:要求至少三块盘,其中两块作为数据盘,另一块作为校验盘。在写数据时将数据以位为单位分割并插入相应的汉明码写入数据盘,再将校验数据写入校验盘。此模式结合了RAID0和RAID1,优点是既能提高写数据效率也能进行数据冗余,能进行侦错和纠错。但缺点也很明显,一是汉明码技术算法复杂,二是数据以位为单位进行分割,写效率不会有实质性提升,三是一块校验盘只能对应两块数据盘,所有整个阵列有三分之一的容量用于存储校验数据。

RAID3:要求至少三块盘,其中两块作为数据盘,另一块作为校验盘。写数据时采用RAID0模式,先将数据进行分割,之后同时写入每块硬盘,最后计算校验值,写入校验盘。RAID3采用逻辑运算中的异或操作计算校验值,算法简单,速度块,但只能侦错不能纠错。整个阵列只需要一块校验盘,任何一块盘发生故障均能用其它的盘进行恢复,但最多只允许一块盘发生故障,若同时有量块盘故障整个阵列将失效。 如:1 | 0 | 0 | 1 | 1 = 1,等号前面表示5块数据盘进行异或运算,结果1将写入校验盘。5块数据和1块校验盘中的任何一块发生故障都能通过其它的盘来恢复,如第3块数据盘发生故障,可通过如下等式进行恢复:1
| 0 | 1 | 1 | 1 = 0,红色的1是校验盘的值。此阵列优点是读写速度块,冗余数据量小,缺点是最多只允许损坏一块盘,且无法进行并发IO。目前RAID3模式使用较广泛。

RAID4:要求至少三块盘,其中两块作为数据盘,另一块作为校验盘。与RAID3基本思想类似,只是为了提供对并发IO的支持才引入此模式,采取的方式是增加条带深度,使得一个段(segement)就能存放一个IO的数据,这样在处理这个IO时只需要动用一块硬盘,其它硬盘可以处理别的IO。想法不错,但实际上在整理看来效率上并未提高多少,因为设计者忽略了对校验数据的写入,无法提高效率的瓶颈在于写校验数据时无法进行并发,因为任何一块硬盘在同一时间点只能有一个IO读写数据。所以RAID4并未得到广泛应用,在有些时候效率还不及RAID3。

RAID5:至少需要4块硬盘,每块硬盘均可作为数据盘和校验盘。以4块硬盘为例(大于4块盘类似),每块盘有四分之一的容量用于存放校验数据。四块盘我们以S1、S2、S3和S4表示,某一时刻有两个IO,IO1和IO2,IO1使用了S1,并且将校验数据写入S3,此时可并发的让IO2使用S2,并且将校验数据写入S4,这样就实现了并发IO。当然RAID5还具备RAID3的优点,即可将数据进行分割,分割后同时写入到相应的数据盘,校验时也采用异或算法。优点是能进行并发IO,且读写数据块,具备数据冗余。缺点是最多只允许损坏一块盘,如果有两块盘同时损坏整个阵列将失效。RAID5也得到了广泛的应用。

RAID6:至少需要4块硬盘,每块硬盘均可作为数据盘和校验盘。在RAID5的基础上发展而来,RAID5在逻辑上只有一块校验盘,且均匀的分散在每块盘。RAID6在逻辑上有两块盘,也是均匀的分散在每块盘,在计算校验数据时会列举两出个在数学上不是线性相关的等式,得到两个校验值,这样就允许同时损坏两块盘。这种方式类似求解一个二元一次方程,两个方程可求解两个未知数。RAID6具备RAID5的所有优点,但也有一些缺点,一是写数据速度不及RAID5,因为要计算和写入两个校验值,有一定的写惩罚,二是会多出一块校验盘。

RAID10:RAID1和RAID0的组合,整体上像RAID0,可分成左右两块(也可大于两块),但左边和右边又是独立的RAID1系统。写数据还是先分割,之后再交给每个RAID1系统处理,在各自子系统内进行数据镜像备份。

RAID30:与RAID10类似,只是子系统为RAID3。

RAID50:与RAID10类似,只是子系统为RAID5。

RAID01:与RAID10对应,整体上是RAID1,可分为左右两块,两边数据完全一样,彼此镜像,但左边和右边都是独立的RAID0系统。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: