数据安全RAID技术

RAID技术

一 简介

1988 年美国加州大学伯克利分校的 D. A. Patterson 教授等首次在论文 “A Case of Redundant Array of Inexpensive Disks” 中提出了 RAID 概念 ,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。由于当时大容量磁盘比较昂贵, RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能、可靠性。随着磁盘成本和价格的不断降低, RAID 可以使用大部分的磁盘, “廉价” 已经毫无意义。因此, RAID 咨询委员会( RAID Advisory Board, RAB )决定用 “ 独立 ” 替代 “ 廉价 ” ,于时 RAID 变成了独立磁盘冗余阵列( Redundant Array of Independent Disks )。但这仅仅是名称的变化,实质内容没有改变。

RAID 这种设计思想很快被业界接纳, RAID 技术作为高性能、高可靠的存储技术,已经得到了非常广泛的应用。 RAID 主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把 RAID 分为不同的等级,以满足不同数据应用的需求。 D. A. Patterson 等的论文中定义了 RAID1 ~ RAID5 原始 RAID 等级, 1988 年以来又扩展了 RAID0 和 RAID6 。近年来,存储厂商不断推出诸如 RAID7 、 RAID10/01 、 RAID50 、 RAID53 、 RAID100 等 RAID 等级,但这些并无统一的标准。目前业界公认的标准是 RAID0 ~ RAID5 ,除 RAID2 外的四个等级被定为工业标准,而在实际应用领域中使用最多的 RAID 等级是 RAID0 、 RAID1 、 RAID3 、 RAID5 、 RAID6 和 RAID10。

从实现角度看, RAID 主要分为软 RAID、硬 RAID 以及软硬混合 RAID 三种。软 RAID 所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率自然最低。硬 RAID 配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,但成本很高。软硬混合 RAID 具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本 在软 RAID 和硬 RAID 之间。

RAID 每一个等级代表一种实现方法和技术,等级之间并无高低之分。在实际应用中,应当根据用户的数据应用特点,综合考虑可用性、性能和成本来选择合适的 RAID 等级,以及具体的实现方式。

二 基本原理

RAID ( Redundant Array of Independent Disks )即独立磁盘冗余阵列,通常简称为磁盘阵列。简单地说, RAID 是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术。 RAID 是一类多磁盘管理技术,其向主机环境提供了成本适中、数据可靠性高的高性能存储。 SNIA 对 RAID 的定义是 [2] :一种磁盘阵列,部分物理存储空间用来记录保存在剩余空间上的用户数据的冗余信息。当其中某一个磁盘或访问路径发生故障时,冗余信息可用来重建用户数据。磁盘条带化虽然与 RAID 定义不符,通常还是称为 RAID (即 RAID0 )。

RAID 的初衷是为大型服务器提供高端的存储功能和冗余的数据安全。在整个系统中, RAID 被看作是由两个或更多磁盘组成的存储空间,通过并发地在多个磁盘上读写数据来提高存储系统的 I/O 性能。大多数 RAID 等级具有完备的数据校验、纠正措施,从而提高系统的容错性,甚至镜像方式,大大增强系统的可靠性, Redundant 也由此而来。

这里要提一下 JBOD ( Just a Bunch of Disks )。最初 JBOD 用来表示一个没有控制软件提供协调控制的磁盘集合,这是 RAID 区别与 JBOD 的主要因素。目前 JBOD 常指磁盘柜,而不论其是否提供 RAID 功能。

RAID 的两个关键目标是提高数据可靠性和 I/O 性能。磁盘阵列中,数据分散在多个磁盘中,然而对于计算机系统来说,就像一个单独的磁盘。通过把相同数据同时写入到多块磁盘(典型地如镜像),或者将计算的校验数据写入阵列中来获得冗余能力,当单块磁盘出现故障时可以保证不会导致数据丢失。有些 RAID 等级允许更多地 磁盘同时发生故障,比如 RAID6 ,可以是两块磁盘同时损坏。在这样的冗余机制下,可以用新磁盘替换故障磁盘, RAID 会自动根据剩余磁盘中的数据和校验数据重建丢失的数据,保证数据一致性和完整性。数据分散保存在 RAID 中的多个不同磁盘上,并发数据读写要大大优于单个磁盘,因此可以获得更高的聚合 I/O 带宽。当然,磁盘阵列会减少全体磁盘的总可用存储空间,牺牲空间换取更高的可靠性和性能。比如, RAID1 存储空间利用率仅有 50% , RAID5 会损失其中一个磁盘的存储容量,空间利用率为 (n-1)/n 。

磁盘阵列可以在部分磁盘(单块或多块,根据实现而论)损坏的情况下,仍能保证系统不中断地连续运行。在重建故障磁盘数据至新磁盘的过程中,系统可以继续正常运行,但是性能方面会有一定程度上的降低。一些磁盘阵列在添加或删除磁盘时必须停机,而有些则支持热交换 ( Hot Swapping ),允许不停机下替换磁盘驱动器。这种高端磁盘阵列主要用于要求高可能性的应用系统,系统不能停机或尽可能少的停机时间。一般来说, RAID 不可作为数据备份的替代方案,它对非磁盘故障等造成的数据丢失无能为力,比如病毒、人为破坏、意外删除等情形。此时的数据丢失是相对操作系统、文件系统、卷管理器或者应用系统来说的,对于 RAID 系统来身,数据都是完好的,没有发生丢失。所以,数据备份、灾 备等数据保护措施是非常必要的,与 RAID 相辅相成,保护数据在不同层次的安全性,防止发生数据丢失。

RAID 中主要有三个关键概念和技术:镜像( Mirroring )、数据条带( Data Stripping )和数据校验( Data parity ) [3][4][5] 。镜像,将数据复制到多个磁盘,一方面可以提高可靠性,另一方面可并发从两个或多个副本读取数据来提高读性能。显而易见,镜像的写性能要稍低, 确保数据正确地写到多个磁盘需要更多的时间消耗。数据条带,将数据分片保存在多个不同的磁盘,多个数据分片共同组成一个完整数据副本,这与镜像的多个副本是不同的,它通常用于性能考虑。数据条带具有更高的并发粒度,当访问数据时,可以同时对位于不同磁盘上数据进行读写操作, 从而获得非常可观的 I/O 性能提升 。数据校验,利用冗余数据进行数据错误检测和修复,冗余数据通常采用海明码、异或操作等算法来计算获得。利用校验功能,可以很大程度上提高磁盘阵列的可靠性、鲁棒性和容错能力。不过,数据校验需要从多处读取数据并进行计算和对比,会影响系统性能。 不同等级的 RAID 采用一个或多个以上的三种技术,来获得不同的数据可靠性、可用性和 I/O 性能。至于设计何种 RAID (甚至新的等级或类型)或采用何种模式的 RAID ,需要在深入理解系统需求的前提下进行合理选择,综合评估可靠性、性能和成本来进行折中的选择。

RAID 思想从提出后就广泛被业界所接纳,存储工业界投入了大量的时间和财力来研究和开发相关产品。而且,随着处理器、内存、计算机接口等技术的不断发展, RAID 不断地发展和革新,在计算机存储领域得到了广泛的应用,从高端系统逐渐延伸到普通的中低端系统。 RAID 技术如此流行,源于其具有显著的特征和优势,基本可以满足大部分的数据存储需求。总体说来, RAID 主要优势有如下几点:

(1) 大容量

这是 RAID 的一个显然优势,它扩大了磁盘的容量,由多个磁盘组成的 RAID 系统具有海量的存储空间。现在单个磁盘的容量就可以到 1TB 以上,这样 RAID 的存储容量就可以达到 PB 级,大多数的存储需求都可以满足。一般来说, RAID 可用容量要小于所有成员磁盘的总容量。不同等级的 RAID 算法需要一定的冗余开销,具体容量开销与采用算法相关。如果已知 RAID 算法和容量,可以计算出 RAID 的可用容量。通常, RAID 容量利用率在 50% ~ 90% 之间。

(2) 高性能

RAID 的高性能受益于数据条带化技术。单个磁盘的 I/O 性能受到接口、带宽等计算机技术的限制,性能往往很有 限,容易成为系统性能的瓶颈。通过数据条带化, RAID 将数据 I/O 分散到各个成员磁盘上,从而获得比单个磁盘成倍增长的聚合 I/O 性能。

(3) 可靠性

可用性和可靠性是 RAID 的另一个重要特征。从理论上讲,由多个磁盘组成的 RAID 系统在可靠性方面应该比单个磁盘要差。这里有个隐含假定:单个磁盘故障将导致整个 RAID 不可用。 RAID 采用镜像和数据校验等数据冗余技术,打破了这个假定。 镜像是最为原始的冗余技术,把某组磁盘驱动器上的数据完全复制到另一组磁盘驱动器上,保证总有数据副本可用。 比起镜像 50% 的冗余开销 ,数据校验要小很多,它利用校验冗余信息对数据进行校验和纠错。 RAID 冗余技术大幅提升数据可用性和可靠性,保证了若干磁盘出错时,不 会导致数据的丢失,不影响系统的连续运行。

(4) 可管理性

实际上, RAID 是一种虚拟化技术,它对多个物理磁盘驱动器虚拟成一个大容量的逻辑驱动器。对于外部主机系统来说, RAID 是一个单一的、快速可靠的大容量磁盘驱动器。这样,用户就可以在这个虚拟驱动器上来组织和存储应用系统数据。 从用户应用角度看,可使存储系统简单易用,管理也很便利。 由于 RAID 内部完成了大量的存储管理工作,管理员只需要管理单个虚拟驱动器,可以节省大量的管理工作。 RAID 可以动态增减磁盘驱动器,可自动进行数据校验和数据重建,这些都可以 大大简化管理工作。

三 关键技术

3.1 镜像

镜像是一种冗余技术,为磁盘提供保护功能,防止磁盘发生故障而造成数据丢失。对于 RAID 而言,采用镜像技术 典型地 将会同时在阵列中产生两个完全相同的数据副本,分布在两个不同的磁盘驱动器组上。镜像提供了完全的数据冗余能力,当一个数据副本失效不可用时,外部系统仍可正常访问另一副本,不会对应用系统运行和性能产生影响。而且,镜像不需要额外的计算和校验,故障修复非常快,直接复制即可。镜像技术可以从多个副本进行并发读取数据,提供更高的读 I/O 性能,但不能并行写数据,写多个副本会会导致一定的 I/O 性能降低。

镜像技术提供了非常高的数据安全性,其代价也是非常昂贵的,需要至少双倍的存储空间。高成本限制了镜像的广泛应用,主要应用于至关重要的数据保护,这种场合下数据丢失会造成巨大的损失。另外,镜像通过“ 拆分 ”能获得特定时间点的上数据快照,从而可以实现一种备份窗口几乎为零的数据备份技术。

3.2 数据条带

磁盘存储的性能瓶颈在于磁头寻道定位,它是一种慢速机械运动,无法与高速的 CPU 匹配。再者,单个磁盘驱动器性能存在物理极限, I/O 性能非常有限。 RAID 由多块磁盘组成,数据条带技术将数据以块的方式分布存储在多个磁盘中,从而可以对数据进行并发处理。这样写入和读取数据就可以在多个磁盘上同时进行,并发产生非常高的聚合 I/O ,有效提高了整体 I/O 性能,而且具有良好的线性扩展性。这对大容量数据尤其显著,如果不分块,数据只能按顺序存储在磁盘阵列的磁盘上,需要时再按顺序读取。而通过条带技术,可获得数倍与顺序访问的性能提升。

数据条带技术的分块大小选择非常关键。条带粒度可以是一个字节至几 KB 大小,分块越小,并行处理能力就越强,数据存取速度就越高,但同时就会增加块存取的随机性和块寻址时间。实际应用中,要根据数据特征和需求来选择合适的分块大小,在数据存取随机性和并发处理能力之间进行平衡,以争取尽可能高的整体性能。
数据条带是基于提高 I/O 性能而提出的,也就是说它只关注性能, 而对数据可靠性、可用性没有任何改善。实际上,其中任何一个数据条带损坏都会导致整个数据不可用,采用数据条带技术反而增加了数据发生丢失的概念率。

3.3 数据校验

镜像具有高安全性、高读性能,但冗余开销太昂贵。数据条带通过并发性来大幅提高性能,然而对数据安全性、可靠性未作考虑。数据校验是一种冗余技术,它用校验数据来提供数据的安全,可以检测数据错误,并在能力允许的前提下进行数据重构。相对镜像,数据校验大幅缩减了冗余开销,用较小的代价换取了极佳的数据完整性和可靠性。数据条带技术提供高性能,数据校验提供数据安全性, RAID 不同等级往往同时结合使用这两种技术。

采用数据校验时, RAID 要在写入数据同时进行校验计算,并将得到的校验数据存储在 RAID 成员磁盘中。校验数据可以集中保存在某个磁盘或分散存储在多个不同磁盘中,甚至校验数据也可以分块,不同 RAID 等级实现各不相同。当其中一部分数据出错时,就可以对剩余数据和校验数据进行反校验计算重建丢失的数据。校验技术相对于镜像技术的优势在于节省大量开销,但由于每次数据读写都要进行大量的校验运算,对计算机的运算速度要求很高,必须使用硬件 RAID 控制器。在数据重建恢复方面,检验技术比镜像技术复杂得多且慢得多。

海明校验码和 异或校验是两种最为常用的 数据校验算法。海明校验码是由理查德.海明提出的,不仅能检测错误,还能给出错误位置并自动纠正。海明校验的基本思想是:将有效信息按照某种规律分成若干组,对每一个组作奇偶测试并安排一个校验位,从而能提供多位检错信息,以定位错误点并纠正。可见海明校验实质上是一种多重奇偶校验。异或校验通过异或逻辑运算产生,将一个有效信息与一个给定的初始值进行异或运算,会得到校验信息。如果有效信息出现错误,通过校验信息与初始值的异或运算能还原正确的有效信息。

四 主要RAID级别

2.1 RAID0(无容错的条带化磁盘阵列)

RAID0图示如图所示。在计算机系统中,I/O 永远是性能的瓶颈,因为磁盘的主体是机械构件,而机械构件的速度是无法达到电子设备那么高。因此人们一方面努力提高 I/O 的性能,另一方面合理分配 CPU,协调各子系统之间的配合,以此来提高系统的整体性能。RAID0将数据合理分配到不同的磁盘上,这样单位时间内的读写速度便会大大提高。

img

RAID0方式至少由两块磁盘组成,它将磁盘逻辑条带化,再将数据块(大小可以根据实际情况来调整)分别写到不同的磁盘上,使磁盘的逻辑存储顺序按照上图中字母顺序来存储数据,即:

BLOCK1、BLOCK2、BLOCK3、BLOCK4……,这样一来,所有的 I/O 访问将会被分担到每个磁盘驱动器上,从而大大提高了I/O 效率。更进一步来分析,如果能够将数据条带化到磁盘控制器一级,而不是磁盘驱动器级,并且每个控制器只控制一个磁盘驱动器,那么,这就是RAID0所能达到的最好性能。

RAID0方式是一种无容错机制的盘组方式,因此它结构简单,易于实施,但同时也带来了它几乎没有容灾性能的致命弱点。在 RAID0盘组中,任何一块磁盘的损坏都将导致整个存储子系统无法工作,这在很多大型系统中几乎是不能容忍的。因此,可以说 RAID0并不是完整意义上的 RAID,实际中也很少被单独采用。

2.2 RAID1(镜像和双工阵列)

RAID1图示如图所示。

img

RAID1也至少需要两块磁盘来组成。与 RAID 0截然不同的是RAID1采用了镜像方式,将磁盘两两配对,形成全冗余的组合,确保数据的稳定可靠。一旦任何一块磁盘发生了故障,人们只需简单地将其更换,然后进行数据同步,即可保证数据不会丢失。因此,RAID 1最多可以容忍一半的磁盘发生故障(当然不能有同一镜像的两块磁盘同时发生故障)。同时,RAID1方式下随机读的速度较单块磁盘有一定提高,而写的速度与单块磁盘相当。因为每一次的随机读都会同时有两个磁盘进行寻址,任何一块磁盘寻址完毕,读操作即完成,因此最差可达到一块磁盘的寻址速度;对于写操作,任何一块磁盘完成写操作,存储系统就向写调用返回写完成信号(同步复写工作在后台完成),显然速度与单块磁盘相当。因此,RAID1的最佳性能状态是:控制器必须能够执行对一对镜像磁盘的两个并发的读操作和对它们的两个重复写操作。这样,很容易得出类似 RAID0的结论:尽量分散每个控制器下的磁盘驱动器就能提高其读写效率。RAID1可以说是完整意义上最简单的 RAID存储子系统的设计了。另外,RAID1中数据块的传输速率也与单块磁盘相当。

RAID1方式在增加数据的可靠性的同时,其全冗余结构也降低了整体系统的效率。因为RAID 功能的实现并不在磁盘本身,而是在于RAID系统。RAID系统最初都是用软件来实现的,自然加重了 CPU 和服务器的负担‚也降低了系统的吞吐量。而且,在软实现的情况下‚一般是支持热插拔的。因此现在大型系统的磁盘阵列基本都采用硬实现的方式。RAID一般应用在金融、财务以及其他要求高数据可靠性的领域。

2.3 RAID2(带海明码校验磁盘阵列)

RAID2图如图所示。

查看源图像

海明码是一种具有自纠错功能的校验码,校验码的位数 r 与数据的位数 k 应满足以下公式:
2 r ≥ k + r + 1 。 2^r ≥ k+ r+1。 2rkr1
我们知道‚数据在线路上传输的速度决定于线路质量和线路性能,串行数据间的相互干扰决定了信号在传输过程中必须留有安全的距离。RAID2将一个数据字的每一位写在一块数据盘上,每个数据字的校验码写在校验盘上。读取数据时,校验码对正确的数据进行校验,对错误的数据位进行纠错。由于海明码具有校验及自动纠错功能,因此 RAID2方式有了提高数据传输速率的可能。同时,数据传输速率越高,信息部字长越长,根据上面给出的公式,信息部字长与校验部字长比就越优‚数据传输就更有效。相反,信息部字长越短,校验部对信息部的比率就越大,传输就越低效。因此,使用这种 RAID 方式的门槛很高必须达到一定的传输速率才能保证不高比重资源浪费在校验数据的传输上。

RAID2它的数据传输性能相当高,设计复杂性要低于后面介绍的 RAID3 、 RAID4 和 RAID5 。但是,海明码的数据冗余开销太大,而且 RAID2 的数据输出性能受阵列中最慢磁盘驱动器的限制。再者,海明码是按位运算, RAID2 数据重建非常耗时。由于这些显著的缺陷,再加上大部分磁盘驱动器本身都具备了纠错功能,因此 RAID2 在实际中很少应用,没有形成商业产品,目前主流存储磁盘阵列均不提供 RAID2 支持。

2.4 RAID3(带奇偶校验的并行传输阵列)

RAID3如图所示:

在这里插入图片描述

RAID3采用相对简单的校验码来保证数据的完整性,校验盘数减至1,冗余度为1/N,数据以位交叉方式存放。显然,RAID3至少需要3块磁盘来组成。数据块被分割成条带化(按位交叉)分别存储在各个数据盘上,在每次 I/O 写操作后其校验码写入一块专用的校验磁盘上。每次读操作的时候进行校验。

由于 RAID3采用了并行机制‚因此具有很高的读写数据传输速度,但同时也造成了控制器设计比较复杂的问题。由于采用了奇偶校验码,单码磁盘的故障自然不会导致存储系统的故障。当单盘失效时‚可从剩余的磁盘和校验盘上读出相应单元的数据再异或而得到失效磁盘上的数据。如若要能容忍更多的磁盘失效‚可采用多校验盘或采用更复杂的检纠码如 Reed-Solomon 码或MDS 码,而且,相比较 RAID2来说,校验码和信息数据的比率很低‚这提高了这种方法的工作效率。但和 RAID2一样‚由于对单块校验盘进行最后的校验和计算工作‚其读写事务处理能力不会高于单盘。因为 RAID3对系统资源消耗较大,因此基本不用软件方式来实现。另外,由于 RAID3按条带存储,无逻辑单元,因此不论 I/O 操作的数据量大小,都必须对整个条带进行校验位的计算,并写入校验盘。每次读写要牵动整个组,每次只能完成一次 I/O,这是 RAID3的最大弊端。这种情况在 RAID4中得到了改善。

RAID3比较适合如视频编辑、硬盘播出机、大型数据库等安全性要求较高、数据吞吐量大的应用。目前, RAID5 算法不断改进,在大数据量读取时能够模拟 RAID3 ,而且 RAID3 在出现坏盘时性能会大幅下降,因此常使用 RAID5 替代 RAID3 来运行具有持续性、高带宽、大量读写特征的应用。

2.5 RAID4(带专用校验盘的块交叉奇偶校验冗余阵列)

RAID4如图所示:

和 RAID 3 一样,RAID4同样需要至少3块磁盘来构成。RAID4是一种块交叉奇偶校验冗余阵列‚采用块交叉方式独立传送,在扇区一级进行数据交叉。它与RAID3在结构上有相似之处,不过 RAID4中数据是以块交叉形式分布在盘上,每块的大小称为一个分块单元。

RAID4 与 RAID3 的原理大致相同,区别在于条带化的方式不同。 RAID4按照块的方式来组织数据,写操作只涉及当前数据盘和校验盘两个盘,多个 I/O 请求可以同时得到处理,提高了系统性能。 RAID4 按块存储可以保证单块的完整性,可以避免受到其他磁盘上同条带产生的不利影响。

RAID4 在不同磁盘上的同级数据块同样使用 XOR 校验,结果存储在校验盘中。写入数据时, RAID4 按这种方式把各磁盘上的同级数据的校验值写入校验 盘,读取时进行即时校验。因此,当某块磁盘的数据块损坏, RAID4 可以通过校验值以及其他磁盘上的同级数据块进行数据重建。

RAID4提供了非常好的读性能,但单一的校验盘往往成为系统性能的瓶颈。对于写操作, RAID4 只能一个磁盘一个磁盘地写,并且还要写入校验数据,因此写性能比较差。而且随着成员磁盘数量的增加,校验盘的系统瓶颈将更加突出。正是如上这些限制和不足, RAID4 在实际应用中很少见,主流存储产品也很少使用 RAID4 保护。

2.6 RAID5(分布式奇偶校验阵列)

RAID5如图所示:

查看源图像

RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。

RAID5的磁盘上同时存储数据和校验数据,数据块和对应的校验信息存保存在不同的磁盘上,当一个数据盘损坏时,系统可以根据同一条带的其他数据块和对应的校验数据来重建损坏的数据。与其他 RAID 等级一样,重建数据时, RAID5 的性能会受到较大的影响。

RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。

2.7 RAID6(双分布奇偶校验阵列)

RAID6如图所示:

RAID6是一种采用分块交叉技术及双磁盘驱动器容错的磁盘阵列,可以说是 RAID5的扩展。但是由于它在每个磁盘驱动器上有两个校验分区用于存放检、纠错冗余代码,即使在双盘出错的情况下‚仍能保证数据的完整性和有效性。从图7中可以看出,每个磁盘驱动器上留出两个校验块,一个记录该数据块所在条带的校验信息,另一个用来循环记录每个驱动器的校验信息(如 Disk0驱动器记录 Disk4 驱动器的校验信息,Disk1 驱动器记录 Disk3 驱动器的校验信息……)形成了一个校验网格结构,因此,RAID6有很高的数据有效性和可靠性‚特别适用于可靠性要求很高的领域。而且 RAID6中数据和校验信息分块交叉存储在 RAID 所有的磁盘上,多个磁盘可同时读写,I/O 传输率较高

RAID6 具有快速的读取性能、更高的容错能力。但是,它的成本要高于 RAID5 许多,控制器设计复杂;对校验部分的寻址开销很大;由于两次计算校验信息,导致写操作的性能低下;每个驱动器需要留出两块空间用来储校验信息,因此具有2/N 的冗余度。因此, RAID6 很少得到实际应用,主要用于对数据安全等级要求非常高的场合。它一般是替代 RAID10 方案的经济性选择。

2.8 RAID10(RAID0+RAID1)

RAID10实际是 RAID0+RAID1,RAID10需要至少4块磁盘来构成。它同时采用分块和镜像技术,即同时使用了 RAID0和 RAID1,通过分块镜像集实现。采用分块技术‚多个磁盘可并行读写磁盘 I/O 性能很高,能够达到 RAID0的水平;采用镜像存储使得可靠性能够达到 RAID1的水平,成为所有磁盘阵列中最高的。由于集中了RAID0和 RAID1的优点‚RAID10的性能是所有RAID 类型中最好的,但冗余代价较高。

RAID10的可拓展性不强,而且,由于工作中所有的驱动器必须将磁头移动到适当的位置,降低了系统的持续性性能。适用于对可靠性和性能都有很高要求的数据库系统。

2.9 RAID0+1

查看源图像

RAID0+1同样需要至少4块磁盘来构成。它实际上是将2个 RAID0系统进行镜像,综合了 RAID0和 RAID1的技术。其容灾性能等同于 RAID5,冗余度等同于 RAID1。由于具有 RAID0的性能‚它具有很高的 I/O 速度。

RAID0+1和 RAID10的概念比较接近,但是它们是不相同的。在 RAID0+1结构中‚如果任何一块磁盘失效‚则该磁盘所在的镜像就失效,整个存储系统就演变成为一个 RAID0系统。在有磁盘失效的情况下通过改变系统的体系结构‚牺牲部分系统性能来保障系统运转。因此,它是一种能够达到很好的I/O性能,但无需达到最高系统可靠性的解决方案。

RAID0+1同时也具有所有镜像系统和条带化系统同有的弱点:冗余代价大,扩展性不好‚磁头的并行定位导致持续性性能的下降等。RAID0+1适用于一些基于图像的应用或者一般的文件服务器。

除了以上介绍的主要 RAID 方式外,有些存储器厂商也设计了专业领域的针对某些特定的应用的 RAID 方式,如 RAID7等。而且,针对各种 RAID 级别的性能,目前有部分高端磁盘阵列产品也同时采用了多种RAID 方式‚如 HP 公司的 VA7400盘阵,它可以将RAID0+1与 RAID5混合使用,用户可以根据需要‚合理分配各种数据的存放方式‚以达到整体性能和成本的最佳分配。

2.10 总结

纵观各种 RAID 方式‚我们可以看出,RAID级别的选择有几个主要因素:可靠性(数据冗余)、性能、成本和可扩展性。如果不要求可靠性,选择RAID0以获得最佳性能。如果可靠性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择 RAID1。如果可靠性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID5、RAID10或者 RAID0+1。
观各种 RAID 方式‚我们可以看出,RAID级别的选择有几个主要因素:可靠性(数据冗余)、性能、成本和可扩展性。如果不要求可靠性,选择RAID0以获得最佳性能。如果可靠性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择 RAID1。如果可靠性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID5、RAID10或者 RAID0+1。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值