RAID-5是使用最为广泛的一种RAID级别,其结构也比较复杂,根据其数据组织方式的不同,RAID-5可以分为左异步、左同步、右异步、右同步等结构,本节将详细讲述。
RA1D-5跟RAID-4 —样,数据以条带为单位分布到各个硬盘上,RA1D-5和RAID-4的最大区別在于RAID-5不是把所冇的校验块集中保存在一个专门的校验盘中,而是分散 到所有的数据盘中,其数据分布情况下图所示。
从上图可以看到,RAID-5的校验码存在于所有磁盘上,其中P0为数据条带0、1的校验值,P1为数据2、3的校验值,P2为数据4、5的校验值。
RAID-5的冗余性不错,当一块成员盘离线后,数据依然能够保持完整性。
在读写性能方面,因为每一个写操作都需要计算校验并写入校验,所以写性能稍差一 些,但读取性能很好。
另外由于RA1D-5的每个条带组中都有一个条带用来写校验,所以所有校验条带加在一起刚好占用一块物理盘的空间,也就是说RAID-5逻辑盘的容18:等于所有物理盘容量的 总和减去一块物理盘的容量。
RA1D-5的应用很广泛,是所有RAID级别中应用最多的,下面来具体讲解一下校验值的算法。RAID-5的校验值采用的足异或算法,异或运算是二进制数值间的一种兑法,其运 算符号为XOR,或者用“⊕”表示。运算组合有以下四种:
0⊕0=0
0⊕1=1
1⊕0=1
1⊕1=0
图1-27中的P0就是数据条带0?数据条带1的结果;P1就是数据条带2 e数据条带3的结果:P2就是数椐条带4?数据条带5的结果。因为一个异或运算式中的任一数值都能由K他数值通过异或运算得到,所以当缺失一个数值时,用剩下的数值经过异或运算就能 得到缺失的数值了,这就是RAID-5能够缺失一块盘的道理。
多个数字同时进行异或运算时,有两个特点:
(1) 运算结果与运算顺序无关。
例如:(a⊕b)⊕c = a⊕(b⊕c)。
(2) 各个参与运算的数字与结果循环对称。
例如a ⊕ b ⊕ c = d,那么可以得到:
a=b ⊕ c ⊕ d
b=a ⊕ c ⊕ d
c=a ⊕ b ⊕ d
RAID-5之所以能够容错,就是利用了异或运算的这些特点,比如将上面例子中的a、b、c、d看作是RAID-5四块成员盘上的条带,其中三个是数据条带,剩下一个是校验条带,如果脊一块成员盘离线,不管哪个条带丢失了,都吋以用剩下的F个条带经过异或计兑 出来。
RAID-5的校验条带被分散保存在不同的成员盘中,这样就可以确保任何对校验条带进行的读写操作都会在所有的成员盘屮进行均衡,从而避免了 RA1D-4的瓶颈。
本文系转载,如有侵犯版权问题,请通知。我们立即删除。
转载请注明:成都千喜数据恢复中心 » RAID-5数据组织原理