Chinaunix首页 | 论坛 | 博客
  • 博客访问: 296241
  • 博文数量: 120
  • 博客积分: 2015
  • 博客等级: 大尉
  • 技术积分: 1350
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-13 17:27
文章分类

全部博文(120)

文章存档

2010年(11)

2009年(109)

我的朋友

分类:

2009-11-24 10:34:13

从DATAONTAP 6.5版开始,NetApp推出了双校验RAID,叫做RAID DP(Dual Protection,双磁盘保护)。本文给出RAID DP的双磁盘故障恢复过程,说明RAID DP如何做到既能不间断地提供数据访问,又能同时对两块故障磁盘上损失的数据进行重建。
在本质上,RAID DP基于传统的RAID4技术,并采用两个固定的校验磁盘:水平校验磁盘和对角校验磁盘。水平校验磁盘对RAID DP中的数据磁盘处于同一水平方向条带的奇偶校验值进行存储,而对角校验磁盘则对RAID DP中的数据磁盘和水平校验磁盘在处于对角线方向条带的奇偶校验值进行存储。通过这两种奇偶校验条带,即使RAID DP中有两个磁盘发生故障,也能得到数据保护。
RAID DP的实现思路类似于EVEN-OLD,只是由于RAID DP将水平校验磁盘纳入到对角奇偶校验值的计算当中,因此它将磁盘的条带划分为 的矩阵(m为素数),而不是象EVEN-OLD中那样的 矩阵。
在RAID DP中,仍然使用了传统的RAID4水平奇偶校验结构,并且这种结构已成为RAID DP结构的子集。实际上,如果是单一磁盘故障,或是从坏数据块中的读取错误,或者出现误码,那么RAID4的行奇偶校验方法就是进行数据恢复的唯一手段,无需采用RAID DP。在这种情况下,RAID DP的对角线奇偶校验组件仅仅是行奇偶校验组件周围的保护层。
下图给出了在m为5时RAID DP的条带化模型,以及各个条带在某时刻的数据"快照"。第一列至第四列对应四个数据磁盘,第五列为水平校验磁盘,其数据由各行的数据磁盘计算得到,例如第一行11+01+10+11为11。第六列为对角校验磁盘,其数据由同一对角线上数据磁盘和水平校验磁盘计算得到,例如纯灰色对角11+01+01+10=01。
图 2-18 RAID6恢复实例--正常布局
Figure 2-18 How RAID6 Recover from Disaster: Normal Layout
假设这时有两个数据磁盘(磁盘1和磁盘2)损坏,反映在图中,第一、二列中的所有数据都丢失了,用黑色圆圈标志。
图 2-19 RAID6恢复实例--磁盘故障
Figure 2-19 How RAID6 Recover from Disaster: Disk Error
RAID DP首先会寻找一个链来开始重建。务必记住,当在RAID4下为单一磁盘故障重建数据时,只有在丢失的元素不超过一个时,重建才有可能。记住这一点后,我们可以看到,图中正斜线表示的条带所在的对角线上只丢失了五个块中的一个(磁盘2的正斜线条带),借助于仍然存在的四个条带,可以重建丢失块中的数据(10+10+01+00=01)。接下来的图表反应了这个数据被恢复到备用磁盘上的情况。
图 2-20 RAID6恢复实例--第一轮
Figure 2-20 How RAID6 Recover from Disaster: the First Run
在恢复了磁盘2正斜线条带的数据后,我们可以看到第一行所在的水平方向上五个数据有了四个,恢复过程从对角奇偶校验转换至使用水平奇偶校验,即利用第五列水平校验磁盘来恢复第一行丢失的条带。下图表明磁盘1纯灰色条带的数据已经被恢复到备用磁盘上(01+10+11+11=11)。
图 2-21 RAID6恢复实例--第二轮
Figure 2-21 How RAID6 Recover from Disaster: the Second Run
 无论是水平奇偶校验,还是对角奇偶校验,数据重建均使用XOR算法。下面两个图依次从对角方向和水平方向恢复了磁盘2纯灰色条带(11+01+10+01=01)和磁盘1纯白色条带(01+10+01+11=01)。
图 2-22 RAID6恢复实例--第三轮
Figure 2-22 How RAID6 Recover from Disaster: the Third Run
这时,似乎问题出现了。与我们前面所注意到的一样,对角校验磁盘并没有存储纯白色对角方向的奇偶校验数据,当前链中没有额外的条带来重建磁盘2的纯白色条带。RAID DP将开始寻找新的链以开始重建,这时找到反斜线表示的条带所在的对角线,利用现存的其余四个条带恢复出磁盘1反斜线条带(10+01+10+00=01),如下图所示。
图 2-23 RAID6恢复实例--第四轮
Figure 2-23 How RAID6 Recover from Disaster: the Forth Run
之后的恢复过程类似于前面,RAID DP依次从水平校验磁盘重建出磁盘2的交斜线条带(01+11+10+01=01),接着从对角校验磁盘重建出磁盘1的交斜线条带(01+11+11+11=10),最后又从水平校验磁盘重建出磁盘2的纯白色条带(10+01+10+10=11),至此,所有黑色圆圈中的数据都都被重建了,RAID DP又回到正常状态。
阅读(1028) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~