与RAID 5相比,RAID 6增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁碟同时失效也不会影响数据的使用。但RAID 6需要分配给奇偶校验信息更大的磁碟空间,相对于RAID 5有更大的“写损失”,因此“写性能”非常差。较差的性能和複杂的实施方式使得RAID 6很少得到实际套用。
常见的RAID6组建类型 RAID 6(6D + 2P)
1 RAID 6(6D + 2P)原理
和RAID 5相似,RAID 6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁碟上。在图1中,D0,D1,D2,D3,D4和D5是条带化的数据,P代表校验数据,Q是第二份校验数据。
RAID 6校验数据生成公式(P和Q):
P的生成用了异或
P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5
Q的生成用了係数和异或
Q = A0*D0 XOR A1*D1 XOR A2*D2 XOR A3*D3 XOR A4*D4 XOR A5*D5
D0~D5:条带化数据
A0~A5:係数
XOR:异或
*:乘
在RAID 6中,当有1块磁碟出故障的时候,利用公式1恢複数据,这个过程是和RAID 5一样的。而当有2块磁碟同时出故障的时候,就需要同时用公式1和公式2来恢複数据了。
各係数A0~A5是线性无关的係数,在D0,D1,D2,D3,D4,D5,P,Q中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。这样在一个RAID组中有两块磁碟同时坏的情况下,也可以恢複数据。
上面描述的是校验数据生成的算法。其实RAID 6的核心就是有两份检验数据,以保证两块磁碟同时出故障的时候,也能保障数据的。
RAID 5也是一种具容错能力的RAID 操作方式,但与RAID 3不一样的是RAID 5的容错方式不套用专用容错硬碟,容错信息是平均的分布到所有硬碟上。当阵列中有一个硬碟失效,磁碟阵列可以从其他的几个硬碟的对应数据中算出已掉失的数据。由于我们需要保证失去的信息可以从另外的几个硬碟中算出来,我们就需要在一定容量的基础上多用一个硬碟以保证其他的成员硬碟可以无误地重组失去的数据。其总容量为(N-1)x容量硬碟的容量。从容量效率来讲,RAID 5同样地消耗了一个硬碟的容量,当有一个硬碟失效时,失效硬碟的数据可以从其他硬碟的容错信息中重建出来,但如果有两个硬碟同时失效的话,所有数据将尽失。
RAID 0+1即由两组RAID 0的硬碟作RAID 1的镜像容错。虽然RAID 0+1具备有RAID 1的容错能力和RAID 0的容量性能。但RAID 0+1的容量效率还是与RAID 1一样只有50%,故同样地没有被普及使用。
RAID 1是硬碟镜像备份操作。由两个硬碟所组成。其中一个是主硬碟而另外一个是镜像硬碟。主硬碟的 数据会不停的被镜像到另外一个镜像硬碟上。由于所有主硬碟的数据会不停地镜像到另外一个硬碟上, 故RAID 1具有很高的冗余能力。达到的。可是正由于这个镜像做法不是以算法操作,故它的容量效率非常的低,只有50%。RAID 1只支持两个硬碟操作。容量非常有限,故一般只用于作业系统中。