第 13 章 在 Compute 节点之间迁移虚拟机
有时,您可能需要在 overcloud 中将虚拟机从一个 Compute 节点迁移到另一个 Compute 节点。例如:
- Compute 节点维护:如果必须临时暂停 Compute 节点,可将 Compute 节点上运行的虚拟机临时迁移到另一个 Compute 节点。常见情况包括硬件维护、硬件维修、内核升级和软件更新。
- Compute 节点出现故障:如果某个 Compute 节点要出现故障,且必须维护或更换,则必须将故障 Compute 节点上的虚拟机迁移到一个正常运行的 Compute 节点。有关已出现故障的 Compute 节点,请参阅清空虚拟机。
- 工作负载重新平衡:您可以考虑将一个或多个虚拟机迁移到另一个 Compute 节点以重新平衡工作负载。例如,您可以在 Compute 节点上整合虚拟机以省电,将虚拟机迁移到离其他联网资源更近的 Compute 节点以减少延迟,或跨 Compute 节点分布虚拟机以避免热点并增加弹性。
director 配置所有 Compute 节点以提供安全迁移。所有 Compute 节点还需要有共享的 SSH 密钥,以便每个主机的 nova
用户在迁移过程中能够访问其他 Compute 节点。director 会使用 OS::TripleO::Services::NovaCompute
可组合服务来创建该密钥。这一可组合服务是所有 Compute 角色上默认包括的主要服务之一(请参见高级 Overcloud 自定义中的可组合服务和自定义角色)。
13.1. 迁移类型
OpenStack Platform 支持两种类型的迁移:
实时迁移
实时迁移涉及在目标节点上无缝启动虚拟机,并在源节点上无缝关闭虚拟机,同时保持状态一致性。
实时迁移可以在不需要停机时间或只需要很少停机时间的情况下处理虚拟机迁移。在某些情况下,虚拟机无法使用实时迁移。有关迁移限制的详细信息,请参阅迁移限制。
冷迁移
冷迁移或非实时迁移涉及 nova
在将虚拟机从源 Compute 节点迁移到目标 Compute 节点之前关闭虚拟机。
冷迁移虚拟机需要有一段停机时间。但是,冷迁移仍可以提供使用相同卷和 IP 地址对迁移虚拟机的访问。
有关已出现故障的源 Compute 节点,请参阅清空。迁移需要源和目标 Compute 节点都处于运行状态。