I come, I see, I conquer

                    —Gaius Julius Caesar

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::


RAID 0无校验和镜像块级数据分割)不提供冗余,提供更高的性能和更大的存储空间,无容错能力。一个驱动器发生故障,破坏整个阵列,因为当数据被写入到RAID 0卷,数据被分解成称为块碎片。分割大小决定块数,这是一个阵列的配置参数。块被同时写入各自的驱动器的同一扇区。整个数据块的小部分在每个驱动器并行被读出,增加了带宽。 RAID 0不执行错误检查,所以任何错误是无法纠正的。更多的驱动器阵列,意味着更高的带宽,但数据丢失的风险更大,只要坏了一个盘,所有数据丢失

阵列中所有硬盘可以同步访问,在所有的级别中,RAID 0的速率是最快的。RAID 0没有冗余的记录恢复用数据,所以没有容错功能。RAID 0代表了RAID系统的高性能、低成本方案,适用于低成本、低可靠性的台式系统,在这里,高速的数据吞吐比可靠性更重要。(高性能、低可靠低成本

计算:实际可用空间 = 总磁盘容量。至少1个盘。

 

RAID 1(无奇偶校验和数据分割的镜像),相同的数据被写入多个驱动器,从而产生一种“镜像集”,要求至少有两个驱动器构成这样的一个数组。除非拥有相同资料的主磁盘与镜像同时损坏,否则只要一个磁盘正常即可维持运作,可靠性最高。RAID 1就是镜像。其原理为在主硬盘上存放数据的同时也在镜像硬盘上写一样的数据。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但无论用多少磁盘做RAID 1,仅算一个磁盘的容量,是所有RAID上磁盘利用率最低的一个级别。

RAID 1采用镜像容错来提高可靠性,既每一个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,从镜像盘读出数据,然后由系统再恢复工作盘正确数据。因此这种方式数据可以重构,可靠性最高,但工作盘和镜像盘必须保持一一对应的关系。RAID 1可靠性极高,但其有效容量很低,常用于出错率要求极严格的应用场合。(高可靠、高成本

计算:实际可用空间 = 总磁盘容量的*(1/2)。至少2个盘。

 

 

RAID 2(位级专用海明码校验的数据分割),所有的磁盘主轴旋转是同步的,数据是分割的,每个顺序位在不同的驱动器上。海明码校验跨越相应位计算,至少有一个奇偶校验驱动器上存储。

 

 

RAID 3(字节级专用奇偶校验的数据分割),所有的磁盘主轴旋转是同步的,每个连续的字节在不同的驱动器上。跨越相应的字节和奇偶校验计算,存储专用奇偶校验驱动器上。

RAID 3支持阵列中多硬盘的同步访问,整个阵列的带宽可以充分利用,在要求大块数据顺序传送时比较理想,如图形、图像、科学计算等应用。缺点是每次读写要牵动整个组,每次只能完成一次I/O,所以作为文件服务器共享时性能不好。

 

 

RAID 4(块级专用的奇偶校验的数据分割)与RAID 5相同,但所有的校验数据存储在专用的驱动器上。在此设置中,文件可以分布在多个驱动器。每个驱动器独立运作,使I/O请求被并行执行。然而,使用专用奇偶校验驱动器会产生性能瓶颈,因为校验数据必须写入到一个专用的奇偶校验驱动器,总体写性能可能取决于这个奇偶校验驱动器的性能。

 

RAID 5(块级分布式奇偶校验的数据分割)RAID Level 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。它使用的是Disk Striping(硬盘分割)技术。RAID 5 至少需要三颗硬盘, RAID 5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据RAID 5可以理解为是RAID 0和RAID 1的折衷方案。RAID 5可以为系统提供数据安全保障,但保障程度要比镜像低而磁盘空间利用率要比镜像高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度相当的慢,若使用“回写快取”可以让效能改善不少。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较便宜。

计算:实际可用空间 = [(n-1)/n]*总容量 = (n-1) * 单个盘容量 ,n为盘个数。至少3个盘。

 

 

RAID5校验位算法原理
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn为数据块,P为校验,xor为异或运算)
XOR(Exclusive OR)的校验原理如下表:
A值
B值
Xor结果
0
0
0
1
0
1
0
1
1
1
1
0
这里的A与B值就代表了两个位,从中可以发现,A与B一样时,XOR结果为0,A与B不一样时,XOR结果就是1,而且知道XOR结果和A与B中的任何一个数值,就可以反推出另一个数值。比如A为1,XOR结果为1,那么B肯定为0,如果XOR结果为0,那么B肯定为1。这就是XOR编码与校验的基本原理。
 
用简单的语言来表示,至少使用3块硬盘(也可以更多)组建RAID5磁盘阵列,当有数据写入硬盘的时候,按照1块硬盘的方式就是直接写入这块硬盘的磁道,如果是RAID5的话这次数据写入会根据算法分成3部分,然后写入这3块硬盘,写入的同时还会在这3块硬盘上写入校验信息,当读取写入的数据的时候会分别从3块硬盘上读取数据内容,再通过检验信息进行校验。当其中有1块硬盘出现损坏的时候,就从另外2块硬盘上存储的数据可以计算出第3块硬盘的数据内容。也就是说raid5这种存储方式只允许有一块硬盘出现故障,出现故障时需要尽快更换。当更换故障硬盘后,在故障期间写入的数据会进行重新校验。 如果在未解决故障又坏1块,那就是灾难性的了
 


RAID 6(块级双分布式奇偶校验的数据分割)与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和复杂的实作方式使得RAID 6很少得到实际应用。同一阵列中最多容许两个磁盘损坏。更换新磁盘后,资料将会重新算出并写入新的磁盘中。依照设计理论,RAID 6必须具备四个以上的磁盘才能生效。

 

RAID 10/01
RAID 10/01其实可细分为RAID 1+0或RAID 0+1。
RAID 1+0是先镜射再分割资料。是将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。RAID 1+0有着不错的读取速度,而且拥有比RAID 0更高的资料保护性。
RAID 0+1则是跟RAID 1+0的程序相反,是先分割再将资料镜射到两组硬盘。它将所有的硬盘分为两组,变成RAID 1的最低组合,而将两组硬盘各自视为RAID 0运作。RAID 0+1比起RAID 1+0有着更快的读写速度,不过也多了一些会让整个硬盘组停止运转的机率;因为只要同一组的硬盘全部损毁,RAID 0+1就会停止运作,而RAID 1+0则可以在牺牲RAID 0的优势下正常运作。
RAID 10巧妙的利用了RAID 0的速度以及RAID 1的保护两种特性,不过它的缺点是需要的硬盘数较多,因为至少必须拥有四个以上的偶数硬盘才能使用。

                   

 计算:实际可用空间 = 总磁盘容量的*(1/2)。至少四个盘。

 

 

RAID级别的比较


参考:http://zh.wikipedia.org/wiki/RAID

        http://en.wikipedia.org/wiki/RAID

 

 

posted on 2012-03-02 13:02  jcsu  阅读(881)  评论(0)    收藏  举报