主机需要维护、升级或临时调整负载时,管理员通常不希望直接关闭业务虚拟机。vMotion 的作用是在虚拟机持续运行的状态下,把它从一台 ESXi 主机迁移到另一台主机。它很方便,但前提条件不满足时,迁移会卡在某个检查项上。
一、迁移前先确认前提
vMotion 不是只要有 vCenter 就能用。开始前至少检查:
- 源主机和目标主机都能访问虚拟机使用的存储;
- 虚拟机没有挂载只在源主机本地可用的设备;
- 目标主机CPU和虚拟机兼容性满足要求;
- vMotion 使用的 VMkernel 网络已经配置;
- 源和目标主机网络、存储状态正常。
虚拟机挂载本地ISO、本地数据存储或特殊设备时,经常会直接导致迁移失败。
二、检查vMotion网络
在 ESXi 主机的 VMkernel 适配器中,需要启用 vMotion 服务。源和目标主机的 vMotion 网络应能正常通信。
如果管理、vMotion 和存储流量共用网络,迁移大量虚拟机时可能挤占其他流量。业务较多时,建议单独规划 vMotion 网络,并确认物理交换机和 VLAN 配置一致。
三、执行虚拟机迁移
1、选择迁移类型
在虚拟机上选择迁移,选择“仅更改计算资源”。这一步表示迁移运行主机,不移动虚拟机磁盘。
2、选择目标主机
选择目标 ESXi 主机后,vCenter 会进行兼容性检查。检查结果要认真看,不要只看到警告就继续。
3、确认网络和资源
确认目标主机上的网络端口组和数据存储都能满足虚拟机运行要求。检查通过后启动迁移,并观察任务进度。
四、迁移失败的常见原因
| 问题 | 优先检查 |
| 兼容性检查失败 | CPU兼容性、EVC、虚拟机硬件版本 |
| 存储不可用 | 目标主机是否能看到同一数据存储 |
| 网络不通 | vMotion VMkernel、VLAN、网关和防火墙 |
| 设备占用 | ISO、USB、串口、本地设备 |
| 迁移中途变慢 | 网络带宽、内存变化速度、主机负载 |
五、迁移后要验证什么
迁移完成后,不要只看虚拟机状态是“已启动”。还要确认:
- 虚拟机是否能正常访问网关;
- 业务端口是否可访问;
- 磁盘读写是否正常;
- 目标主机资源是否充足;
- 原主机是否确实适合进入维护模式。
六、常见问题
vMotion会移动虚拟机磁盘吗?不会。仅更改计算资源时迁移的是运行状态,磁盘仍在原数据存储。
没有共享存储能用vMotion吗?传统计算迁移通常要求源和目标主机都能访问虚拟机存储。具体环境还要结合 vSphere 版本和共享vMotion能力确认。
迁移过程中业务会中断吗?正常情况下不需要关闭虚拟机,但网络、存储或主机异常时仍可能影响业务。重要业务建议避开高峰期。

