磁盘阵列 RAID 分类

名词解释:

磁盘阵列(Redundant Arrays of Independent Drives,RAID),意思就是独立冗余磁盘阵列,有“独立磁盘构成的具有冗余能力的阵列”之意。

也就是我们通常讲的磁盘阵列或磁盘容错

 

RAID是一种把多块独立的物理硬盘按不同的方式组合起来形成一个逻辑意义上的硬盘组,

从而提供比单个物理硬盘更高的存储性能与数据冗余能力的技术。

RAID特色是N块硬盘同时读取速度加快与提供容错性(Fault Tolerant)。

根据磁盘陈列的不同组合方式,可以将RAID分为不同级别。级别并不代表技术高低,

要选用哪一种RAID要依据用户的操作环境(operating environment)与应用而定,与RAID级别高低没有必然关系。

磁盘阵列还能利用同位检查(Parity Check)的观念,

在数组中任意一个硬盘故障时,仍可读出数据,

在数据重构时,将数据经计算后重新置入新硬盘中。

 

 

RAID 磁盘阵列支持自动检测故障硬盘;
RAID 磁盘阵列支持重建硬盘坏轨的资料;
RAID 磁盘阵列支持不须停机的硬盘备援Hot Spare;
RAID 磁盘阵列支援支持不须停机的硬盘替换Hot Swap;
RAID 磁盘阵列支持扩充硬盘容量等

 

 

磁盘阵列样式:

 

1.外接式磁盘阵列柜

 

2.内接式磁盘阵列卡

 

3.利用软件来仿真。

 

磁盘阵列(Disk Array)是由一个硬盘控制器来控制多个硬盘的相互连接,使多个硬盘的读写同步,减少错误,增加效率和可靠度的技术。磁盘阵列卡则是实现这一技术的硬件产品,磁盘阵列卡拥有一个专门的处理器,还拥有专门的存贮器,用于高速缓冲数据。使用磁盘阵列卡服务器对磁盘的操作就直接通过阵列卡来进行处理,因此不需要大量的CPU及系统内存资源,不会降低磁盘子系统的性能。阵列卡专用的处理单元来进行操作,它的性能要远远高于常规非阵列硬盘,并且更安全更稳定

 

原 理:利用数组方式来作磁盘组

 

RAID 中主要有三个关键概念和技术:

镜像( Mirroring )

数据条带( Data Stripping )

数据校验( Data parity )

 

简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),

从而提供比单个硬盘更高的存储性能和提供数据备份技术。

 

优势:利用RAID技术于存储系统的好处主要有以下三种:

 

通过把多个磁盘组织在一起作为一个逻辑卷提供磁盘跨越功能;

通过把数据分成多个数据块(Block)并行写入/读出多个磁盘以提高访问磁盘的速度;

通过镜像或校验操作提供容错能力;

 

 

RAID级别(RAID Levels)

 

组成磁盘阵列的不同方式

RAID技术经过不断的发展,

现在已拥有了从 RAID 0 到 7 八种基本的RAID 级别。

另外,还有一些基本RAID级别的组合形式,

如RAID 10(RAID 0与RAID 1的组合),RAID 50(RAID 0与RAID 5的组合)等。

 

 

 

 

标准的RAID等级:(5普遍应用。0,1,5,7,10常用。2,3,4,6少用

 

1.RAID0 条带存储

 

简单的、无数据校验的数据条带化技术。又称为Stripe或Striping

实际上RAID 0 并不是真正的RAID结构,因为它并不提供任何形式的冗余策略。

RAID0 将所在磁盘条带化后组成大容量的存储空间(如图 1 所示),

将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。

RAID 0的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能

由于可以并发执行 I/O 操作,总线带宽得到充分利用。加上不需要进行数据校验,RAID0 的存储性能在所有 RAID 等级中是最高的。

理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。

 

特点:

低成本

100% 的高存储空间利用率

所有的raid级别中的最高读写性能

无冗余功能,如果一个磁盘损坏,则所得的数据都无法使用,不适合关键业务

主要应用与媒体编辑;图像编辑,视频、音频存储等,适用于对性能要求严格但对数据安全性和可靠性不高的应用

 

 

 

2.RAID1 (mirroring镜像/duplexing双工)镜像容错

 

为了最大限度的保证用户数据的可用性和可修复性。RAID1通过磁盘数据镜像实现数据冗余,在成对的独立磁盘(工作磁盘和镜像 磁盘)上产生互为备份的数据。(RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。)

由于对硬盘存储的数据进行百分之百的自动备份,当工作磁盘数据繁忙或失效时,系统可以直接自动切换到镜像磁盘上读写或拷贝数据,不需要使用繁忙的数据或重组失效的数据。因此在所有RAID级别中,RAID1可以提供高读取性,可用性和数据安全保障能力(容错能力)。

但由于数据的百分之百备份,备份数据占了总存储空间的一半,磁盘利用率最高50%。所以RAID1是在所有RAID级别(磁盘阵列)中的磁盘空间利用率最低,存储成本最高的。

主要应用场景:对读写性能要求高以及对数据保护极为重视的应用。如高性能,高可用性的数据库,数据库存储,服务器,邮件系统的数据,财务或金融等领域。

特点:

1,高读取性

2,高安全性

3,高可用性

4,高成本

5,低利用率

 

3.RAID5 最常见的等级是RAID级别中应用最为广泛

RAID5 是一种将存储性能、数据安全以及存储成本同时兼顾的一种最受欢迎的磁盘阵列解决方案。

它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。

对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题

另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。

RAID5 (图 6)的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上。

当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。

与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。

RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,

RAID5可以为系统提供数据安全保障但比RAID1低,而磁盘空间利用率要比RAID1高。

RAID5具有和RAID0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入速度稍慢。

同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低

它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。

高可用性,磁盘利用率较高(N-1),随机读写性能高

RAID5 基本上可以满足大部分的存储应用需求,数据中心与各类服务器大多采用它作为应用数据的保护方案。

 

4.Raid10 镜像阵列条带

建立在RAID1 和RAID0 的基 础上而形成的。

使用4、6、8.…块磁盘。 

每两块磁盘作RAID1,然后将形成的低 级阵列重新组合作RAID0。

优点:容错能力强高性能

缺点:磁盘利用率低

应用于需要高性能、高可用性的数据库应用

 

 

5.RAID3

 

RAID3 (图 4 )是使用专用校验盘的并行访问阵列。

它采用一个专用的磁盘作为校验盘,其余磁盘作为数据盘,数据以位或字节的方式交叉存储到各个数据盘中。

RAID3 至少需要三块磁盘配置,其中存贮专用的校验值的某个硬盘被称为效验盘,不同磁盘上同一带区的数据作 XOR 校验。

RAID3 完好时读性能与 RAID0 完全一致,并行从多个磁盘条带读取数据,性能非常高,同时还提供了数据容错能力。

向 RAID3 写入数据时,必须计算与所有同条带的校验值,并将新校验值写入校验盘中。

一次写操作包含了写数据块、读取同条带的数据块、计算校验值、写入校验值等多个操作,系统开销非常大,性能较低。

 

如果 RAID3 中某一磁盘出现故障,不会影响数据读取,可以借助校验数据和其他完好数据来重建数据。

假如所要读取的数据块正好位于失效磁盘,则系统需要读取所有同一条带的数据块,

并根据校验值重建丢失的数据,系统性能将受到影响。

当故障磁盘被更换后,系统按相同的方式重建故障盘中的数据至新磁盘。

 

RAID3 只需要一个校验盘(效验盘称为性能瓶颈,每次读写其牵动整个组,每次只能完成一次I/0 ),阵列的存储空间利用率高(N-1),再加上并行I/0传输的特征,能够为高带宽的大量读写提供高性能,适用大容量数据的顺序读写应用,如影像处理,流媒体服务,图像编辑,视频编辑等 。

 

目前, RAID5 算法不断改进,在大数据量读取时能够模拟 RAID3 ,

而且 RAID3 在出现坏盘时性能会大幅下降,

因此常使用 RAID5 替代 RAID3 来运行具有持续性、高带宽、大量读写特征的应用。

 

 

6.RAID2

 

RAID2 称为纠错海明码磁盘阵列,其设计思想是利用海明码实现数据校验冗余。

海明码是一种在原始数据中加入若干校验码来进行错误检测和纠正的编码技术,

其中第 2n 位( 1, 2, 4, 8, … )是校验码,其他位置是数据码。

因此在 RAID2 中,数据按位存储,每块磁盘存储一位数据编码,磁盘数量取决于所设定的数据存储宽度,可由用户设定。

图 3 所示的为数据宽度为 4 的 RAID2 ,它需要 4 块数据磁盘和 3 块校验磁盘。

如果是 64 位数据宽度,则需要 64 块 数据磁盘和 7 块校验磁盘。

可见, RAID2 的数据宽度越大,存储空间利用率越高,但同时需要的磁盘数量也越多。

 

海明码自身具备纠错能力,因此 RAID2 可以在数据发生错误的情况下对纠正错误,保证数据的安全性。

它的数据传输性能相当高,设计复杂性要低于后面介绍的 RAID3 、 RAID4 和 RAID5 。

 

但是,海明码的数据冗余开销太大,而且 RAID2 的数据输出性能受阵列中最慢磁盘驱动器的限制。

再者,海明码是按位运算, RAID2 数据重建非常耗时。

由于这些显著的缺陷,再加上大部分磁盘驱动器本身都具备了纠错功能,

因此 RAID2 在实际中很少应用,没有形成商业产品,目前主流存储磁盘阵列均不提供 RAID2 支持。

 

 

 

7.RAID4 实际中很少见

 

RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同。

RAID4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。

写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验盘,读取时进行即时校验。

因此,当某块磁盘的数据块损坏, RAID4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。

 

RAID4 提供了 非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈,写性能比较差。

 

RAID4 在实际应用中很少见,主流存储产品也很少使用 RAID4 保护。

 

 

 

 

8.RAID6 成本高与RAID5 写性能较差 很少得到实际应用

当前盘数据块的校验数据不可能存在当前盘,而是交错存储

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

RAID6与RAID5的不同之处在于,除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。

RAID6 (如图 7 )引入双重校验的概念(分层校验与总体校验),

它可以保护阵列中同时出现两个磁盘失效时,阵列仍能够继续工作,不会发生数据丢失。 因此RAID6的数据冗余性能很好。

RAID6 等级是在 RAID5 的基础上为了进一步增强数据保护而设计的一种 RAID 方式,它可以看作是一种扩展的 RAID5 级别。

 

RAID6 不仅支持数据的恢复,还能支持校验数据的恢复,因此实现代价很高,写入的效率相比RAID 5更慢。

控制系统的设计也比其他等级更复杂、更昂贵。第二块的校验区也减少了有效存储空间

RAID6 思想最常见的实现方式是采用两个独立的校验算法,

假设称为 P 和 Q ,校验数据可以分别存储在两个不同的校验盘上,或者分散存储在所有成员磁盘中。

当两个磁盘同时失效时,即可通过求解两元方程来重建两个磁盘上的数据。

 

RAID6 具有快速的读取性能、更高的容错能力。

但它的成本要高于 RAID5 许多,写性能也较差,设计和实施非常复杂。

因此RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。

它一般是替代 RAID10 方案的经济性选择。

 

 

 

RAID01 和 RAID10

 

一些文献把这两种 RAID 等级看作是等同的,本文认为是不同的。 RAID01 是先做条带化再作镜像,本质是对物理磁盘实现镜像;而 RAID10 是先做镜像再作条带化,是对虚拟磁盘实现镜像。相同的配置下,通常 RAID01 比 RAID10 具有更好的容错能力,原理如图 9 所示。

 

  RAID01 兼备了 RAID0 和 RAID1 的优点,它先用两块磁盘建立镜像,然后再在镜像内部做条带化。 RAID01 的数据将同时写入到两个磁盘阵列中,如果其中一个阵列损坏,仍可继续工作,保证数据安全性的同时又提高了性能。 RAID01 和 RAID10 内部都含有 RAID1 模式,因此整体磁盘利用率均仅为 50% 。

 


 

非标准 RAID 等级:

RAID7:全称是最优化的异步高 I/O 速率和高数据传输率

 

它与其他 RAID 等级有着明显区别。

它不仅仅是一种技术,它还是一个独立存储计算机,自身带的操作系统和管理工具,完全可以独立运行。

RAID7 可帮助用户有效地管理日益庞大的数据存储系统,并使系统的运行效率大大提高,满足不同用户的存储需求。

但是, RAID7 的成本比其他 RAID 等级要高许多。

另外, RAID7 已被某公司注册为商标,目前仅有一家公司提供 RAID7 的产品,用户没有更多的选择。

技术封闭,缺乏主流专业存储厂商的参与和研发严重制约了 RAID7 的发展。

猜你喜欢

转载自www.cnblogs.com/ylsy27/p/11808861.html