什么是实时迁移?
实时迁移是指在不中断对虚拟机访问的情况下,将 虚拟机(VM)从一个主机移动到另一个主机的过程。暂停旧虚拟机与启动新虚拟机之间的间隔时间很短,因而能够在迁移过程中避免服务中断。实时迁移可用于计划内维护或平衡工作负载资源等场景。在实时迁移过程中,会将虚拟机内存、网络连接以及存储转移到集群内的新目标位置。
虚拟机迁移有哪几种类型?
有多种类型的虚拟机迁移方式,其中最常见的两种是实时迁移和冷迁移。
实时(热)迁移
选择这种迁移方式,虚拟机会在其内存页逐步传输到目标主机的同时,继续在源主机上正常运行。当迁移基本完成时,虚拟机会短暂暂停,然后在目标主机上恢复运行。实时迁移无需关闭虚拟机,因此停机时间可控制在最短限度,甚至让人察觉不到。这对于需要持续运行的虚拟机而言是一个很好的选择。然而,如果虚拟机修改内存页的速度比传输内存页的速度快,比如处于高输入输出(I/O 负载)下的虚拟机,则必须改用冷迁移。
冷迁移
此类迁移也被视为非实时迁移。这种迁移方式需要先关闭正在运行的虚拟机,然后再从源主机过渡到目标主机。在虚拟机关闭期间,其配置和内存会复制到目标主机,之后虚拟机在新主机上重新启动。这会造成停机时间,导致系统暂时不可用或无法运行。不过,这种迁移很可靠,非常适合内存负载较重的虚拟机。
暖迁移
这种迁移方式会在虚拟机正常运行的情况下预复制虚拟机的大部分数据,从而减少停机时间。在切换阶段,会关闭虚拟机并复制其余数据。
红帽资源
迁移虚拟机的原因有哪些?
迁移虚拟机具有以下用途:
- 负载平衡:如果虚拟机所在的主机负载过重,或者其他主机未得到充分利用,则可以将该虚拟机迁移到使用率较低的主机上。如此实现负载平衡,便可以提高虚拟机的容量和网络性能。
- 硬件独立性:虚拟机监控程序将操作系统(OS)和资源与虚拟机隔离开来,可促进实现硬件独立性。由于虚拟机在隔离的环境中运行,它们不依赖于任何特定的硬件。在很多情况下,您可以将虚拟机从一台硬件设备迁移到另一台硬件设备,而不会造成任何停机。(不过,这也存在一些限制,比如从一种 CPU 架构切换到另一种架构时。)
- 节能:虚拟机可以重新分配到其他主机上,这样在使用率较低的时段,未加载虚拟机的主机系统就可以关闭以节省能源并降低成本。
- 地理迁移:虚拟机可迁移至其他物理位置,以降低延迟或满足其他需求,如实现容错或灾难恢复平衡。
有哪些常见的虚拟机实时迁移工具?
所有常用的虚拟化平台都包含实时迁移工具。其中一些技术包括:
红帽® OpenShift® 虚拟化实时迁移:OpenShift 虚拟化基于 KubeVirt 项目,内置了一个实时迁移工具。实时迁移可将虚拟机从 OpenShift 集群中的一个节点移动到另一个节点。
VMware vSphere vMotion:vSphere vMotion 是 VMware 的实时迁移流程,它可以在不停机的情况下将正在运行的虚拟机从一台物理服务器迁移到另一台物理服务器。
Microsoft Windows Server 的 Hyper-V:作为 Windows Server 中的一项 Hyper-V 功能,实时迁移允许虚拟机从一台 Hyper-V 主机迁移到另一台 Hyper-V 主机。
Nutanix:Nutanix AHV 的实时迁移功能支持将客户机虚拟机从一台 AHV 主机迁移到另一台 AHV 主机或集群,前提是所选主机拥有可用资源。
实时迁移的分步流程
实时迁移分几个步骤进行。这些步骤可能会因平台和用例的不同而有所差异,但实时迁移的目标是一致的。以下是 OpenShift 虚拟化实现实时迁移的步骤。
第 1 步:准备
源节点为虚拟机迁移做好准备,同时集群级别的调度程序(本例中为 OpenShift 调度程序)选择目标节点。由于实时迁移依赖于共享存储,当系统存储虚拟机镜像时,源节点和目标节点会同时挂载或访问相同的存储。
第 2 步:请求
接下来,源节点向目标节点发起迁移请求。目标节点开始加载虚拟机镜像,并预留合适的容器大小。这一步还要求虚拟化平台能够允许虚拟机的资源在两个环境之间进行分配,并且能够不间断地运行。如果没有可用资源,虚拟机将继续在源节点上运行,不会受到任何影响。
第 3 步:传输
虚拟机监控程序(一种用于创建和运行虚拟机的软件)将内存从源节点复制到目标节点。在两个节点上,都存在一个暂停的虚拟机副本,但源节点是控制迁移过程的主要节点,在故障发生时,源节点的状态可确保迁移继续。
第 4 步:完成
一旦传输完成,目标节点会向源节点发出信号,告知其已经收到操作系统镜像并执行了迁移。此时,目标节点成为主节点。源节点现在可以终止原来的虚拟机了。
第 5 步:结束
有了新的主节点,实时迁移便已完成。迁移后的虚拟机在目标节点上运行,各项操作可以照常继续进行。
为什么选择红帽来协助进行实时迁移?
红帽针对虚拟机和虚拟化推出广泛的解决方案组合,能够在实时迁移过程中为您提供支持。
红帽® OpenShift® 虚拟化为迁移传统虚拟机提供了一个可扩展的统一平台。作为红帽 OpenShift 的一项功能,红帽 OpenShift 虚拟化允许运行并管理虚拟机工作负载及容器工作负载。借助红帽 OpenShift 虚拟化,您可以继续使用已投资的虚拟化技术,并通过红帽 OpenShift 的云原生工具按照自己的节奏进行现代化改造。团队可以在单个平台上部署和管理虚拟机以及容器。此外,虚拟化迁移工具包允许从当前的虚拟化解决方案中迁移现有工作负载。该虚拟化迁移工具包可提供对虚拟机上运行的工作负载的访问权限,同时支持开发新的云原生应用。
为了加速进行大规模迁移,红帽 Ansible 自动化平台实现了自动编排虚拟机及其周边 IT 基础架构。将红帽 OpenShift 虚拟化与红帽 Ansible 自动化平台配合使用,可加快虚拟机的迁移速度,并有助于虚拟环境的管理、运维和现代化改造。它还能降低人为错误的潜在风险,并在整个迁移过程以及后续的虚拟机工作负载管理中提高一致性。
红帽官方博客
获取有关我们的客户、合作伙伴和社区生态系统的最新信息。