4.06 RAID5的数据排列算法:

     RAID阵列的数据分布有以下4种算法,分别是左对称、右对称、左非对称、右非对称,而RAID5默认使用左对称的数据分布算法。

 Left Asymmetric左非对称              Right Asymmetric右非对称

sda1 sdb1 sdc1 sde1                  sda1 sdb1 sdc1 sde1

 D0   D1   D2   P                    P    D0   D1   D2

 D3   D4   P    D5                    D3   P    D4   D5

 D6   P    D7   D8                    D6   D7   P    D8

 P    D9   D10  D11                   D9   D10  D11  P     

 D12  D13  D14  P                     P    D12  D13  D14

=================================================================

 Left Symmetric左对称               Right Symmetric右对称

sda1 sdb1 sdc1 sde1                sda1 sdb1 sdc1 sde1

 D0   D1   D2   P                  P    D0   D1   D2

 D4   D5   P    D3                 D5   P    D3   D4

 D8   P    D6   D7                 D7   D8   P    D6

 P    D9   D10  D11                D9   D10  D11  P

 D12  D13  D14  P                  P    D12  D13  D14

     在使用mdadm创建RAID阵列时,可以使用--layout=来指定数据和奇偶校验信息在阵列如何分布存储,此处的有如下4个参数:

     Left-asymmetric:对照上面的左非对称算法的数据分布实例,该算法描述的数据分布是,在阵列上从第一个阵列段到最后一个阵列段依次的存入数据块,与此同时,奇偶校验块P也从最后一个阵列段到第一个阵列段依次写入。

     Right-asymmetric:数据块在阵列上从第一个阵列段到最后一个阵列段依次的存入数据块,与此同时,奇偶校验块P也从第一个阵列段到最后一个阵列段依次写入。

     Left-symmetric:这个是RAID5默认的分布算法,也是对于读请求性能最佳的数据分布机制。奇偶校验信息P从最后一个阵列段到第一个阵列段依次写入。数据块从左向右写,且每行的数据块都先在校验块P后面开始写,直到写满。

     Right-symmetric:奇偶校验信息P从第一个阵列段到最后一个阵列段依次写入。数据块从左向右写,且每行的数据块都先在校验块P后面开始写,直到写满。