没有公告
RAID的种类 RAID的英文全称为Redundant Array of Inexpensive(或Independent) Disks,而不是某些词典中所说的“ Redundant Access Independent Disks”。中文名称是廉价(独立)磁盘冗余阵列。RAID的初衷主要是为了大型服务器提供高端的存储功能和冗余的数据安全。在系统中,RAID被看作是一个逻辑分区,但是它是由多个硬盘组成的(最少两块)。它通过在多个硬盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput),而且在很多RAID模式中都有较为完备的相互校验/恢复的措施,甚至是直接相互的镜像备份,从而大大提高了RAID系统的容错度,提高了系统的稳定冗余性,这也是Redundant一词的由来。RAID以前一直是SCSI领域的独有产品,因为它当时的技术与成本也限制了其在低端市场的发展。今天,随着RAID技术的日益成熟与厂商的不断努力,我们已经能够享受到相对成本低廉得多的IDE-RAID系统,虽然稳定与可靠性还不可能与SCSI-RAID相比,但它相对于单个硬盘的性能优势对广大玩家是一个不小的诱惑。事实上,对于日常的低强度操作,IDE-RAID已足能胜任了。与Modem一样,RAID也有全软、半软半硬与全硬之分,全软RAID就是指RAID的所有功能都是操作系统(OS)与CPU来完成,没有第三方的控制/处理(业界称其为RAID协处理器——RAID Co-Processor)与I/O芯片。这样,有关RAID的所有任务的处理都由CPU来完成,可想而知这是效率最低的一种RAID。半软半硬RAID则主要缺乏自己的I/O处理芯片,所以这方面的工作仍要由CPU与驱动程序来完成。而且,半软半硬RAID所采用的RAID控制/处理芯片的能力一般都比较弱,不能支持高的RAID等级。全硬的RAID则全面具备了自己的RAID控制/处理与I/O处理芯片,甚至还有阵列缓冲(Array Buffer),对CPU的占用率以及整体性能是这三种类型中最优势的,但设备成本也是三种类型中最高的。早期市场上所出现的使用HighPoint HPT 368、370以及PROMISE芯片的IDE RAID卡与集成它们的主板都是半软半硬的RAID,并不是真正的硬RAID,因为它们没有自己专用的I/O处理器。而且,这两个公司的RAID控制/处理芯片的能力较弱,不能完成复杂的处理任务,因此还不支持RAID 5等级。著名的Adpatec公司所出品的AAA-UDMA RAID卡则是全硬RAID的代表之作,其上有专用的高级RAID Co-Processor和Intel 960专用I/O处理器,完全支持RAID 5等级,是目前最高级的IDE-RAID产品。表1 就是典型的软件RAID与硬RAID在行业应用中的比较。
RAID-0等级
RAID-0结构图解
按此查看图片详细信息
RAID-1结构图解
现在让我们总结一下RAID 2的特点:
RAID-3等级
RAID-3结构图解
Parallel transfer with parity(并行传输及校验)RAID 2等级的缺点相信大家已经很明白了,虽然能进行即时的ECC,但成本极为昂贵。为此,一种更为先进的即时ECC的RAID等级诞生,这就是RAID 3。RAID 3是在RAID 2基础上发展而来的,主要的变化是用相对简单的异或逻辑运算(XOR,eXclusive OR)校验代替了相对复杂的汉明码校验,从而也大幅降低了成本。从图中可以发现,校验盘只有一个,而数据与RAID 0一样是分成条带(Stripe)存入数据阵列中,这个条带的深度的单位为字节而不再是bit了。在数据存入时,数据阵列中处于同一等级的条带的XOR校验编码被即时写在校验盘相应的位置,所以彼此不会干扰混乱。读取时,则在调出条带的同时检查校验盘中相应的XOR编码,进行即时的ECC。由于在读写时与RAID 0很相似,所以RAID 3具有很高的数据传输效率。
RAID 3在RAID 2基础上成功地进行结构与运算的简化,曾受到广泛的欢迎,并大量应用。直到更为先进高效的RAID 5出现后,RAID 3才开始慢慢退出市场。下面让我们总结一下RAID 3的特点:
RAID-4等级
RAID 4的特点
RAID-5等级
RAID-5结构图解
RAID 5的特点:
RAID-6等级
RAID-6结构图解
Independent Data disks with two independent distributed parity schemes(独立的数据硬盘与两个独立分布式校方案)RAID 6等级是在RAID 5基础上,为了进一步加强数据保护而设计的一种RAID方式,实际上是一种扩展RAID 5等级。与RAID 5的不同之处于除了每个硬盘上都有同级数据XOR校验区外,还有一个针对每个数据块的XOR校验区。当然,当前盘数据块的校验数据不可能存在当前盘而是交错存储的,具体形式见图。这样一来,等于每个数据块有了两个校验保护屏障(一个分层校验,一个是总体校验),因此RAID 6的数据冗余性能相当好。但是,由于增加了一个校验,所以写入的效率较RAID 5还差,而且控制系统的设计也更为复杂,第二块的校验区也减少了有效存储空间。
由于RAID 6相对于RAID 5在校验方面的微弱优势和在性能与性价比方面的较大劣势,RAID 6等级基本没有实际应用过,只是对更高级的数据的冗余进行的一种技术与思路上的尝试,下面我们就做一个总结:
RAID-7等级
RAID-7结构图解
Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates(最优化的异步高I/O速率和高数据传输率)RAID 7等级是至今为止,理论上性能最高的RAID模式,因为它从组建方式上就已经和以往的方式有了重大的不同。基本成形式见图,你会发现在,以往一个硬盘是一个组成阵列的“柱子”,而在RAID 7中,多个硬盘组成一个“柱子”,它们都有各自的通道,也正因为如此,你可以把这个图分解成一个个硬盘连接在主通道上,只是比以前的等级更为细分了。这样做的好处就是在读/写某一区域的数据时,可以迅速定位,而不会因为以往因单个硬盘的限制同一时间只能访问该数据区的一部分,在RAID 7中,以前的单个硬盘相当于分割成多个独立的硬盘,有自己的读写通道,效率也就不言自明了。然而,RAID 7的设计与相应的组成规模注定了它是一揽子承包计划。总体上说,RAID 7是一个整体的系统,有自己的操作系统,有自己的处理器,有自己的总线,而不是通过简单的插卡就可以实现的。归纳起来,RAID 7的主要特性如下:所有的I/O传输都是异步的,因为它有自己独立的控制器和带有Cache的接口,与系统时钟并不同步所有的读与写的操作都将通过一个带有中心Cache的高速系统总线,我们称之为X-Bus专用的校验硬盘可以用于任何通道带有完整功能的即时操作系统内嵌于阵列控制微处理器,这是RAID 7的心脏,它负责各通道的通信以及Cache的管理,这也是它与其他等级最大不同之一连通性:可增至12个主机接口扩展性:线性容量可增至48个硬盘开放式系统,运用标准的SCSI硬盘、标准的PC总线、主板以及SIMM内存高速的,集成Cache的数据总线(就是上文提到的X-bus)在Cache内部完成校验生成工作多重的附加驱动可以随时热机待命,提高冗余率和灵活性易管理性:SNMP(Simple Network Management Protocol,简单网络管理协议) 可以让管理员远程监视并实现系统控制按照RAID 7设计者的说法,这种阵列将比其他RAID等级提高150-600%写入时的I/O性能,虽然这引起了不小的争议。
RAID 7已经被SCC公司(Storage Computer Corporation)注册了商标,下面就让我们做一个总结:
RAID-10等级
Very High Reliability combined with High Performance(高可靠性与高性能的组合)现在我们将进入对组合RAID等级的介绍,所谓组合RAID是指在这个RAID等级中是由多个RAID等级(一般是两个)组合而成,RAID 10即是如此。RAID 10是建立在RAID 0和RAID 1基础上的,具体的组合结构看图:从中可以看出,RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。其实,图1只是一种RAID 10方式,更多的情况是从主通路分出两路(以4个硬盘时为例),做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。这就是RAID 10名字的来历(也因此被很多人称为RAID 0+1),而不是像RAID 5、3那样的全新等级。
由于利用了RAID 0极高的读写效率和RAID 1较高的数据保护、恢复能力,使RAID 10成为了一种性价比较高的等级,目前几乎所有的RAID控制卡都支持这一等级。但是,RAID 10对存储容量的利用率和RAID 1一样低,只有50%。下面就让我们总结一下它的特点:
RAID-53等级
High I/O Rates and Data Transfer Performance(高带宽与数据传输性能)与RAID 10一样,RAID 53也是一种组合RAID 等级,但不要拿RAID 10的观点套用,认为它是RAID 5和RAID 3的组合,事实上,RAID 53应该称为RAID 30或RAID 03(也可以说是RAID 0+3),即RAID 3与RAID 0的组合,具体形式见图:与图1相对比,可以发现,RAID 53中将备份等级由RAID 0变为了RAID 3,也就是说把原来的镜像阵列变成了分割式(Segments)存储阵列。但它不是对每个RAID 0硬盘都用一个RAID 3系统进行,而是用RAID 3对所有数据进行冗余存储(或者说是校验),而且读写与ECC效率比RAID 0要高不少。
值得注意的是,RAID 3在RAID 53的数据传输中占有相当重要的位置。在介绍RAID 3时,曾说过它有很高的读写传输率。因此,在进行大数据量吞吐时,由于RAID 3的传输率高的缘故,RAID 53的性能要比RAID 10好(因为冗余备份的时间缩短)。而且,借助于RAID 0,其I/O带宽并没有降低。不过,从它的配置形式上就可以看出来,它的存储空间利用率要比RAID 10低,为40%。下面就让我们总结一下RAID 53的特点:
结束语至此,有关RAID各主要等级的介绍就到此告一段落了。但本文所介绍的并不是全部的RAID等级,比如RAID 50(5+0)、RAID 51(5+1)以及最新的RAID 100。其中,前两者都是组合RAID等级,从括号中的名字上就可以看出组合的方式。RAID 100则是在RAID 1基础上改进而成,提高了读敢效率(RAID 100采用了独特的写入方式,以两个硬盘为例,数据的一半从第一个硬盘的最外圈磁道和第二个硬盘的最内圈存起,另一半则从第一个硬盘的最内圈和第二个硬盘的最外圈磁道存起,配合专用的读取算法,使两个硬盘的外圈磁道交替工作,由于总是尽可能地从外道开始读取,所以提高了读取效率)。以上三种等级由于知名度较低,而且现在还很少见到应用,就不在此详细介绍了。另外值得一提的是Intel准备在未来的ICH-6R上提供的Matrix RAID功能,它可以用两硬盘通过逻辑卷的功能组成RAID-0和RAID-1两种模式的阵列,具体结构见下面的图:
很明显,以这新闻的例子分析,每个硬盘分出40GB分别用于RAID 0和1,用于RAID 0的是分区C,容量是40+40=80GB,用于RAID 1的是分区D,容量是(40+40)/2=40GB。由于Matrix RAID还没有真正交付应用,我们在此也就不具体介绍了。