发新话题
打印

RAID6原理

本主题由 awu 于 2008-7-7 16:31 设置高亮
存储系统的性能优化,需要考虑的是整个I/O Path,从Host的应用开始一直到HBA出去,从Network的转发,再到Array中的drive。
主要是找到bottle neck在那里,目前狠通用的方式基本都是设计相关的硬件来替代软件完成对应功能,像RAID里面,计算校验的加速器;当然整个系统里面的软件也是很重要的,也许几行关键的code就能将该模块的性能翻倍。

TOP

有些资料,给我看都没用,什么运算都看不懂,哈哈,拿出来给大家分享!
PPT不支持阿?

附件

PQTheory.rar (100.46 KB)

2006-7-25 12:35, 下载次数: 750

RAID-6 P+Q Basic Theory

欢迎加入存储者天空QQ群:8642832
存储者天空MSN群:13529
http://www.promise.com

TOP

资料比较老,都是04年的了,希望对想了解的有所帮助。
发完了才想起来自己有点不厚道阿,小P同志,别介意阿!

[ 本帖最后由 billylee 于 2006-7-25 13:19 编辑 ]

附件

RAID_Level_Performance.rar (114.91 KB)

2006-7-25 12:36, 下载次数: 752

RAID_Level_Performance

欢迎加入存储者天空QQ群:8642832
存储者天空MSN群:13529
http://www.promise.com

TOP

好文章,等待下文

TOP

想不到billy居然还有这等文章?

TOP

引用:
原帖由 万云亮 于 2006-7-25 14:19 发表
想不到billy居然还有这等文章?
是啊~~Intel在那个开发论坛上讲义啊?不错~~

TOP

引用:
原帖由 万云亮 于 2006-7-25 10:31 发表
所以 按照RAID6的设计,应该在理论上支持>2颗硬盘的损坏,也就是其中的M可以等于3,4,5......
我把老董的话简单理解一下(老董不要打我): 条带一次XOR(横的),校验位一次更复杂的算法GF+XOR(竖的)。
呵呵
Sorry,我没说清楚,P和Q都是横的。
看这个图。
P1=数据1a XOR 数据1b XOR 数据1c XOR 数据1d
Q1=1a的GF XOR 1b的GF XOR 1c的GF XOR 1d的GF

另外,M>2时,一般叫RAIDn,只有当M=2的时候才叫RAID6。

[ 本帖最后由 pekics 于 2006-7-25 16:32 编辑 ]

附件

R6.JPG (28.52 KB)

2006-7-25 16:30

R6.JPG

TOP

上回书说到P+Q的RAID6在Intel芯片里的实现。
其实P+Q只是一种算法,Intel IOP里面的硬件加速引擎并不是必须的。有一些产品就采用了PowerPC等不含P+Q引擎的CPU,一样不耽误P+Q RAID6功能。
GF转换表在软件里完成就是了。(不敢提女朋友的事了,怕Host说我~)

四、准RAID6技术

除了P+Q RAID6,还要好多种办法可以实现对两颗磁盘掉线的容错。
Billylee提供的Intel讲义中就提到一种Dual-XOR算法,这种方法就是取横向和斜向两个方向进行XOR运算,这样每个应用数据都在两个校验中留下痕迹,当两颗磁盘掉线时,就可以恢复数据。
但是Dual-XOR的恢复工作异常复杂艰苦,并不实用。很多技术人员研究这种算法的意义,完全是把它当作未经优化的原型思想。

如图,Pa是横向的校验,跟RAID5完全一样:
Pa1 = 数据a XOR 数据b
Pa2 = 数据c XOR 数据d
…………
Pa6 = 数据k XOR 数据l

Pb是斜向校验,定义为:
Pb4 = 数据a XOR Pa2 XOR数据f
Pb5 = 数据c XOR 数据e XOR Pa4
Pb6 = Pa3 XOR数据h XOR 数据j

可以看出Dual-XOR的校验生成过程比P+Q要简单,但是根据“麻烦守恒定律”,正向工作简单的事情,一般反向工作都会复杂。
备份和恢复一般也遵循这个规律。
(别跟我提CDP,那东西遵循的是广义麻烦守恒定律。每个I/O都打个时间标签,还都当宝贝存着不扔,这能是个不麻烦的事吗?Sorry,又扯远了。)
当两颗磁盘掉线的时候,Dual-XOR的算法只能支持逐个数据块的恢复,而且不同条带之间还要共同参与计算。
比如图中的磁盘1和2掉线,恢复数据e的时候,就要至少动用到数据f、Pb3、Pa4和Pb5。而数据c和Pa3的恢复还要依赖数据e的恢复。
总之恢复起来是件贼头痛的事情!

[ 本帖最后由 pekics 于 2006-7-25 20:45 编辑 ]

附件

Dual-XOR.JPG (20.23 KB)

2006-7-25 20:44

Dual-XOR.JPG

TOP

虽然Intel的Dual-XOR理论意义大于实际意义,但其改良的版本RAID-DP却已经被NetApp产品化。NetApp之所以喜欢这个类似Dual-XOR的RAID-DP算法,原因也很简单。
NetApp原本用的就是RAID4,而不是RAID5,其算法的中心思想就是每次I/O只跟两颗磁盘打交道就OK,自然就不会在乎RAID-DP中很多动作都只跟两、三颗磁盘打交道。
(这个思想也许在很多RAID5的Fans看来有点奇怪,难道不是磁头越多性能就越好吗?但是人家NetApp这么多年的经验都集中在WAFL文件系统上,而WAFL文件系统又是专门针对这种思想优化的。所以NetApp对这个略有异类的思想不仅没有放弃,而且越研究越起劲。)

[ 本帖最后由 pekics 于 2006-7-25 20:48 编辑 ]

附件

RAID-DP.JPG (133.76 KB)

2006-7-25 20:46

RAID-DP.JPG

TOP

这个递归式数据恢复机制简直像在玩RPG游戏,但是对WAFL文件系统来说,却的确是最合适的选择之一。

除了RAID-DP,还有X-Code编码、ZZS编码、Park编码……都可以看做是“准RAID6”。

下面这个图是X-Code的解释

P3x = 数据33 XOR 数据35 XOR 数据32
Px4 = 数据44 XOR 数据24 XOR 数据54
其他的校验是啥意思,不需要一一列出来了吧~


下接27楼

[ 本帖最后由 pekics 于 2006-7-26 17:37 编辑 ]

附件

Xcode.JPG (29.45 KB)

2006-7-25 21:03

Xcode.JPG

TOP

发新话题