第 9 章 实时迁移
9.1. 关于实时迁移
实时迁移是在不中断虚拟工作负载的情况下,将正在运行的虚拟机 (VM) 移到集群中的另一节点的过程。实时迁移可以在集群升级过程中平稳过渡,或者每当需要排空节点进行维护或配置更改时进行清理。
默认情况下,实时迁移流量使用传输层安全 (TLS) 加密。
9.1.1. 实时迁移要求
实时迁移有以下要求:
-
集群必须具有
ReadWriteMany
(RWX) 访问模式的共享存储。 集群必须有足够的 RAM 和网络带宽。
注意您必须确保集群中有足够的内存请求容量来支持节点排空会导致实时迁移。您可以使用以下计算来确定大约所需的备用内存:
Product of (Maximum number of nodes that can drain in parallel) and (Highest total VM memory request allocations across nodes)
集群中可以并行运行的默认迁移数量为 5。
- 如果虚拟机使用主机模型 CPU,节点必须支持 CPU。
- 强烈建议为实时迁移配置专用的 Multus 网络。专用网络可最小化迁移期间对租户工作负载网络饱和的影响。
9.1.2. VM 迁移调整
您可以根据工作负载和迁移场景的类型调整集群范围的实时迁移设置。这可让您控制同时迁移的虚拟机数量、您要用于每个迁移的网络带宽,以及 OpenShift Virtualization 在取消进程前尝试完成迁移的时间。在 HyperConverged
自定义资源(CR)中配置这些设置。
如果您要同时迁移每个节点的多个虚拟机,请设置 bandwidthPerMigration
限制,以防止大型或忙碌的虚拟机使用大量节点的网络带宽。默认情况下,bandwidthPerMigration
值为 0,
这代表没有限制。
运行重度工作负载的大型虚拟机(如数据库处理)具有更高内存脏率,需要更高的带宽才能完成迁移。
在复制后模式启用后,如果初始预复制阶段没有在定义的超时内完成,则会触发。在复制后,虚拟机 CPU 会在源主机上暂停,同时传输最低所需的内存页面。然后,虚拟机 CPU 在目标主机上激活,其余内存页面在运行时传输到目标节点上。这可能会影响传输期间的性能。
后复制模式不应用于关键数据,或与不稳定的网络一起使用。
9.1.3. 常见实时迁移任务
您可以执行以下实时迁移任务:
- 配置实时迁移设置
- 为繁重工作负载配置实时迁移
- 启动和取消实时迁移
- 在 OpenShift Virtualization web 控制台的 Migration 选项卡中监控所有实时迁移的进度。
- 在 web 控制台的 Metrics 选项卡中查看虚拟机迁移指标。