1. vMotion业务迁移工程导论

vMotion 是 vSphere 中最具代表性的在线迁移能力,它允许正在运行的虚拟机在不中断业务的前提下,从一台 ESXi 主机迁移到另一台 ESXi 主机。但把 vMotion 当作“点一下按钮就能搬走”的功能,是工程实践中最常见的误判。真正的迁移工程要回答三个问题:迁移对象是什么、迁移路径经过哪些资源、迁移过程中业务是否持续可用。本课程围绕这三个问题展开,把 vMotion 从单点操作提升为一套可规划、可验证、可回退的工程方法。

课程目标

完成本课程后,你应当具备以下能力:能够识别一次 vMotion 迁移所依赖的计算、存储、网络三类资源条件;能够根据业务窗口和风险等级选择标准 vMotion、Storage vMotion 或跨 vCenter 的混合迁移方式;能够为迁移设计前置检查、执行监控和回退方案;能够读懂迁移任务中的关键指标,例如迁移速率、内存传输轮次和切换停顿时间,并据此判断迁移是否健康。课程不追求罗列菜单,而是让你在真实拓扑中做出可解释的决策。

迁移工程生命周期

迁移工程不是一次操作,而是一个有起点和终点的闭环。可以把它划分为五个阶段:评估、设计、准备、执行、收尾。评估阶段盘点待迁移虚拟机的资源画像,包括 vCPU、内存、磁盘容量、存储类型和网络依赖;设计阶段确定目标主机、目标存储和目标端口组,并判断是否需要跨 vCenter 或跨长距离链路;准备阶段完成兼容性检查、权限确认、快照与备份策略;执行阶段按批次迁移并实时观察指标;收尾阶段核对业务状态、清理临时快照、更新资产记录。

这五个阶段中,评估和设计决定了迁移的上限,执行只是把设计落地。很多迁移失败并非发生在点击“迁移”之后,而是因为评估阶段漏掉了某个 RDM 磁盘或某个仅存在于源主机的端口组。因此本课程会把大量篇幅放在前置条件上。

vMotion 迁移工程生命周期与资源依赖 评估 资源画像 / 依赖盘点 设计 目标主机 / 存储 / 网络 准备 兼容性 / 权限 / 备份 执行 批次迁移 / 指标监控 收尾 核对 / 清理 异常回退:保留源端运行状态,按批次暂停 迁移路径上的三类资源依赖 计算资源 • 源/目标 ESXi CPU 兼容性 • EVC 基线是否一致 • 目标主机内存余量 ≥ VM 内存 • 目标主机 vCPU 超分比 • 集群 DRS 自动化级别 • 目标主机维护模式状态 存储资源 • 共享存储 vs 本地存储 • VMFS / NFS / vSAN 类型 • 目标数据存储剩余容量 • 磁盘置备方式(厚/薄) • RDM 与快照依赖 • 存储 IOPS 与延迟余量 网络资源 • vMotion VMkernel 端口 • 源/目标 vMotion 网段互通 • 专用 vMotion 网卡带宽 • MTU 一致性(如 9000) • 端口组与 VLAN 可达性 • 迁移流量与业务流量隔离 核心术语:ESXi 主机 · vCenter Server · VMkernel 端口 · 数据存储 · 端口组 · 迁移任务 · 切换停顿 · 回退点

核心术语与整体架构

理解 vMotion 需要先建立一张清晰的架构图。源 ESXi 主机和目标 ESXi 主机各自运行虚拟机,二者通过 vMotion VMkernel 端口建立迁移通道。vCenter Server 负责发起任务、校验兼容性并跟踪进度。共享存储让磁盘数据无需复制即可被目标主机访问;如果使用 Storage vMotion,则磁盘数据也会通过存储网络传输。网络层面,虚拟机的端口组必须在目标主机上存在同名或可映射的配置,否则迁移后虚拟机将失去网络连接。

迁移过程中,源主机持续跟踪虚拟机的内存页变化。第一轮传输全部内存页,随后对发生修改的脏页进行多轮增量传输。当脏页速率降到足够低时,虚拟机进入短暂的切换停顿,源主机挂起虚拟机,把最后一批内存和 CPU 状态传到目标主机,目标主机恢复运行。这个停顿通常在几十毫秒到几百毫秒之间,是业务几乎无感的根本原因。理解“多轮增量传输 + 短暂停顿”这一机制,就能理解为什么内存写入密集型的虚拟机迁移时间更长,也就能解释为什么迁移速率和脏页速率是监控的核心指标。

迁移方式的选择

标准 vMotion 只迁移计算状态,要求源和目标都能访问同一份存储。Storage vMotion 同时迁移计算和存储,适用于更换数据存储或存储阵列的场景。跨 vCenter vMotion 则用于数据中心整合或云迁移,需要额外的网络连通性和权限配置。选择哪种方式,取决于迁移目标:如果只是主机维护,标准 vMotion 足够;如果要下线旧存储,必须使用 Storage vMotion;如果涉及不同 vCenter 实例,则要评估跨站点延迟和加密要求。

迁移前建议先做一次“空跑”验证:选择一台非关键虚拟机执行迁移,观察任务耗时、切换停顿和网络连通性,再推广到生产批次。这比直接迁移核心业务更安全。

工程视角下的关键判断

一次迁移是否成功,不能只看任务状态是否变成“已完成”。工程上还要确认:虚拟机在目标主机上网络是否可达、存储延迟是否正常、业务进程是否持续响应、监控告警是否出现异常。如果迁移后业务出现短暂抖动,需要回看切换停顿时间和目标主机的资源争用情况。把这些判断标准前置到设计阶段,迁移才从“操作”变成“工程”。