RAID6前景分析

--Party 3

Rechard Luo

一、硬件方案

clip_image002

图-1 IOP333模块图

由于RAID6要计算P+Q两层校验,如果全部由CPU来处理该计算,显然相当影响系统性能;因此可以设计专门的硬件模块来完成校验计算,比如Intel就专门设计了Xscale IOP芯片,来处理存储应用,下面就以IOP333为例进行讲解。

IOP333是基于ARM架构的处理器,它支持多功能设备,最有特色的是加入了应用加速器单元(Application Accelerator Unit),如图-1中红框部分。该模块主要完成校验计算,如图-2所示:

clip_image004

图-2 应用加速器模块图

它通过其控制寄存器,提供给系统软件操作AAU的接口;而其中的数据队列、布尔运算单元,以及填充/不填充单元来处理数据,并通过总线接口单元来和整个系统总线进行数据的交换和传输。

很多RAID厂商都采用Xscale来设计硬件RAID,从而提供高性能、高可靠性的存储产品。

二、软件方案

除了上述的硬件解决方案之外,在Linux下的MD (Linux下的Software RAID)也支持软件的RAID6解决方案,它通过系统CPU来完成RAID6的P+Q校验计算,从而会影响到系统性能;但是通过和Linux下的存储模块紧密结合,并采用一定的优化策略,它也可以达到一定的性能需求,满足大部分的应用。

目前,MD已经被放到大部分2.6.x系列内核中,并提供和RAID5类似的一些算法,如:

a) 左对称算法(LEFT_SYMMETRIC);

b) 左不对称算法(LEFT_ASYMMETRIC);

c) 右对称算法(RIGHT_SYMMETRIC);

d) 右不对称算法(RIGHT_ASYMMETRIC);

通过下面图-3和图-4进行对比。

clip_image006

图-3 左对称和左不对称算法

通过图-3的对比,可以看出在左对称和左不对称中,D3的存放位置是有差别的。也就是说,在左对称时D3是立即放在校验数据后的那个磁盘中,而左不对称是还是放在整个RAID的第一个逻辑磁盘中。

clip_image008

图-4 右对称和右不对称算法

右对称和左对称的最大差别就是在于P和Q校验的存放位置,通过对比图-3和图-4很容易找到两者的差别。而对称与不对称仍然采用上面图-3中的数据放置原理。

MD驱动是集成到Linux内核的一个模块,管理员可以通过mdadm应用程序来进行管理和配置。

三、前景分析

RAID技术是为了防止存储系统因为磁盘故障而丢失数据而研发出来的。和RAID 5不同的是RAID 6有两份检验数据,可以保证同一RAID组中两块磁盘同时出现故障而不丢失数据。然而,在RAID组中第二块磁盘出现故障需要重建两块磁盘时,RAID6控制器的性能就大打折扣,这就限制了RAID6系统的可用性,导致了一些厂商放弃了对RAID6控制器的使用。

RAID 6性能受损是因为RAID6 技术采用双重奇偶校验技术以确保在两个磁盘驱动器同时都出现故障的时候系统运行不中断,而RAID6控制器一次只能运算一个校验位。

RAID 6系统已经问世有一段时间了,DataDirect Networks声称在过去10个月中售出的RAID6系统的容量已经超过20PB。其他厂商,比如Adaptec、Promise Technology、HighPoint Technologies都在最近推出了RAID6系统。

另外,Dot Hill、Infortrend、SGI、Xyratex也表示即将推出RAID6系统

但是也有不少厂商对RAID6提出异议,尤其是主流厂商。EMC在昨天发布的产品里没有RAID6支,EMC认为其他的高可用×××,比如metaLUNs、媒介扫描、故障隔离、更好的容灾恢复,都比RAID6能带来更多好处。

不足为奇,HDS采用了与EMC不同的策略。HDS公司的TagmaStore全线存储系统可以支持RAID 6。HDS CTO Hu Yoshida说,对于公司来说,利用低成本高性能的SATA硬盘如同生命线一样重要。

四、总结

被称为双重奇偶的RAID-6技术并不是一种新技术,它在理论上已经出现了大约20年。然而,直到最近,RAID-6技术才得到了实际应用,这多亏了功能更加强大的RAID处理器。迄今为止,RAID-6通过SATA技术在现实世界中获得了巨大成功。存储行业分析专家表示,未来的12~18个月将会出现SATA用户的采纳高峰期。

主要被用在中低端市场的高容量500GB和750GB的SATA磁盘,使RAID-6技术的使用变得更加必要。SATA磁盘的可靠性不高,经常发生双磁盘故障,并且驱动器本身也用于保持更多的数据,使得双磁盘故障潜在的更加具有破坏性

高性能的SATA驱动器应用于近线的以及入门层面的存储之中,这也意味着即使没有第二磁盘的故障,一个单独故障的修复状态也将对第二平台之上的数据产生损坏,专家说。驱动器本身的规模可以导致它比较长的改造时间,并且单一系统的性能也会出现一定的问题;意味着该系统将长时间的比较脆弱,直到第二故障的出现。

然而,厂家们如今提供了RAID-6的计划方案,例如Overland公司,Adaptec公司以及Nexsan公司,它们也都改为应用Reed-Solomon运算法则,这就使得双重奇偶可以通过在RAID团组中的每一个磁盘上使用一次输入输出而进行计算,这样以来,六个磁盘就只需要最少的六次输入输出。

其他的厂家中,最著名的是NetApp,它正在改变其包裹中的存储控制的方法,并读出磁盘中的数据以减少RAID-6输入输出负载。NetApp公司正在使用它的WAFL系统以将双奇偶数据安置于磁盘平台之上,从而RAID计算期间它可以更加简易的被控制者进行访问。

Overland通过一种称为DriveAlive的功能特色进入RAID-6领域之中,这是一种热交换的特色,当队列底盘中的一个磁盘刀片被取出来用于例行维护的时候,例如替换一个驱动器盘片,这时候它可以对整体的改造模式进行了延迟。DriveAlive减少了重建模式下的性能问题,而这主要通过减少事件数量而实现的,在此队列完全进入了重建模式。