存储 频道

二十岁的RAID存储技术的未来发展之路

  【IT168 技术】RAID,自从David Patterson、Garth Gibson和Randy Katz等人20多年前定义了这一数据存储可靠性和性能理念以来,这项技术还将在未来十几年内为人们广泛应用。这项技术的最大问题在于它将如何与每年容量增长40%的磁盘技术保持步调一致。

  Panasas创始人兼首次执行官Gibsonb表示:“问题的核心是,读取整个磁盘的时间每年都在增加20%。磁盘数据速率远远慢于磁盘容量的增长速度,所以读取容量更大的磁盘要花费比以前更多的时间。”

  Permabit Technology创始人兼首席执行官Jered Floyd表示,RAID厂商和大多数存储厂商都没有解决高容量驱动器故障密度的问题。

  他说:“采用任何低于RAID 6且配置大容量驱动器的RAID都有可能发生数据丢失,即使是RAID 6,如果有两个驱动器因为误码率问题发生故障的话也是可能导致数据丢失的。”

  Floyd表示,为了超越RAID 6,厂商必须采用更高级的纠删码技术,而且这种技术应该“实施保护以防止更多故障的发生,并在多个大型系统之间分散保存数据以避免‘一整组磁盘’重建瓶颈。”

  Gibson指出,由于磁盘容量越来越大,RAID系统恢复故障磁盘所花费的时间也越来越长。传统RAID系统通过从头到尾读取剩余磁盘和将丢失数据写入在线冗余磁盘来实施恢复。

  结果是,RAID系统完成完全数据保护所需时间越来越长,发生故障的几率和数据丢失的频率也越来越高。

  更智能的RAID控制器

  然而,一些业内人士却从驱动器密度每年翻番、重建过程中一对驱动器发生故障几率增加的情况中看到了一些害怕、莫须有和怀疑(FUD)的因素。

  Nexsan首席技术官Gary Watson表示,其中很多故障信息与实际技术进步是相背离的。

  Watson表示:“首先,磁盘驱动器的连续性能是增加的,尽管没有与驱动器容量增长保持一致,所以之间的差异并不是超出限度的。”

  他表示,RAID控制器正在与FC-AL和SCSI等共享网络技术脱离,开始向SAS这样的现代交换架构发展。

  他说:“另外,对重建计算的硬件层支持意味着RAID控制器的重建性能在一代代发展过程中能够很好地与驱动器容量增长保持一致。”

  LSI公司DAS RAID架构和策略规划总监Luca Bert表示,RAID控制器存在的一部分问题是,大多数硬盘驱动器的利用率过低,但是控制器无法掌握哪些驱动器正在被使用而哪些没有。

  Bert说:“更好地了解这一点就可以只对使用的区域进行重建。”

  他表示:“一个解决方案就是自动精简配置技术,这项技术可以让系统只采用它所需的特定数据,因此如果控制器检测到分配了哪些数据集,那么它就只重建这一个部分。”

  Luca提到的另外一个解决方案是让每个文件系统来告诉RAID控制器什么时候清退数据块,这样就是避免对这个数据块的重建。

  Luca还表示,IT技术人员还可以选择使用RAID 1或者RAID 10(而不是RAID 5或者RAID 6)来将重建时间和传输数据量减至最少。

  Luca还支持,如果采用高级数据分配算法,一个阵列就可以在多个设备之间进行分配,这样在最大程度上减少了需要重建的部件数量。

  垂直奇偶、分块(Declustering)

  Gibson表示,为了尽量避免性能降级,一些RAID系统大大降低了对磁盘故障的恢复速率,而这导致数据丢失几率大幅度增加。

  一个解决方案——90年代率先提出——就是校验散布(Parity Declustering)。

  Gibson解释说,这项技术将一个本地运行的控制器和一些磁盘组成的RAID转变成为一个所有控制器和磁盘在存储池中采用并行算法的RAID。

  通过池中数十到上百个独立磁盘阵列,校验散布技术可以让恢复时间提升数十到上百倍。而且,它还加快了运行速度,这样恢复流程给每个磁盘上正在运行的用户负载造成的影响就越来越小。

  奇偶散布在RAID存储产品中很少见,但是Panasas并行文件系统提供了这项技术。有趣的是,谷歌Google File System中也提供了奇偶散布。

  但是磁盘容量增长存在另外一个问题:不可读的扇区。磁盘的搭建是遵循一定规范的。其中之一就是不能太频繁地出现不可读的扇区——通常每10~100TB读取数据不能出现多于一个的不可读扇区。然而,随着磁盘容量增长,恢复过程中将有更多扇区被读取,出现多于一个不可读扇区的几率也开始增加。

  Gibson表示:“通常在阵列中,如果磁盘故障恢复过程中丢失太多扇区,那么恢复将失败,整个卷变成离线状态,甚至可能丢失。”

  一个可行的解决方案就是让冗余编码更强大,更加针对那些常用的故障——例如不可读磁盘扇区。

  例如,RAID 6可以会遇到有两个故障磁盘,或者一个故障磁盘和一个不可读扇区。对这两个故障磁盘进行恢复的过程中肯定会出现不可读扇区。

  抵消这种磁盘故障的方法之一就是向每个磁盘增加一个代码层,这样不可读取的扇区就能在本地恢复,而无需使用RAID系统。

  Gibson表示,Panasas将其称之为垂直奇偶。采用垂直奇偶技术可以让RAID 5在出现不可读扇区的情况下恢复故障磁盘,让RAID 6恢复两个故障磁盘,使用这种方法是有必要的。

  未来,磁盘和系统容量将越来越高,这将更加强调故障恢复。但是RAID可以升级解决所有这些问题。RAID的未来将依托于针对特定故障实例的代码、丢失数据重建过程中更多的并行技术和负载均衡。

0
相关文章