存储 频道

详谈RAID 6加速引擎

  【IT168 技术】本人很喜欢RAID 6加速引擎,在工作中也很喜欢总结关于RAID 6加速引擎的经验教训,下面就这个问题来详细说说吧。记得曾有厂商在宣传其RAID 6加速引擎时称,可以让RAID 6的性能达到RAID 5的99%。就顺序读和随机读而言这不难做到,但对随机写是不成立的,因为RAID 6在增加了可靠性的同时,牺牲了部分随机写性能。

  在随机写操作时,拥有同样多硬盘驱动器的RAID组中,RAID 6所花费的时间是RAID 5的1.5倍。每次RAID 5(7D + 1P)进行一次随机写操作,实际上产生了4个I/O:读老的应用数据,读老的校验数据,写新的应用数据和写新的校验数据(P)。而RAID 6做同样一个随机写操作,实际上需要6个I/O:读老的用户数据,读老的校验数据P,读老的校验数据Q,写新的用户数据,写新的校验数据P,写新的校验数据Q。这就造成了RAID 5(7D + 1P)和RAID 6(6D + 2P)随机写的33%性能差距,而且不是提高IOP的运算能力可以解决的。

  随机写:RocketRAID 3220的随机写性能与上述理论符合得很好——从并发任务数达到8开始,就保持在RAID 5性能的67%左右,浮动幅度不超过1%。RAID 50的性能比RAID 5略低,基本上处于同一水准。不过,问题在于RAID 5的随机写性能与RAID 0相比差距实在太大了——只有一半乃至四分之一,甚至都被RAID 10甩掉很远。真不知是应该归罪于IOP331,还是RocketRAID 3220的固件算法。

  文件服务器:文件服务器也是随机访问的测试项目,其读写成分比例为2:1,测试成绩也综合了这两方面的表现,RAID 6当然是最差,但与RAID 5的差距就没有随机写测试那么大了。不过RAID 50也排在RAID 5前面,显然是得益于随机读的反常优势。

  Web服务器:全部是随机读取的操作,只是数据块尺寸成分比较复杂——由9种规格的数据块尺寸构成,其中512B占22%,1~4KB占46%,8~512KB占32%。正所谓“万变不离其宗”,几条曲线的分布规律与随机读测试非常相似,只是纵坐标上的数值有一定程度的下降。

  RAID 6可以用了吗?至少从RocketRAID 3220来说,答案是肯定的。从上面的各项测试来看,除了与随机写入有关的操作,RAID 6都体现出了与RAID 5及RAID 50相当的水准。与RAID 6增强的容错能力相比,某些相对次要的性能上的不足是可以接受的。以RocketRAID 3220为例,与其选择RAID 50,还不如改用磁盘空间利用率相同但能够全面抵御双硬盘驱动器故障的RAID 6。诚然,RAID 6的随机写性能只有RAID 5(和RAID 50)的三分之二,但这对SATA RAID来说影响并不是很大。

  SATA硬盘驱动器的优势是容量大且价格低,持续传输能力也与高转速(10K及15K RPM)的SCSI/SAS/FC硬盘驱动器相去不远,但在随机访问能力上存在较大的差距,因此SATA RAID适用于视频监控及流媒体应用,而不宜在强调IOPS和高可靠性的交易密集型应用中“以卵击石”。从目标应用对随机访问(特别是随机写)能力要求不高的角度来看,不要说RAID 6比RAID 5低三分之一,就是RAID 5只有RAID 0的四分之一(仅限于RocketRAID 3220的随机写成绩),也无碍大局。

  综合考虑SATA RAID相对较长的重建时间和RAID 6总体表现尚佳的性能,建议用户们不妨让RAID 6给SATA RAID多上一道保险。以上介绍RAID 6加速引擎。

0
相关文章