首页 理论教育 了解RAID技术:如何选取最适合的RAID级别

了解RAID技术:如何选取最适合的RAID级别

时间:2023-06-29 理论教育 版权反馈
【摘要】:根据不同的组合方式可以分为RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID0+1、RAID10和RAID50等多个级别。RAID级别并不代表技术的高低,RAID5并不高于RAID3,RAID1也不低于RAID3等,要选择哪一种RAID级别,视用户的操作环境及应用需要决定,与RAID级别的高低没有必然的联系。RAID技术已成为视频监控系统存储的核心。RAID是一种利用普通廉价硬盘组合扩容来替代单体昂贵大容量硬盘作用的一种磁盘阵列应用方式,RAID技术涉及到很多专有术语。RAID物理卷的基本单元为物理磁盘。

了解RAID技术:如何选取最适合的RAID级别

根据不同的组合方式可以分为RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID0+1、RAID10和RAID50等多个级别。RAID级别并不代表技术的高低,RAID5并不高于RAID3,RAID1也不低于RAID3等,要选择哪一种RAID级别,视用户的操作环境及应用需要决定,与RAID级别的高低没有必然的联系。

RAID技术是随着计算机技术、网络技术、视频信息海量存储等刚性技术发展要求而催生的技术,人们需求存储的数据量越来越大,存储数据读写速度要求越来越高,数据存储安全可靠性要求越来越高,特别是视频监控系统领域作为安全防范技术的最重要的组成部分,其数据容量、系统性能和存储可靠性的要求更高。RAID技术也就自然地被应用到视频监控系统的存储部分。RAID技术已成为视频监控系统存储的核心。

RAID是一种利用普通廉价硬盘组合扩容来替代单体昂贵大容量硬盘作用的一种磁盘阵列应用方式,RAID技术涉及到很多专有术语。

(一)RAID的专有术语及概念,如条带、容错校验、重构物理卷和逻辑卷等

1.条带

如图6-10中,每个磁盘中按空间容量大小分为很多块,将两块或更多磁盘的块空间组成一个卷,就叫条带。向条带中定入数据时,数据被分割成块大小并均衡地分布在阵列中的所有磁盘上。条带可以有效地提高磁盘的读取性能,但不能提供容错功能。

2.容错

容错是指RAID阵列中即便出现局部硬盘失效或错误时,通过异或XOR逻辑运算不会导致整个硬盘阵列数据的误动作,如图6-11所示。异或XOR的校验原理如表6-4所示。

数据盘A0和数据盘A1通过异或运算进行奇偶校验得到校验盘P,从而保证整个数据的安全运行。

978-7-111-36226-5-Chapter06-13.jpg

图6-10 RAID块与条带的关系示意图

978-7-111-36226-5-Chapter06-14.jpg

图6-11 容错校验示意图

表6-4 异或XOR的校验原理

978-7-111-36226-5-Chapter06-15.jpg

A0与A1值代表两个位,当A0与A1一样时,XOR结果P为0,当A0与A1不一样时,XOR结果O为1。如果知道XOR结果,A0和A1中的任何两个数值,就可以反推出第三个数值。比如A0为1,XOR结果P为1,那么A1肯定为0,如果XOR结果P为0,那么A1肯定为1。这就是XOR编码与校验的基本原理。

978-7-111-36226-5-Chapter06-16.jpg

图6-12 RAID硬盘故障更换示意图

3.重建

RAID阵列重建是指阵列中如果有一个物理硬盘出现故障时,自动用阵列中冗余的另一块相同规格的硬盘来替换,利用其他数据盘与检验盘的异或操作重新赋予新的硬盘以数据的现象。如图6-12所示,当A0硬盘出现故障时,用阵列中冗余的数据盘来更换,然后利用A1 XOR A2 XOR P=A0的关系重新给新的数据盘赋值完成故障盘的更换过程。

4.物理卷和逻辑卷

我们把RAID的多个普通直接访问的硬盘组合成一个整体叫物理卷。在物理卷的基础上按指定容量创建的由多个逻辑分区组成的集合叫逻辑卷,通过LUN(Logic Unit Number)标识。RAID物理卷的基本单元为物理磁盘。如图6-13所示为物理卷与逻辑卷的关系示意图。逻辑卷中的逻辑分区是连续的,但是物理分区是不连续的,可以在一个磁盘上,也可以在不同的磁盘上。

978-7-111-36226-5-Chapter06-17.jpg

图6-13 物理卷与逻辑卷的关系示意图

逻辑卷的生成过程如图6-14所示,将4个物理硬盘组合成一个物理卷,按其功能与容量大小将其分成三个逻辑分区,每个逻辑分区即成一个逻辑卷。

978-7-111-36226-5-Chapter06-18.jpg

图6-14 逻辑卷的生成示意图

(二)RAID技术的常见概念

1)硬盘镜像(Disk Mirroring):硬盘镜像最简单的形式是,一个主机控制器带两个互为镜像的硬盘。数据同时写入两个硬盘,两个硬盘上的数据完全相同,一个硬盘故障时,另一个硬盘可提供数据。

2)硬盘数据跨盘(Disk Spanning):利用这种技术,几个硬盘看上去像是一个大硬盘;这个虚拟盘可以把数据跨盘存储在不同的物理盘上,用户不需关心哪个盘上存有他需要的数据。

3)硬盘数据分段(Disk Striping):数据分散存储在几个盘上。数据的第一段放在盘0,第2段放在盘1,……直至达到硬盘链中的最后一个盘,然后下一个逻辑段将放在硬盘0,再下一个逻辑段放在盘1,如此循环直至完成写操作。

4)双控(Duplexing):指用两个控制器来驱动一个硬盘子系统。一个控制器发生故障,另一个控制器马上控制硬盘操作。此外,如果编写恰当的控制器软件,可实现不同的硬盘驱动器同时工作。

5)容错(Fault Tolerant):具有容错功能的机器有抗故障的能力。例如RAID1镜像系统是容错的,镜像盘中的一个出故障,硬盘子系统仍能正常工作。

6)主机控制器(Host Adapter):指使主机和外设进行数据交换的控制部件(如SCSI控制器)。

7)热修复(Hot Fix):指用一个硬盘热备份来替换发生故障的硬盘。要注意故障盘并不是真正地被物理替换了。用作热备份的盘被加载上故障盘原来的数据,然后系统恢复工作。

8)热补(Hot Patch):具有硬盘热备份,可随时替换故障盘的系统。

9)热备份(Hot Spare):与CPU系统带电连接的硬盘,它能替换下系统中的故障盘。与冷备份的区别是,冷备份盘平时与机器不相连接,硬盘故障时才换下故障盘。

10)平均数据丢失时间(Mean Time Between Data Loss,MTBDL):发生数据丢失的事件间的平均时间。

11)平均无故障工作时间(Mean Time Between Failure,MTBF):设备平均无故障运行时间。

12)系统重建(Reconstruction or Rebuild):一个硬盘发生故障后,从其他正确的硬盘数据和奇偶信息恢复故障盘数据的过程。

13)恢复时间(Reconstruction Time):为故障盘重建数据所需要的时间。

14)单个大容量硬盘(Singe Expensive Drive,SLED):指那些单体容量大,但价格昂贵的硬盘。

15)传输速率(Transfer Rate):指在不同条件下存取数据的速度。

16)虚拟盘(Virtual Disk):与虚拟存储器类似,虚拟盘是一个概念盘,用户不必关心他的数据写在哪个物理盘上。虚拟盘一般跨越几个物理盘,但用户看到的只是一个盘。

(三)RAID级别及其特点

RAID有RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID0+1、RAID10和RAID50等多个级别,RAID2与RAID4因为结构与功能的缺陷,现在已基本上不使用,我们这里也不再介绍,感兴趣的读者可以参考其他资料。

1.RAID0级别

是没有容错设计的条带硬盘阵列(Striped Disk Array without Fault Tolerance),以条带形式将RAID的数据均匀分布在各个硬盘中,如图6-15所示。(www.xing528.com)

RAID0通过同时使用多个磁盘,提高了传输速率。RAID0通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)。在RAID0中,让多个磁盘驱动器同时传输数据,而这些磁盘驱动器在逻辑上又是一个磁盘驱动器,所以使用RAID0可以达到单个磁盘驱动器几倍、几十倍甚至上百倍的速率。在RAID所有的级别中,RAID0的速度是最快的。构建RAID0模式时最小硬盘数为2。

RAID0没有数据差错控制,如果一个驱动器中的数据发生错误则整个存储系统就不能工作了,其不适宜于对数据稳定性要求高的场合。系统设有冗余,通常和其他RAID级别混合使用。

2.RAID1级别

又称镜像(Mirror),其数据同时一致写入主硬盘和镜像硬盘,如图6-16所示。

978-7-111-36226-5-Chapter06-19.jpg

图6-15 RAID0存储分布示意图

978-7-111-36226-5-Chapter06-20.jpg

图6-16 RAID1级别原理示意图

RAID1必须有两个驱动控制器,能同时对主盘和镜像盘进行读操作和写操作。当镜像结构在一组盘出现问题时,可以使用镜像,提高系统的容错能力。每读一次盘只能读出一块数据,也就是说,数据块传送速率与单独的盘的读取速率相同。RAID一般应用于对系统数据量可靠性要求极高的场合,RAID1的数据安全性在所有的RAID级别上来说是最好的。构建RAID0模式时最小硬盘数为2。

RAID1的容错校验完备,对系统的处理能力有很大的影响,当服务器负载比较重的时候会大大影响服务器效率。RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作,镜像硬盘相当于一个备份盘。RAID磁盘的利用率只有50%,是所有RAID级别中最低的。

3.RAID3级别

带有校验的并行数据传输阵列(Paralleled Transfer with Parity),数据条带化分布在数据盘中,同时使用专用校验硬盘存放校验数据,如图6-17所示。

RAID3只能查错不能纠错。以条带区为单位访问数据,从而提高读取和写入速度,它像RAID0一样以并行的方式来存放数据,但速度没有RAID0快。校验码在写入数据时产生并保存在另一个磁盘上。需要实现时用户必须要有三个以上的驱动器,写入速率与读出速率都很高,因为校验位比较少,因此计算时间相对而言比较少。构建系统的最小硬盘数为3。

978-7-111-36226-5-Chapter06-21.jpg

图6-17 RAID3级别原理示意图

数据分布式存储在连续的硬盘上,具有较高的读速率,适合大文件连续读操作的应用,主要用于图形(包括动画)等要求吞吐率比较高的场合。如果有一块硬盘损坏,校验盘及其他数据盘可以重新产生数据,对数据的有效性没有影响。RAID3对于大量的连续数据可提供很好的传输率,但有数据盘故障时,每次操作时都需要进行校验计算,读性能大幅度下降。

4.RAID5级别

也是带有校验的并行数据传输阵列(Paralleled Transfer with Parity),数据条带化分布在数据盘中,但校验数据均匀分布在各数据硬盘上,RAID5成员硬盘上同时保存有数据和校验信息,并且数据块和对应的校验信息保存在不同的硬盘上,如图6-18所示。RAID5是最常用的RAID方式之一。

978-7-111-36226-5-Chapter06-22.jpg

图6-18 RAID5级别的原理示意图

从图6-18可知,奇偶校验码存在所有磁盘上,其中的p0代表第0带区的奇偶校验值,其他类推。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID5是以数据的校验位来保证数据的安全,它没有以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其他硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。RAID5中大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID5中有“写损失”,即每一次写操作,将产生4个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。RAID5系统的最小硬盘数为3。

RAID5提供了冗余性(支持一块盘掉线后仍然正常运行),磁盘空间利用率较高(N-1/N),读写速度较快(N-1倍)。RAID5最大的好处是在一块盘掉线的情况下,RAID照常工作,但会导致其他硬盘读写性能大幅下降。

5.RAID6级别

带有两个独立分布式奇偶校验方案的独立数据硬盘(Independent data disks with two in-dependent distributed parity schemes),如图6-19所示,有两份检验数据,可允许两个硬盘同时失效。主要用于一些要求数据绝对不能出错的场合,如部队等。校验计算复杂,对控制器性能消耗很大,增加系统负载,其写入速度不好,用于计算奇偶校验值和验证数据正确性花费的时间比较多。RAID6系统建设最小硬盘数为4。

横向校验盘中P1~P4为各个数据盘中横向数据的校验信息。

978-7-111-36226-5-Chapter06-23.jpg

图6-19 RAID6级别原理示意图

例:P1=A1 XOR A2 XOR A3 XOR A4。

斜向校验盘中DP1~DP4为各个数据盘及横向校验盘的斜向数据的校验信息。

例:DP1=A1 XOR A6 XOR A11 XOR A16。

6.RAID10级别

将镜像和条带进行两级组合的RAID级别,第一级是RAID1镜像对,第二级为RAID0,如图6-20所示。两种结构各有优缺点,可以互相补充,既可达到高读取速度高写入速度又可互为镜像。这种结构的价格较高,可扩充性不好,主要用于容量不大,但要求速度和差错控制较好的数据库中。RAID10级别系统建设最小硬盘数为4。

7.RAID0+1组合级别

将条带和镜像进行两级组合的RAID级别,第一级是RAID0,第二级为RAID1,如图6-21所示。RAID0+1的失效概率要比RAID10大,无硬盘故障时,RAID0+1的读取速度较RAID10快。

978-7-111-36226-5-Chapter06-24.jpg

图6-20 RAID10级别的原理示意图

8.RAID50级别

将RAID5和RAID0进行两级组合的RAID级别,最低一级是RAID5,第二级是RAID0,具有RAID5和RAID0的共同特性,如图6-22所示。由两组RAID5磁盘组成(每组最少3个),每一组都使用了分布式奇偶位,而两组硬盘再组建成RAID0,实现跨磁盘抽取数据。其比单个RAID5容纳更多的硬盘,比单个RAID5有更好的读性能,同时比相同容量的单个RAID5重建时间更短。

978-7-111-36226-5-Chapter06-25.jpg

图6-21 RAID0+1组合级别原理示意图

978-7-111-36226-5-Chapter06-26.jpg

图6-22 RAID50级别原理示意图

RAID50提供可靠的数据存储和优秀的整体性能,并支持更大的卷尺寸。即使两个物理磁盘发生故障(每个阵列中一个),数据也可以顺利恢复过来。RAID50最少需要6个驱动器,它最适合需要高可靠性存储、高读取速度、高数据传输性能的应用。

RAID级别的比较:RAID级别较多,各级别功能丰富,应用场所也不完全一样,如表6-5所示。

表6-5 RAID各级别性能比较

978-7-111-36226-5-Chapter06-27.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈