|
再谈RAID重建:宽条带化分布式热备盘“动态磁盘池概念完全不同与以往的RAID概念。它将一组磁盘放入动态磁盘池中,每个磁盘划分出很多Cpiece。这些Cpiece在做RAID Strips,组成CStripe再组成CVD(CRUSH Virtual Drive)。磁盘在动态池中被完全打散。当一块物理磁盘故障时,重构就开始了。 三、分布式热备盘所占的不同比例 上图中的“Preservation Capacity(保持容量)”,就相当于1块或者2块热备盘。出于RAID组安全的考虑,热备盘通常建议与驱动器的数量成正比。这里11块盘创建的DDP就包含1个“分布式热备盘”,而12块盘的DDP则包含了2个,因此这两个磁盘池的可用容量相当接近。 这个表格和一段文字列出了在不同硬盘数组成的动态磁盘池中,默认的“保持容量”所相当的驱动器数量也有所不同。比如11块盘是1个分布式热备盘,12-31块盘时有2个... 256-384块盘对应8个。 再来看看IBM XIV的情况。如上表:XIV Gen3在使用180个3TB SAS驱动器时可用容量为243TB(相当于81块盘),算上镜像的消耗就是162块盘,那么“分布式热备盘”在这里相当于占用了18个。 表面上感觉NetApp DDP的容量利用率远高于XIV。动态磁盘池可以支持不同转速的驱动器;IBM只有7200转近线SATA/SAS,只支持Scale-out(横向扩展)最多到180块盘,为了保证所谓“高端存储”的性能采用镜像而不是其它RAID等级。而NetApp DDP相当于RAID 6的2个校验盘,不存在2块盘同时故障的风险,因此也就能支持到E系列的最大驱动器数——E5400和E5500的384个。 很难说这两家谁的技术一定更好,只能说在设计时各有取舍,它们适用的场景应该也有所不同。 四、Rebuild速度能超过单盘极限? 最后我想简单分析一下厂商公布的故障盘重建时间。 首先是在保持4KB随机读情况下,1TB硬盘的重建时间,横轴为驱动器数,纵轴是小时。可以看出192块的DDP重建时间不到2个小时。我们暂且用2小时进行估算,相当于写入速度达到138.9MB/s。这个数字对于7200转驱动器来说,保持随机访问负载的情况下单盘是不可能达到的。 当然,宽条带化RAID应该可以只重建故障盘被写入数据的部分。不过上面的图表既然写明1TB Drive,应该就是在硬盘写满(或者接近写满)的情况下测试的。 此外还有一组来自戴尔的数字做为参考: 这里是用3TB近线SAS盘比较的传统RAID 6和DDP。单/双盘故障下51/100小时的RAID 6恢复时间,侧面反映了这也是在保持数据访问情况下进行的测试。动态磁盘池在单/双盘故障下的恢复时间分别为8小时和12小时,也就是2块盘数据恢复的速度更快,这应该进一步反映了该技术在Rebuild时的多线程并发读写能力。以后者(12小时)来计算,折合写入速度也是138.9MB/s。 总结:有没有不足? 我设想了一种情况:如果在动态磁盘池重建完成之后,想把它恢复到初始状态——也就是可用容量、“分布式热备盘”容量都不改变(减少)。这时我们要将故障盘替换为一块新盘(或者良品),然后把数据条带等再重新分布到这块盘上——这个时间就要受单一硬盘写入速度的限制了。我看过的文档中,好像没有关于这一操作的详细描述,也可能它被NetApp视为与DDP的动态扩展等同了? 另外说明一点,NetApp E系列的自动精简配置是建立在动态磁盘池的基础上,而这并不意味着后者是前者的必要条件,比如ZFS就可以在各种RAID等级上建立“瘦卷”(通常是默认选择)或者“胖卷”。 笔者在本文中分享了自己一些粗浅的认识,希望能给读者带来帮助,也许这点对于那些高人可能早已熟悉。 我在以上的讨论中大部分以NetApp动态磁盘池作为代表,只是因为看到的公开资料相对较多,宽条带化RAID技术可谓博大精深,这里只是谈到了重建速度这一个方面。 责编:驼铃声声 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:kaiyun体育官方人口
文章著作权分属kaiyun体育官方人口
、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新专题 |
|