在绝大多数场景下,通过 vMotion 与 Storage vMotion 组合操作,能在虚拟机零停机、业务不中断的前提下完成 ESXi 主机或数据存储的迁移,整个过程对终端用户完全透明。
动手前先核对这五项硬件和许可要求
很多管理员第一次做热迁移时,满怀信心地发起任务,结果报错“虚拟机 CPU 不兼容”或“目标主机未授权”,这类问题几乎都能在前置检查阶段避免。
确认 vCenter 和 ESXi 版本匹配
vMotion 功能依赖 vCenter Server 统一调度,如果你只有独立的 ESXi 主机(比如免费的 ESXi 8 嵌入式主机),在 Web Client 里根本找不到“迁移”按钮,行业共识认为:生产环境迁移至少需要一台 vCenter Server(含标准版许可证)和两台加入了同一集群(Cluster)的 ESXi 主机。
近年来,VMware 已将 vSphere 许可模式改为按 CPU 订阅,但 vMotion 仍属于企业级功能,如果你用的是免费版授权(通常绑定单台主机),只能采用关机冷迁移方案。
检查 CPU 兼容性模式
在 vSphere Web Client 的集群设置里,找到“编辑设置”→“VMware EVC”,开启与老主机 CPU 代次匹配的基线模式,例如新主机是 Sapphire Rapids,老主机是 Cascade Lake,没办法保证每一条指令都一致,这种情况建议开启 EVC 至 Cascade Lake 基线,否则目标主机可能拒绝接纳虚拟机。
预留足够的网络带宽
vMotion 流量建议使用独立 VMkernel 网卡,并要求万兆网络,项目实践中,千兆网络在迁移内存占用超过 80GB 的数据库虚拟机时,可能要耗时几分钟,期间若存在高负载写操作,迁移进度会被拖慢,行业内通常要求 vMotion 流量与业务流量物理隔离,至少使用 VLAN 或路由隔离。
存储空间和存储协议差异
若你计划将虚拟机从旧存储迁移到新存储(通常是 NFS 或 vSAN),需要确保目标数据存储剩余空间大于虚拟机当前已用空间。vSphere 8 默认使用精简置备方式,实际拷贝的是已占用块,但这个检查依然不可省略,目标存储支持的协议(FC、iSCSI、NFS、vSAN)不会影响迁移逻辑,但不同阵列的锁定机制可能导致设备重置(ATReset),建议在存储侧做好多路径冗余。
迁移流量端口和防火墙放行
ESXi 主机防火墙需放行 TCP 8000(vMotion 数据流)、TCP 8182(vSphere 8 推荐的加密 vMotion),vCenter 与两台 ESXi 之间的 443 端口通信必须畅通,如果跨网段迁移,需要检查路由器和分布式交换机上是否有安全策略拦截。
esxi虚拟机迁移到新服务器不关机操作步骤:以 vSphere Web Client 为例
这是管理员提问频率最高的场景:把虚拟机从一台物理服务器搬到另一台,但又不能影响正在跑的业务,下面的路径基于 vSphere 8.0 Update 2 界面,较旧版本(如 6.7、7.0)菜单名称大同小异。
第一步:登录 vCenter 并选择目标虚拟机
- 用管理员账号登录 vSphere Web Client(一般为 https://vcenterIP/ui)。
- 在左侧清单列表找到虚拟机,确认它处于“已打开电源”状态。
- 右键点击虚拟机,在弹出菜单中选择“迁移”(在某些语言环境下显示为“Migrate”)。
第二步:选择迁移类型,两个选项一次看懂
向导会出现三个类别,关键差异可以用下表说明:
| 迁移类型 | 存储是否改变 | 主机是否改变 | 业务中断时间 |
|---|---|---|---|
| 仅更改计算资源 | 不变 | 变 | 零(在线) |
| 仅更改存储 | 变 | 不变 | 零(在线) |
| 更改计算资源和存储 | 同时变 | 同时变 | 零(在线) |
从实际需求来看,大多数“更换服务器”场景属于“更改计算资源和存储”,即源主机和目标主机都变了,存储也跟着搬走,系统会提示“此操作将同时迁移虚拟机和存储”。
第三步:指定目标主机和网络
- 目标主机:选择新加入集群的 ESXi 服务器,确保它的维护模式未被开启。
- 目标存储:选择新的数据存储,若列表为空,检查存储挂载或刷新存储适配器(操作路径:vCenter → 主机 → 存储 → 存储适配器 → 重新扫描)。
- 网络:选择与源端口组同名或逻辑相同的端口组。如果新主机上使用的分布式交换机未与源通联,建议改成标准虚拟交换机端口组。
第四步:选择迁移优先级并确认
优先级有“建议”和“保留”两项,生产环境建议选择“建议”,系统会自动分配更多内存带宽,确认摘要信息无误后点击“完成”,任务栏会出现进度条,整个过程不需要关闭虚拟机电源,也不需要挂起 VMware Tools。
第五步:等待迁移完成的精确判断标准
原虚拟机所在主机的 CPU 利用率降低、目标主机出现该虚拟机进程,在任务列表看到“已完成”仅表示迁移过程结束,并不等于业务已确认正常,需要在迁移结束后立刻观察目标主机上虚拟机内存的“已连接”指标和存储 IO 延迟。
跨存储迁移和跨 vCenter 迁移的操作差异
有些场景不是换主机,而是把虚拟机从老存储(例如本地 RAID)搬到集中式存储,这时的操作逻辑和上面有区别,需要单独说明。
仅更改存储时用 Storage vMotion
操作路径依然是右键虚拟机 → 迁移 → 选择“仅更改存储”,这一步不需要选目标主机,只会让你指定目标数据存储以及虚拟磁盘格式。
虚拟磁盘格式有三个选项,注意别选错:
- 与源格式相同:维持原样,通常是厚置备延迟置零,推荐选这个。
- 厚置备延迟置零:分配全部空间但逻辑块清零在首次写入时执行,落盘时间短,但占用存储空间大。
- 精简置备:按需分配,适合磁盘实际使用率低于50%的时候,若超过80%不建议选精简置备,否则可能出现不可预知的写性能下降。
迁移完成后,虚拟机配置文件(.vmx)和磁盘文件会同时写入目标存储,若需要释放源存储空间,要回到虚拟机 → 编辑设置 → 硬盘 → 浏览数据存储,手动删除源目录。
跨 vCenter 迁移要开启增强的 vMotion Compatibility(EVC 的替代方案)
如果你有两套 vCenter(比如机房迁移或并购场景),跨 vCenter 迁移不能直接用上面那个“迁移”按钮,需要采用以下方案:
- 在源 vCenter 中将虚拟机作为模板导出(前提是虚拟机已关机),这属于停机做法。
- 或者使用 vSphere Replication 将虚拟机复制到目标 vCenter,然后执行故障切换,该方案可实现近乎零停机,但需要配置复制密钥,并且要求目标端有足够的 CPU 和内存资源承接业务。
如果你追求不中断服务,建议使用 vSphere Replication 而不是导出模板,据统计,跨 vCenter 复制在 10G 网络下,RPO 可以达到 5 分钟以内,RTO 取决于目标端启动速度。
使用 esxcli 命令迁移本地存储(仅限同一主机跨数据存储)
当 vCenter 不可用时,你仍可以通过 SSH 登录 ESXi 主机执行 vmkfstools -i 命令复制磁盘,然后注册虚拟机,但这个操作要求关闭虚拟机电源,如果虚拟机正在运行,vSphere 的 Storage vMotion 是唯一可用的在线路径。
迁移中的验证清单与失败回滚预案
业务不中断不只是“虚拟机不关机”的概念,还指在迁移过程中业务请求不失败、连接不断开,下面这套操作清单经过多次故障复盘,步骤比较可靠。
迁移前 30 分钟的黄金检查项
- 在 vCenter 的“主机 → 监控 → 性能”里确认源主机 CPU 和内存使用率低于 70%,否则迁移过程可能因为资源竞争导致 VMkernel 认为主机负载过高而触发兼容性检查失败。
- 用业务系统日志记录当前连接数,评估峰值流量时段,尽量避开数据库备份窗口。
- 检查 VMware Tools 状态,确认为“已运行且版本最新”。VMware Tools 过期或未安装,不允许执行在线迁移,系统会直接阻止操作。
迁移过程中的实时观察点
开始迁移后,打开 vSphere Web Client 的任务面板,留意两个指标:
- 传输速度是否稳定,正常 10G 环境下,内存页面传输速度约 500MB/s 到 1.2GB/s,若持续低于 200MB/s,检查目标存储是否为低速 SATA 盘或链路协商异常。
- 源主机和目标主机的虚拟机 CPU 等待时间(CPU Ready)是否超过 20ms,如果目标主机资源不足,业务虚拟机会出现 CPU Ready 升高引发的慢请求。
迁移失败的常见回滚策略
| 失败点 | 现场现象 | 在途处理方式 |
|---|---|---|
| 主机间网络抖动 | 迁移进度停滞并超时 | 等待系统自动回退,虚拟机仍在源主机继续运行,业务未受影响 |
| vMotion 加密密钥不匹配 | 无法建立迁移流 | 取消任务,在目标主机重新添加 vMotion 许可证 |
| 存储多路径超时 | 存储延迟异常 | 暂停存储 I/O(点击虚拟机的“挂起”),但生产环境不建议频繁操作 |
| 目标主机注册失败 | 虚拟机配置不可用 | 手动在目标主机注册源目录中的 .vmx 文件,但要先断开源主机上的虚拟机 |
在这几种情况里,数据面损坏风险较低,因为 vMotion 在内存预拷贝阶段使用位图追踪脏页,若失败会放弃在目标端写入的数据,不会影响源虚拟机,这是 vMotion 设计上的重要保障,也是它区别于冷迁移复制文件的关键。
常见疑问解答:vmware虚拟机热迁移是否影响业务短时闪断
热迁移过程中业务会闪断吗?
不会出现业务会话断开,vMotion 迁移完成切换的瞬间,虚拟机网卡会执行一次 MAC 地址宣告(RARP),交换机学习新端口位置的过程大约几十毫秒,正常配置的网络不会引起业务重连,若你观察到客户端报错或者数据库连接超时,大概率是交换机端口安全策略阻止了 MAC 地址变更,而不是迁移本身的错,解决方法是确认端口组安全策略中“MAC 地址欺骗”选项已勾选接受。
虚拟机和物理机之间能热迁移吗?
不能,vMotion 只能在 ESXi 主机之间迁移虚拟机,无法迁移到物理机,物理机到虚拟机的 P2V 过程需要使用 VMware vCenter Converter Standalone 工具,这个过程需要短暂停业务进行系统封装,不属于在线热迁移范畴。
免费版 ESXi 能执行在线迁移吗?
不行,如前文所述,免费版不包含 vMotion 功能,替代方案是使用虚拟机复制工具,例如在虚拟机内对系统磁盘做在线镜像(如使用 dd 或 rsync),但这样会存在数据不一致的风险,因此生产环境建议购买 vSphere Standard 许可或者考虑迁移到其他虚拟化平台,成本对比下来通常并不比停机维护带来的业务损失更高。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/625895.html




