实时迁移技术在数据中心和SSD存储系统中的应用动机和优势。
图右上角是全球视角下,目前正广泛建设的AI算力中心选址。
为什么迁移工作负载?
负载均衡
Note: 国外云计算经过近20年发展,逐渐从CSP主导,过渡到用户成熟的SuperCloud(超级云)阶段,此时跨云迁移、数据流动成为新的内生动力,对软硬件的灵活性,提出新挑战。
为什么要实时迁移?
为什么要在SSD层面启用实时迁移?
实时迁移技术对现代数据中心和存储系统具有重要意义。它不仅提高了资源利用效率和系统可靠性,还通过优化存储访问路径,显著提升了整体性能。这种技术使得数据中心能够更灵活地应对负载变化和潜在故障,同时为高性能计算任务(如AI训练)提供更好的支持。
介绍实时迁移过程的各个阶段和关键组件。
关键组件:
实时迁移过程,如图右所示,
主机IO是连续的
实时迁移系统的具体设置,重点关注虚拟化环境和SSD存储。
关键技术特性:
Note:要实现主机VM无感知的数据自动迁移,需要在虚拟化层实现,同时为提高迁移效率,需要SSD支持 SR-IOV 直通。虚拟化层(VMM)中需要实现:迁移队列管理(Admin Q)和迁移队列(MQ)。
各家云平台虚拟化管理层不一样,如何在VMM中实现统一的队列管理?软件层的工作可能还是类似VAST/WEKA这样的数据公司来做更合适,SSD厂商需要满足场景迁移的需求,但软件层的事可能还做不了。
预复制阶段:开始日志记录(源端)
VM继续与SSD上的次级Ctlr交互(读/写)
"开始日志记录"命令流程
VMM已成功在MQ中开始日志记录
Note: 鹏弟对这部分不了解,故直译供参考。
预复制阶段:目标端准备
目标端预条件
用于初始化目标SSD的标准NVMe命令
上图说明了一种可能的流程,但存在其他选项
预复制阶段:初始NS迁移(两种实现方式)
选项1:
选项2:VMM向主控制器发送:获取LBA状态
主控制器
VMM - 对于每个已映射的LBA状态 - 作为次级控制器NS的读取提交
预复制阶段:向目标端进行初始NS迁移
预复制阶段:增量数据复制
持续进行
源驱动器视角
注意:未讨论内存跟踪
VMM决定完成/执行迁移
暂停命令流程
暂停状态摘要
源SSD
VMM负责:
复制最终数据和迁移控制器状态
MQ解析中的最终数据复制迭代
获取/设置控制器状态
VMM将迁移VM
从SSD角度看恢复操作
标准NVMe流程
文章梳理跨数据中心,Data 动态迁移过程,区分:预复制、暂停/复制和后复制三个阶段,过程中各组件工作流。
AI训练场景的数据访问,一直是数据平台和软件定义存储厂商关注的热点。应用侧倾向于移动计算(如VAST的容器计算方案),将计算引擎分发到指定数据中心,避免数据规模复制(计算完的过程数据仍需远程复制);或基于全局文件系统,构建满足一致性要求的高效元数据服务。
上述场景都免不了跨地域数据复制问题,区别在于量的多少,SSD主控层面的在线迁移增强,能一定程度优化数据传输效率,减少计算资源消耗。
只有真正理解海外云厂商商业模式和挑战(倾听客户声音),才能理解SSD在线迁移其实是个真实、具体的问题。