第 12 章 迁移虚拟机

如果虚拟机所在的当前主机变得不适合或者无法再使用,或者要重新分发托管工作负载,您可以将该虚拟机迁移到另一个 KVM 主机中。

12.1. 迁移虚拟机的工作方式

虚拟机迁移的基本部分是将虚拟机的 XML 配置复制到不同的主机机器中。如果没有关闭迁移的虚拟机,迁移还会将虚拟机内存和任何虚拟设备的状态传送到目标主机机器中。要使虚拟机在目标主机上正常工作,虚拟机的磁盘镜像必须仍可用。

默认情况下,迁移的虚拟机在目标主机上是临时的,虚拟机在源主机上仍然被定义。

您可以使用 livenon-live 迁移来迁移正在运行的虚拟机。要迁移关闭虚拟机,必须使用离线迁移。详情请查看下表。

表 12.1. VM 迁移类型

迁移类型描述使用案例存储要求

实时迁移

VM 将继续在源主机中运行,而 KVM 会将虚拟机的内存页面传送到目标主机。当迁移接近完成后,KVM 会非常简单地挂起虚拟机,并在目标主机上恢复它。

对于需要一直保持运行的虚拟机,这个方法非常有用。但是,如果虚拟机修改内存页面的速度比 KVM 可以传输它们的速度更快,比如 I/O 负载较重的虚拟机,则不能进行实时迁移,这需要使用非实时迁移

VM 的磁盘镜像必须位于 共享网络中,同时可访问源主机和目标主机。

非实时迁移

挂起虚拟机,将其配置及其内存复制到目标主机,并恢复虚拟机。

这个迁移方式需要虚拟机停机,但通常比实时迁移更可靠。推荐用于内存负载过重的虚拟机。

VM 的磁盘镜像必须位于 共享网络中,同时可访问源主机和目标主机。

离线迁移

将虚拟机的配置移到目标主机

建议用于关闭虚拟机,以及关闭虚拟机不会影响您的工作负载的情况。

VM 的磁盘镜像不必在共享网络中可用,并可手动复制或移动到目标主机。

您还可以将 实时迁移非实时迁移 相组合。当实时迁移一个使用非常多的 vCPU 或大量内存的虚拟机(这会阻止迁移完成)时,建议您这样做。在这种情况下,您可以挂起源虚拟机。这可以防止生成额外的脏内存页,从而大大提高迁移完成的可能性。基于迁移期间客户机工作负载和静态页数,此类 混合 迁移可能会导致停机时间明显低于非实时迁移。