Print

3par RAID 6分析

2天前发表

问题描述

3par 8440C具有8cage,每个node pair下具有4个硬盘柜


解决方法

创建了cage冗余,使用8块盘做raid 6cpg


使用此CPG创建一个50gvolume


showvvmap显示组成volumeLD


showld -d<LD_name>显示每个LD的具体信息,每个LD由每个node 单独管理


showldch -lformat set -linfo pdpos,pdch,pdid <LD_NAME>显示组成LDchunklet


分析:

vv_test.usr.0作为例子进行分析

对于第一个set,选择了28号,2号,22号,14号,30号,16号,20 号,0号磁盘(PDID)组成了一个raid

其中2号以及0号磁盘位于cage0

14号以及16号磁盘位于cage 1

28号以及30号磁盘位于cage 3

20号以及22号磁盘位于cage 2

所有的PDID都是偶数盘,即node 0选择node pair对连接的盘柜中的8块偶数盘组成了一个raid,此时当一个cage掉电,比如cage 3掉电后,28号以及30号磁盘此时无法使用,因为做的是raid 6,允许坏两块盘,因此数据还是能够正常访问的,但是如果坏了两个cageraid结构损坏,数据无法访问;

 

注意:

1LD由单个node 管理,当一个node 损坏以后,另一个node会进行接管,如vv_test.usr.0node 0接管,node 0 down 了以后,会由1,23进行接管

2、奇数node只能管理奇数盘,偶数node 只能管理偶数盘

3、对于raid 6的写惩罚:写入一个新的数据,raid1的写惩罚为2raid 5的写惩罚为4raid6的写惩罚为6.66,(当raid set长度为8的时候, 有三分之二的数据需要更新2parity(此时为写惩罚为6:读取旧数据,两个奇偶校验,写入旧数据,写入两个奇偶校验)而数据块的1/3用于计算3个奇偶校验(此时写惩罚为8,读取旧数据,三个奇偶校验,写入新数据与3个奇偶校验)即2/3*6+1/3*8=6.66

4raid  5的写惩罚:随机写入RAID 5卷将需要四个后端I / O。该过程开始于读取旧数据块和奇偶校验块(两次后端读取),并通过对新数据,旧数据和旧奇偶校验值进行XOR运算来计算新奇偶校验信息。然后将新数据和新奇偶校验写入后端,从而创建两个后端写入。

5raid  6的空间使用率:比如本实验:6/8=75%