目前,RAID(独立磁盘冗余阵列)技术面临的一大挑战就是故障磁盘重建时间不断延长。重建时间延长将增加数据丢失的风险并威胁到这种长期以来实行的数据存储技术的可行性。
磁盘密度增长速度大大高于性能和可靠性的提升。一些网络存储业内人士开始怀疑RAID是否可以足够快地恢复故障磁盘,否则RAID将无法继续在企业级数据存储领域立足。
不过一些数据存储厂商已经找到了一种旧的方法来保持RAID的可行性:分簇(Declustered)RAID,或校验码分簇。RAID的先驱Garth Gibson和Mark Holland早在1992年就曾提出过这个概念。
StorageIO集团创始人兼高级分析师Greg Schulz表示:"让我感到很有意思的是RAID目前面临的一些问题和十年前它所面临的问题是一样的。"
Schulz表示这些问题包括大容量磁盘驱动器重建、分布式数据保护、可用性、性能和使用便利性。
分簇RAID的定义
分簇这个概念首先提出于镜像式磁盘,后来卡耐基梅隆大学的Gibon实验室又在RAID 5阵列上发展了这个技术。
高性能存储公司Panasas联合创始人兼首席技术官Gibson表示:"原来每个磁盘小集群都对应一个RAID控制器,分簇是将它们对应到一个RAID控制器集合,每个RAID控制器集合都可以访问所有控制器,这种访问可以是通过FC(光纤通道)也可以是通过iSCSI(互联网小型计算机系统接口)SAN(存储局域网)。"
分簇技术修改了RAID等式,只有一部分涉及每个校验码计算的驱动器在数据改变时发生变化。因此在分簇后的RAID 5中,每对磁盘都有同样数量的RAID等式。
Gibson表示:"当一个磁盘发生故障的时候,每个磁盘都进行一小部分恢复工作,分布到所有的RAID控制器,不是一个RAID控制器和一小部分磁盘进行所有的恢复工作而其他的磁盘和RAID控制器无所事事。"
他表示,原来RAID中有一些在线备用磁盘是空的和闲置的,而分簇是将在线备用空间分布到所有磁盘,即使故障磁盘的恢复写入也是分布到整个阵列。
Gibson表示:"其结果就是RAID从一台小电脑上的串行应用变成所有磁盘和控制器的并行/分布式计算。计算的过程可以完成得非常快。它也可以在恢复过程中尽量避免对用户性能的影响。"
解决RAID重建问题
Silverton Consulting是一家存储、战略和系统资讯服务公司。该公司创始人兼总裁Ray Lucchesi表示,驱动器重建的问题是,重建一个1TB或1TB以上的磁盘驱动器所花费的时间需要以小时来计算--即使不是以天计--实际时间根据存储系统和RAID组的繁忙程度而定。随着1.5TB和2TB驱动器的上市,重建时间将更长。
不过,通过配置更大的单校验RAID组(在RAID条带中配置更多的磁盘),RAID组交叉耦合,使用RAID 6--通常需要在RAID组中配置更多的磁盘--可以加快重建速度。
不过更大的RAID组所带来的问题是数据覆盖写入有可能带来校验码磁盘的性能瓶颈。更大的RAID组能带来更快的重建速度,更小的RAID组能带来更少的写入牺牲,因此RAID用户所面临的问题是如何在其中取得平衡。
Lucchesi认为校验码分簇可以是解决这个问题的解决方案。校验码分簇可以将校验码和数据分布到一系列磁盘驱动器上,因此不会发生一个磁盘驱动器承载所有驱动器校验码的情况。
Lucchesi表示,这样做可以避免热驱动器现象--通常是用更小的RAID组来解决这个问题。
Gibson表示:"问题的核心是读取整个磁盘所需的时间每年都在增加20%。磁盘数据率的增长速度远低于磁盘容量的增长速度,因此读取大磁盘的时间在增加。"
由于磁盘容量增大,RAID系统需要用更长的时间来恢复一块故障磁盘。传统RAID系统需要从头到尾地读取所有剩余磁盘并将丢失数据从头到尾地写入到在线备用磁盘才能恢复一块磁盘。
Gibson表示,故障磁盘恢复和替换时间的延长从两方面来说都是不好的。
首先,它意味着数据危险期--替换故障磁盘并恢复其内容所需的时间--更长了。在这个时间段内,更多的故障会导致数据丢失。数据危险期的延长意味着更低的数据可靠性。
其次,恢复需要很多工作。它减少了用户所能访问的磁盘数量,降低了磁盘性能。恢复的时间越长,用户受影响的时间也就越长。
结果是RAID系统需要用更长的时间来恢复到全面受保护的状态。如果发生其他故障,那么数据丢失的概率将大增。
Gibson表示Panasas的校验码分簇让RAID从一个控制器和几块磁盘的本地操作变成所有控制器和磁盘在存储池中的并行计算。
通过包含数十数百个磁盘阵列的存储池,校验码分簇可以让恢复速度变得数十数百倍地快。而且,它将工作负荷精简地分布到每块磁盘上,因此并发的用户工作可以更少地受到恢复工作的干扰。
将所有数据分布到多个驱动器上并不是Panasas的独创。其他公司也在这么做,比如EMC、谷歌、日立、惠普、IBM和Isilon。
IBM XIV和RAID-X
IBM XIV是一个基于网格的存储系统,并不是使用传统的RAID。
IBM System Storage高级存储咨询师Tony Pearson表示:"我们的数据分布在松散联系的数据模块上。这些数据模块可以作为独立的构建块。"
Pearson表示:"XIV将每个LUN(逻辑单元号)分割到1MB的‘块',并将每个块的两个副本存储在单独模块的单独驱动器上。我们称之为RAID-X。"
不管用什么术语来描述这种分簇,无论是RAID-X、宽条带化、metavolume、区间池、条带间条带、格条带还是RAID 500,每个技术都代表了RAID在创新过程中的独特方式,即使它并不总是叫做RAID。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。