新一代VNX软件更新之:重构日志

作者将本文同时发布到:EMC中文支持论坛 https://community.emc.com/docs/DOC-28408

介绍

 

当VNX上一块活动的磁盘下线时,可能是因为故障、被人从插槽中拔出,或者因为某些未知原因暂时失去响应,多核RAID就会启用一个RAID保护机制,叫做重构日志(Rebuild Logging)。如果RAID组丢失一块磁盘,那么它将处于降级(degraded)状态,这对所有的冗余RAID类型都是如此。


更多信息


重构日志标记每一个本应该被更新到一个丢失的RAID成员上的数据块,这些标记以数据块位图的形式保存为RAID组的元数据。RAID元数据保存在RAID组的磁盘上,可以它RAID组元数据想象成位于RAID组底部范围的一个小的隐藏LUN。


下图显示了在缓存中构建的一个完整RAID条带(包括校验值)。然而,由于RAID组已经降级(成员3丢失),在向磁盘做完整条带写(Multicore Cache flush)的时候,本该写到成员3上的数据会被丢弃,并更新RAID组元数据(图示中的RAID Log),记录下本该被写到成员3上的数据块。

ddd.jpg

对于一个部分条带写,这种逻辑也是相似的。校验值基于完整条带信息(确实的数据块从磁盘读取)计算得出。然而,由于成员3丢失了,在她重新上线以后,校验值将变得无效。因此,日志会被更新,用于记录校验值的位置。一旦磁盘重新上线,多核RAID仅仅需要重新构建在日志中被标记过的数据块,然后关闭重构日志。


在RAID处于降级状态期间,重构日志将一直处于活动状态。如果阵列在5分钟后没有调用热备用(例如,没有可用的未绑定磁盘),重构日志将继续运行,直至RAID组下线或找到一个可用的磁盘。


日志是一份位图,它在创建RAID组的时候作为元数据的一部分被创建出来。RAID组开销的大小是由这份日志定义的,因此它不可能耗尽存储空间。日志也是耐久性的,重构进程即便被阵列重启所打断,也能在电力恢复后继续执行。


重构日志使得VNX避免了重构整个RAID组。VNX能够重用一块临时不活动的磁盘上的数据,而没有必要重构整个磁盘。


小贴士:上文翻译自白皮书,觉得读完后依旧思路混乱,给一段自己的理解方便大家认识rebuild logging。放在以前,只要有磁盘离线,哪怕是瞬断,系统就会立刻调用热备份做数据重构,这可是整盘数据重构啊,非常耗时,还影响系统性能。所以Multicore RAID的新设计旨在避免这种情况的发生,于是决定在磁盘离线后,5分钟内不启用热备份,给磁盘足够的时间重新上线。但这并没有解决在磁盘离线期间其上数据过期的问题,换句话说,拖延数据重构时间无法完全解决问题,唯有得知在磁盘离线期间对该磁盘上的更新本该有哪些,才能在其重新上线之后做对应的更新(有点像DB的事务日志概念),避免全盘数据重构,保证了数据的一致性。这就是Rebuild logging的设计意义所在。

 

参考

 

新一代VNX软件增强之:对称双活

新一代VNX软件更新之:多核RAID �C 永久热备份

新一代VNX软件增强之:ODX卸载数据传输

与EMC新一代VNX中端存储极速致胜 - 新一代VNX硬件架构解析


应用于

 

新一代VNX 多核RAID

 

你可能感兴趣的:(raid,VNX,重构日志)