[转帖]RAID 6底层原理探讨._Hadoop,ERP及大数据讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Hadoop,ERP及大数据讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 4625 | 回复: 0   主题: [转帖]RAID 6底层原理探讨.        下一篇 
kim
注册用户
等级:中校
经验:1729
发帖:222
精华:0
注册:2011-7-21
状态:离线
发送短消息息给kim 加好友    发送短消息息给kim 发消息
发表于: IP:您无权察看 2011-8-15 12:00:20 | [全部帖] [楼主帖] 楼主

1、概述& q! p, c7 q: W

 和RAID-5相似,RAID-6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上。在图1中,D0,D1,D2,D3,D4和D5是条带化的数据,P代表校验数据,Q是第二份校验数据。

}( r. J1 h
图1 RAID-6校验数据生成公式 9 x! S7 \' j0 B3 A: J1 f4 i) p# h! g


北京联动北方科技有限公司
图1RAID-6(6D + 2P)根据条带化的数据生成校验信息,条带化数据和校验数据一起分散存储到RAID组的各个磁盘上

j   3 k  E2 P9 t# G5 z3 - U


校验数据生成公式(P和Q): - c- o6 k2 Y3 @/ f2 C
P的生成用了异或

 P= D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5 4 j4 Q3 A3 {7 o) V/ ]+ y4 P! `/ p5 o


Q的生成用了系数和异或 6 }' t; I& S2 P" w6 Y

Q = A0*D0 XOR A0*D1 XOR A0*D2 XOR A0*D3 XOR A0*D4 XOR A0*D5 0 n0 ~; G& ~5 V8 C


D0~D5:条带化数据 ) C8 o) `  \! j8 y: f7 W
A0~A5:系数
 XOR:异或
 *:乘
 在RAID-6中,当有1块磁盘出故障的时候,利用公式1恢复数据,这个过程是和RAID 5一样的。而当有2块磁盘同时出故障的时候,就需要同时用公式1和公式2来恢复数据了。 ; j4 S2 ~! C, Z' t3 D
在图1中,各系数A0~A5是线性无关的系数,在D0,D1,D2,D3,D4,D5,P,Q中有两个未知数的情况下,也可以联列求解两个方程得出两个未知数的值。这样在一个RAID组中有两块磁盘同时坏的情况下,也可以恢复数据。
 上面描述的是校验数据生成的算法。其实RAID-6的核心就是有两份检验数据,以保证两块磁盘同时出故障的时候,也能保障数据的安全。 ; T6 C0 t+ d% L1 z9 m7 k, D0 Q

! ?% P* ?4 L; s* [


2、数据恢复流程
 2.1、从1块磁盘故障中恢复数据 9 P  t0 F: }% p- \- X

, `: P4 p1 X1 ?


当��1块磁盘出故障的时候,利用公式1恢复数据,这个过程不需要Q这部分校验数据,如图2所示,这个过程是和RAID 5一样的。 7 X% r) L, K$ y1 f4 K

' U! t1 g; p' o! }+ U5 s5 O5 \


 图2 在RAID-6(6D + 2P)中恢复D3数据 7 S% J; G- P2 ?

北京联动北方科技有限公司
图2在本图中展示了存放D3数据的盘出现故障的恢复过程

2 x5 ]/ D7 R6 U


公式: 3 J% _6 i' H/ `- T

D3 = D0 XOR D1 XOR D2 XOR P XOR D4 XOR D5 4 n7 k( C5 h: S) x


2.2、从2块磁盘故障中恢复数据
 当同时有2块磁盘故障的时候,需要同时用到公式1和公式2来恢复数据,如图3所示。
 图3在RAID-6(6D + 2P)中恢复D3和D4数据
]

北京联动北方科技有限公司1 B  m8 q9 j5 j! j1 z  ^
图3在本图中展示了存放D3和D4数据的盘出现故障的恢复过程

    公式1和公式2:

 P = D0 XOR D1 XOR D2 XOR D3 XOR D4 XOR D5
Q = A0*D0 XOR A0*D1 XOR A0*D2 XOR A0*D3 XOR A0*D4 XOR A0*D5 ; W: h$ x6 p4 d$ F. \& M# h6 o


D3和D4由解以上两个联立的方程得出结果
  数据分布
 如图4所示,通过条带化,把应用数据和校验数据打散到一个RAID组的8个磁盘中,可以充分保证读写性能和数据的安全性。
   图4 RAID-6的数据分布 ' P. I; x1 N$ y  m

北京联动北方科技有限公司* F1 @0 g2 k& Z0 l4 P
图4RAID-6可以保证同一个RAID组中两块磁盘故障的情况下的数据安全




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论