raid全面介绍和详细分析的区别

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全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
RAID-0等级
RAID-0结构图解
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息 Striped Disk Array without Fault Tolerance(没有容错设计的条带磁盘阵列)图中一个圆柱就是一块磁盘(以下均是),它们并联在一起 。从图中可以看出,RAID 0在存储数据时由RAID控制器(硬件或软件)分割成大小相同的数据条,同时写入阵列中的磁盘 。如果发挥一下想象力,你会觉得数据像一条带子横跨过所有的阵列磁盘,每个磁盘上的条带深度则是一样的 。至于每个条带的深度则要看所采用的RAID类型 , 在NT系统的软RAID 0等级中,每个条带深度只有64KB一种选项,而在硬RAID 0等级,可以提供8、16、32、64以及128KB等多种深度参数 。Striped是RAID的一种典型方式,在很多RAID术语解释中,都把Striped指向RAID 0 。在读取时 , 也是顺序从阵列磁盘中读取后再由RAID控制器进行组合再传送给系统,这也是RAID的一个最重要的特点 。这样,数据就等于并行的写入和读取 , 从而非常有助于提高存储系统的性能 。对于两个硬盘的RAID 0系统 , 提高一倍的读写性能可能有些夸张,毕竟要考虑到也同时增加的数据分割与组合等与RAID相关的操作处理时间,但比单个硬盘提高50%的性能是完全可以的 。不过,RAID 0还不能算是真正的RAID,因为它没有数据冗余能力 。由于没有备份或校验恢复设计 , 在RAID 0阵列中任何一个硬盘损坏就可导致整个阵列数据的损坏,因为数据都是分布存储的 。下面总结一下RAID 0的特点:
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
RAID-1等级
RAID-1结构图解
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
Mirroring and Duplexing(相互镜像)对比RAID 0等级,我们能发现硬盘的内容是两两相同的 。这就是镜像——两个硬盘的内容完全一样 , 这等于内容彼此备份 。比如阵列中有两个硬盘,在写入时,RAID控制器并不是将数据分成条带而是将数据同时写入两个硬盘 。这样,其中任何一个硬盘的数据出现问题,可以马上从另一个硬盘中进行恢复 。注意 , 这两个硬盘并不是主从关系,也就是说是相互镜像/恢复的 。
RAID 1已经可以算是一种真正的RAID系统,它提供了强有力的数据容错能力 , 但这是由一个硬盘的代价所带来的效果,而这个硬盘并不能增加整个阵列的有效容量 。下面总结一下RAID 1的特点:
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
RAID 2等级RAID-2结构图解
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息 由于说明码是位为基础进行校验的,那么在RAID2中,一个硬盘在一个时间只存取一位的信息 。没错,就是这么恐怖 。如图中所示 , 左边的为数据阵列,阵列中的每个硬盘一次只存储一个位的数据 。同理 , 右边的阵列(我们称之为校验阵列)则是存储相应的汉明码,也是一位一个硬盘 。所以RAID 2中的硬盘数量取决于所设定的数据存储宽度 。如果是4位的数据宽度(这由用户决定) , 那么就需要4个数据硬盘和3个汉明码校验硬盘,如果是64位的位宽呢?从上文介绍的计算方法中,就可以算出来,数据阵列需要64块硬盘,校验阵列需要7块硬盘 。在写入时 , RAID 2在写入数据位同时还要计算出它们的证明码并写入校验阵列,读取时也要对数据即时地进行校验,最后再发向系统 。通过上文的介绍,我们知道汉明码只能纠正一个位的错误 , 所以RAID 2也只能允许一个硬盘出问题,如果两个或以上的硬盘出问题,RAID 2的数据就将受到破坏 。但由于数据是以位为单位并行传输,所以传输率也相当快 。RAID 2是早期为了能进行即时的数据校验而研制的一种技术(这在当时的RAID 0、1等级中是无法做到的),从它的设计上看也是主要为了即时校验以保证数据安全 , 针对了当时对数据即时安全性非常敏感的领域 , 如服务器、金融服务等 。但由于花费太大(其实,从上面的分析中可以看出如果数据位宽越大,用于校验阵列的相对投资就会越?。?就如上面的4:3与64:7),成本昂贵,目前已基本不再使用,转而以更高级的即时检验RAID所代替,如RAID 3、5等 。
现在让我们总结一下RAID 2的特点:
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
RAID-3等级
RAID-3结构图解
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
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全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
RAID-4等级
RAID-4结构图解
raid全面介绍和详细分析的区别

文章插图
按此查看图片详细信息
Independent Data disks with shared Parity disk(独立的数据硬盘与共享的校验硬盘)RAID 3 英文定义是Parallel transfer with parity,即并行传输及校验 。与之相比,RAID 4则是一种相对独立的形式,这也是它与RAID 3的最大不同 。与RAID 3相比,我们发现关键之处是把条带改成了"块" 。即RAID 4是按数据块为单位存储的,那么数据块应该怎么理解呢?简单的话,一个数据块是一个完整的数据集合,比如一个文件就是一个典型的数据块 。RAID 4这样按块存储可以保证块的完整,不受因分条带存储在其他硬盘上而可能产生的不利影响(比如当其他多个硬盘损坏时 , 数据就完了) 。不过 , 在不同硬盘上的同级数据块也都通过XOR进行校验,结果保存在单独的校验盘 。所谓同级的概念就是指在每个硬盘中同一柱面同一扇区位置的数据算是同级 。在写入时,RAID就是按这个方法把各硬盘上同级数据的校验统一写入校验盘,等读取时再即时进行校验 。因此即使是当前硬盘上的数据块损坏,也可以通过XOR校验值和其他硬盘上的同级数据进行恢复 。由于RAID 4在写入时要等一个硬盘写完后才能写一下个,并且还要写入校验数据所以写入效率比较差,读取时也是一个硬盘一个硬盘的读,但校验迅速,所以相对速度更快 。总之 , RAID 4并不为速度而设计 。
RAID 4的特点:
raid全面介绍和详细分析的区别

文章插图
RAID-5等级
RAID-5结构图解
raid全面介绍和详细分析的区别

文章插图
Independent Data disks with distributed parity blocks(独立的数据磁盘与分布式校验块)今天我们将介绍在高级RAID系统中最常见的等级——RAID 5,由于其出色的性能与数据冗余平衡设计而被广泛采用 。与RAID 3、4一样,它也是一种即时校验RAID系统,但设计更为巧妙,而管理也相对复杂 。其结构见图:与RAID 4相对照,我们可以发现它仍采用了数据块的存储方式,但没有独立的校验硬盘,这是因为它在每个独立的数据盘中都开辟了单独的区域用于存储同级数据的XOR校验数据,至于什么是同级数据 , 在上一期中已经讲过了 。在写入时 , 同级校验数据将即时生成并写入,在读取时,同级校验数据也将被即时读出并检查源数据的正确性 。从图中可以发现,RAID 5的硬盘利用率较高,数据吞吐量比较容易得到发挥 。RAID 5是目前最常用的高级RAID等级 , 是RAID 3、4的理想替代者 , 许多高档RAID控制器都提供了对RAID 5的支持 , 并以此作为高档RAID系统的标志 。
RAID 5的特点:
raid全面介绍和详细分析的区别

文章插图
RAID-6等级
RAID-6结构图解
raid全面介绍和详细分析的区别

文章插图
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全面介绍和详细分析的区别

文章插图
RAID-7等级
RAID-7结构图解
raid全面介绍和详细分析的区别

文章插图
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全面介绍和详细分析的区别

文章插图
RAID-10等级
RAID-7结构图解
raid全面介绍和详细分析的区别

文章插图
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全面介绍和详细分析的区别

文章插图
RAID-53等级
RAID-7结构图解
raid全面介绍和详细分析的区别

文章插图
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等级,比如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两种模式的阵列,具体结构见下面的图:
raid全面介绍和详细分析的区别

文章插图
很明显,以这新闻的例子分析,每个硬盘分出40GB分别用于RAID 0和1,用于RAID 0的是分区C,容量是40+40=80GB,用于RAID 1的是分区D,容量是(40+40)/2=40GB 。由于Matrix RAID还没有真正交付应用,我们在此也就不具体介绍了 。
PAGE
【raid全面介绍和详细分析的区别】