对于RAID5,我们采用和RAID0的分析方法分析,但是RAID5增加了校验块,校验块分散存储在每个成员盘上,校验块是其他数据块进行 XOR运算得出的,所以在RAID5中如果成员盘中有一块盘的数据出现问题,那么就可以通过其他盘上的数据进行XOR运算后推算出出现问题的成员盘上的数据,这样就增加了RAID5的安全性。这里根据RAID5中校验块的位置,RAID5就有左循环和右循环之分。我们又D表示数据块,用P表示校验块,如下图,每一行代表一个条带,每个单元格代表一个存储块。
0号盘 | 1号盘 | 2号盘 |
D0 | D1 | P0 |
D2 | P1 | D3 |
P2 | D4 | D5 |
校验块的写入顺序是向左循环的,我们就管具有这样的校验块顺序的RAID5叫左循环。
0号盘 | 1号盘 | 2号盘 |
P0 | D0 | D1 |
D2 | P1 | D3 |
D4 | D5 | P2 |
这个RAID5的校验块是向右循环的,我们就叫做右循环。
异步和同步:
如上图所示,不论左循环还是右循环,他们的数据块都是顺序写入的,系统并没有考虑校验块的位置,我们把这样的RAID5叫做异步RAID5。那么第一个图就可以叫做左循环异步RAID5了而第二个图就叫做右循环异步RAID5了。
0号盘 | 1号盘 | 2号盘 |
D0 | D1 | P0 |
D3 | P1 | D2 |
P2 | D4 | D5 |
这种就叫做左循环同步RAID5. 因为系统在写入数据块时会先考虑校验块在条带上的位置,找到校验块后,就从校验块的下一个块写入数据,这就是D2数据块写在2号盘上,D3数据块写在0号盘上的原因。
0号盘 | 1号盘 | 2号盘 |
P0 | D0 | D1 |
D3 | P1 | D2 |
D4 | D5 | P2 |
同理,这样的就叫做右循环同步RAID5 ,在以后的教程中将以实际列子的方式向大家简绍RAID5的具体数据结构。