下面将各个级别的RAID介绍如下。
RAID 0
即Data Stripping数据分条技术,又称条带化(Stripe)存储。RAID 0可以把多块硬盘串连成一个容量更大的集群,从而显著提高磁盘的性能和吞吐量。这里需要注意的是RAID 0没有冗余或错误修复能力,但是成本低,要求至少两个磁盘,这种架构一般只是在那些对数据安全性要求不高的情况下才被使用。RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,在所有的级别中,RAID 0的速度是最快的。理论上说,有N个磁盘组成的RAID0是单个磁盘读写速度的N倍。但是RAID 0没有冗余备份功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。因此严格来说并不能算是狭义上的RAID结构。
(1) RAID 0简易架构
就是把N块同样的硬盘用硬件的形式通过智能磁盘控制器或用操作系统中的磁盘驱动程序以软件的方式串联在一起,形成一个单独的逻辑驱动器,容量是单独硬盘的N倍,在数据写入时被依次写入到各磁盘中,当一块磁盘的空间用尽时,数据则会被自动写入到下一块磁盘中,它的好处是可以增加磁盘的容量。速度与其中任何一块磁盘的速度相同,如果其中的任何一块磁盘出现故障,整个系统将会受到破坏,可靠性是单独使用一块硬盘的1/n。
(2) RAID 0的另一架构
是用N块硬盘选择合理的带区大小创建带区集,最好是为每一块硬盘都配备一个专门的磁盘控制器,在电脑数据读写时同时向N块磁盘读写数据,速度提升n倍。提高系统的性能。
RAID 1
镜象(Mirror)存储。把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和贝中读取数据,因此RAID 1可以提高读取性能。RAID 1是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
(1)、RAID 1的每一个磁盘都具有一个对应的镜像盘,任何时候数据都同步镜像,系统可以从一组镜像盘中的任何一个磁盘读取数据。
(2)、磁盘所能使用的空间只有磁盘容量总和的一半,系统成本较高。
(3)、只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
(4)、出现了故障的RAID系统可靠性不足,必须及时的更换故障硬盘,否则等到剩余的镜像盘也出现故障,那么整个系统就无法继续使用。
(5)、加入新盘后原有数据会需要很长时间同步数据读写,外界对数据的访问不会受到影响,只是这时整个系统的性能有所下降。
(6)、RAID 1对于硬盘控制设备的负载相当大,用多个硬盘控制设备可以提高数据的安全性和可用性。在可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%。当原始数据繁忙时,可直接从镜像拷备。
RAID 2
又称海明码(Hamming Code)校验条带存储。将数据条块化地分布于不同的硬盘上,条块单位为位或字节,使用称为海明码来提供错误检查及恢复。这种编码技术需要多个磁盘存放检查及恢复信息,使得RAID 2技术实施更复杂,因此在商业网站项目中很少使用。
RAID 3
又称奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为字节。RAID 3是以一个硬盘来存放数据的奇偶校验位,数据则分段存储于其余硬盘中。它象RAID 0一样以并行的方式来存放数,但速度没有RAID 0快。如果数据盘(物理)损坏,只要将坏硬盘换掉,RAID控制系统则会根据校验盘的数据校验位在新盘中重建坏盘上的数据。不过,如果校验盘(物理)损坏的话,则全部数据都无法使用。利用单独的校验盘来保护数据虽然没有镜像的安全性高,但是硬盘利用率得到了很大的提高,为n-1。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈。导致读写速度减慢。
RAID 4
也是奇偶校验(XOR)条带存储,共享校验盘,数据条带存储单位为块。RAID 4同样也将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。
RAID 5
奇偶校验(XOR)条带存储,校验数据分布式存储,数据条带存储单位为块。RAID 5不单独指定的奇偶盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息。在RAID 5上,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5更适合于小数据块和随机读写的数据。RAID 3与RAID 5相比,最主要的区别在于RAID 3每进行一次数据传输就需涉及到所有的阵列盘;而对于RAID 5来说,大部分数据传输只对一块磁盘操作,并可进行并行操作。在RAID 5中有“写损失”,即每一次写操作将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。
RAID 5把校验块分散到所有的数据盘中。它使用了一种特殊的算法,可以计算出任何一个带区校验块的存放位置。这样就可以确保任何对校验块进行的读写操作都会在所有的RAID磁盘中进行均衡,从而消除了产生瓶颈的可能。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。RAID 5提高了系统可靠性,但对数据传输的并行性解决不好,而且控制器的设计也相当困难。为了具有RAID-5级的冗余度,需要最少由三个磁盘组成的磁盘阵列(不包括一个热备用)。RAID-5可以通过磁盘阵列控制器硬件实现,也可以通过某些网络操作系统软件实现了。硬盘的利用率为n-1。 当进行恢复时,比如我们需要需要恢复下图中的A0,这里就必须需要B0、C0、D0加0 parity才能计算并得出A0,进行数据恢复。所以当有两块盘坏掉的时候,整个RAID的数据失效。
RAID 6
奇偶校验(XOR)条带存储,两个分布式存储的校验数据,数据条带存储单位为块。与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实施方式使得RAID 6很少得到实际应用。
RAID 7
这是一种全新的RAID架构,由于其自身就带有实时操作系统和用于存储管理的软件工具,可完全独立于主机运行,且不占用主机CPU资源。RAID 7可以看作是一种小型存储计算机,使得它与其他RAID架构相比较更为先进。
RAID 7等级是目前为止是理论上性能最高的RAID架构,因为它从组建方式上就已经和以往的方式有了极大的不同。基本成形式见图,以往一个硬盘是一个组成阵列的“柱子”,而在RAID 7中,多个硬盘组成一个“柱子”,它们都有各自的通道,也正因为如此,你可以把这个图分解成一个个硬盘连接在主通道上,只是比以前的等级更为细分了。这样做的好处就是在读/写某一区域的数据时,可以迅速定位,而不会因为以往因单个硬盘的限制同一时间只能访问该数据区的一部分,在RAID 7中,以前的单个硬盘相当于分割成多个独立的硬盘,有自己的读写通道。