这是我参与8月更文挑战的第12天,活动详情查看:8月更文挑战”
在当今 IT 领域,企业和管理部门遇到的数据存储挑战往往是容量、性能和价格的要 求。一方面企业购买存储系统时对后续业务性能增长需求难以准确估计;另一方面, 随着业务量增加,已有系统增加硬盘后对现有业务的调整操作非常困难。如何解决上述问题,是企业发展过程中必须要思考的问题,尤其是在 IT 系统建设初期,要做好性能需求的长期规划。
原理介绍
SmartMotion 特性可以在系统扩容时,通过自动对数据进行迁移,将数据均衡的存放 在所有硬盘上。客户购买时不需要对性能需求做长远估计,只需要满足近期的性能需 求即可,有效的降低了初始购买成本,从而降低 TCO。并且业务量增加造成对性能的 需求也大幅增长后,只需要往系统中增加硬盘即可,SmartMotion 能够通过数据迁移 将原有业务的数据均衡分布到所有硬盘上,从而增大原有业务的性能。
在华为 RAID2.0+技术中,硬盘域中所有硬盘被切分成相同大小的块(CHUNK),当 需要分配 CKG 时,通过伪随机算法选择出需要的硬盘,再从选出的硬盘上分配 CHUNK 按照 RAID 算法组成 CKG。通过伪随机算法随机选择后,所有 CHUNK 会均 匀地分布在每个硬盘上。
智能数据迁移工作过程
SmartMotion 基于 RAID2.0+技术实现。当硬盘域中增加硬盘后,系统自动启动 SmartMotion,其工作过程如下:
- 选择第一个未做均衡处理的 CKG;
- 通过伪随机算法对 CKG 重新选择一次硬盘;
- 如果选择的硬盘和已有的硬盘列表完全一致,则跳过该 CKG 回到步骤 1;
- 比较 CKG 的原盘和新选出的盘列表,通过列表的差异计算出需要迁移的硬盘对应 关系,选择出 CKG 需要迁移的原硬盘和对应的目标硬盘;
- 遍历 CKG 中每个待迁移的硬盘,从目标硬盘分配新的 CHUNK,将数据从原盘迁 移到新硬盘并释放原硬盘的 CHUNK。
- 如果已遍历系统中所有 CKG,则完成 SmartMotion,否则回到步骤 1 继续处理 下一个 CKG。 当 SmartMotion 完成后,所有的 CKG 都通过伪随机算法重新选择新硬盘并完成了必 要的数据迁移。此时,所有 CHUNK 已经均衡的分布在所有的硬盘上(包括新扩容的 硬盘)