VMware 虚拟机迁移到 Proxmox VE,可以用内置 ESXi 导入向导读取源虚拟机,把磁盘复制到目标存储,再检查启动方式、驱动和网络。本篇采用容易核对的停机导入:先备份和演练,关闭源虚拟机,完整导入后在隔离网络验收,最后切换业务。迁移完成前保留源机;两份虚拟机不能同时接入业务网络运行。
本文按 Proxmox 官方说明整理操作示例,适合第一次参与迁移的网络工程师,不代表煜企已在你的环境中测试。主线是普通 Windows Server 2022 成员服务器;Linux 差异另列。读完应能完成一台非关键虚拟机的迁移演练,并知道哪些情况需要停止。
一、先确认:这次迁移的起点和终点是什么?
这里的 VMware 迁移,特指从 ESXi 搬到 Proxmox VE,不是 ESXi 主机之间的 vMotion,也不是把 Windows 上的 VMware Workstation 直接改成服务器平台。
ESXi 是原有虚拟化主机;Proxmox VE(下文简称 PVE)是目标平台;虚拟机里运行的 Windows 或 Linux 是客户机系统。迁移会改变客户机看到的磁盘控制器、网卡等虚拟硬件,因此“磁盘复制完”之后还要做适配。
| 项目 | 本文范围与操作示例 |
|---|---|
| 源平台 | ESXi 6.5–8.0;这是官方迁移文档列出的已测试来源范围,不代表旧版本仍有安全支持 |
| 目标平台 | 已更新、仍受支持且具备 ESXi 导入菜单的 PVE;集成向导自 8.2 提供 |
| 首次演练对象 | 一台普通成员服务器,Windows Server 2022,2 vCPU、4–8 GB 内存、一块系统盘 |
| 源存储 | 普通可访问 datastore;不直接导入 vSAN 后端或 VMware 加密磁盘 |
| 迁移方式 | 停机、完整导入;本篇不勾选 Live Import |
| 目标条件 | PVE 已安装,有可用镜像存储、独立备份和预先规划的测试网络 |
不要从域控制器、数据库集群、带共享磁盘的应用、直通 GPU、RDM、加密或依赖 vTPM 的机器开始。它们需要单独的应用恢复、设备和安全方案。PVE 的服务器安装、集群搭建和生产网络改造也不在这一次迁移步骤中。当前官方文档仍将 Import Wizard 标为技术预览,先完成非关键机演练,再决定生产使用;存在菜单不等于已经验证你的工作负载。
官方边界见 Proxmox 迁移文档;向导界面流程可对照 Proxmox 官方 ESXi 导入演示。
二、迁移前先做一张能用于回退的清单
不要只截一张虚拟机摘要。把下面的字段记录到变更单,确保即使目标机启动失败,也知道原配置是什么。
| 类别 | 要记录的内容 | 为什么要记 |
|---|---|---|
| 身份 | 名称、用途、业务负责人、主机名、域成员身份 | 找到实际验收与放行人员 |
| 计算资源 | vCPU、内存、CPU 特殊指令依赖 | 避免导入后资源不足或应用无法启动 |
| 启动方式 | BIOS 或 UEFI、Secure Boot 状态、启动盘 | 决定目标使用 SeaBIOS 还是 OVMF |
| 每块磁盘 | 容量、控制器、盘符、卷标、数据位置 | 防止只搬系统盘、遗漏业务盘 |
| 每张网卡 | MAC、端口组、VLAN、IP、掩码、网关、DNS、静态路由 | PVE 网桥不等于 VMware 端口组 |
| 应用 | 服务账户、依赖服务器、许可证绑定、计划任务、业务端口 | 操作系统能登录不代表业务能用 |
| 备份与回退 | 备份时间、恢复验证记录、源机保留期、停止时间点 | 让回退有可执行依据 |
Windows 里可从“服务器管理器 → 本地服务器”核对网卡与域成员状态,从“磁盘管理”核对卷,从“系统信息”核对 BIOS 模式。端口组、虚拟磁盘控制器和 Secure Boot 则到 ESXi 虚拟机设置中核对。客户机盘符与 ESXi 虚拟磁盘要对应起来,不能只按磁盘排列顺序猜测。
先做独立备份,并确认备份产品能恢复到什么平台。一次备份任务成功与一次恢复验证是两件事;至少在隔离环境验证能恢复系统和关键数据。VMware 快照依赖原磁盘,不是独立备份,见 Broadcom 快照最佳实践。有快照时先核实备份、datastore 剩余空间与维护窗口,再按原平台流程合并;遇到失败或长时间不结束的合并任务,停止迁移排期并交管理员处理;不要取消或强制中断正在运行的快照删除/合并任务,也不要手工删除磁盘文件。
如果机器承担 AD/DNS 服务,应先理解其依赖。可以先阅读 企业 AD 域部署攻略,但不要把本篇普通成员服务器流程直接用于唯一域控。
三、准备存储、网络和足够的停机时间
1. 存储空间要覆盖导入后的真实占用
PVE 目标存储必须支持虚拟机磁盘内容,不能把只能存 ISO 的存储当目标。记录当前可用空间,计算所有待迁移磁盘、可能的格式转换开销、试迁移副本和备份空间。精简置备源盘的已用容量不能保证等于导入占用,目标是否支持稀疏分配也会影响结果。
首次只搬一台虚拟机,保留足够增长余量;不要用“看起来还够”代替容量检查。导入期间空间持续下降到预定停止线,就中止本次迁移并核实目标任务和已创建磁盘,再决定是否清理目标副本;源机保持不变。
2. 分清源主机管理网络、数据传输和客户机网络
PVE 节点需要通过受控网络连接源 ESXi 的管理接口,导入器才能读取配置和磁盘。目标客户机网卡则连接 PVE 网桥。管理连接成功不代表客户机能联网。
准备两个用途不同的网络:迁移通道用于 PVE 访问 ESXi;隔离测试网桥用于首次启动客户机。测试网桥应经过管理员配置和验证,没有通往生产网的物理上联、路由、NAT 或其他转发路径。名字里写“test”不代表已经隔离。需要做客户端业务测试时,只连接授权测试客户端。
生产网卡映射可以先写成下面这样的表。数值是示例,必须换成你的现网规划。
| VMware 侧 | PVE 侧示例 | 需要确认 |
|---|---|---|
| 应用服务器端口组 | 生产网桥 vmbr0,VLAN Tag 50 | 该网桥允许对应 VLAN,上联为正确 trunk,客户机自身不重复打标签 |
| 首次启动的克隆副本 | 隔离网桥 vmbr99 | 无生产上联、无转发路径;只有测试客户端可访问 |
| 源机管理地址 | 源 ESXi 的受信任名称或管理 IP | 从 PVE 可访问、证书与身份匹配 |
如果物理端口是 access/untagged 网络,就不要照抄表中的 VLAN 50。应按物理交换机和网桥实际设计确定是否留空 VLAN Tag。不同端口组名称、不同网桥名称本身也不自动提供安全隔离。
实拍来源:Solomon203,Intel EXPI9301CTBLK 网卡,CC BY-SA 4.0。本文仅缩放并转码 WebP;非本文现场。照片用于说明识别物理网卡和接口,不表示这张旧型号网卡适合你的 PVE 或 ESXi 版本。链路协商速率、驱动、交换机和目标磁盘都会影响迁移速度,购买前核对平台兼容性。
3. 停机窗口不能只按网卡标称速率计算
例如需传输 200 GiB,演练测得持续有效吞吐为 80 MiB/s,则单纯复制约需 43 分钟。这是算例,不是现场性能承诺。还要加上停服务、关机、磁盘转换、首次启动、驱动处理、业务验证和预留回退时间。实际读取量取决于源磁盘和导入方式,以演练测量为准。
在变更单里同时写明“最晚开始回退”的时间,不能等整个维护窗口耗尽才决定。首次串行导入,避免并发任务耗尽源 ESXi API 连接或 PVE 内存;不要为了提速随意取消源主机安全限制。
四、在 PVE 添加 ESXi 导入来源
- 在 PVE 管理界面选择“Datacenter → Storage → Add → ESXi”。如果看不到 ESXi,先确认版本、更新状态和账户权限;不要继续套用其他存储类型。
- ID 填一个便于识别的来源名称,例如 esxi-source。Server 填源 ESXi 的管理名称或地址,优先直接连接 ESXi;官方文档提示经 vCenter 导入会明显影响性能。
- 输入由管理员批准、具备导入所需权限的源主机管理账号。凭据只填入平台认证字段,不放进文章、工单截图或共享清单;迁移期间限制 PVE 管理员访问;确认所有导入任务完成、观察期与回退安排不再需要来源连接后,移除临时导入来源并撤销临时账号访问,不删除原虚拟机数据。
- 优先使用受信任的服务器证书,或预先让管理员将内部 CA 纳入 PVE 信任范围。界面有“Skip Certificate Verification”选项,但不要把关闭验证当作默认步骤;遇到证书异常先核对主机身份、名称和证书链。
- 添加后,在左侧资源树选择来源,进入虚拟机导入列表。核对能看到预期名称、配置位置及磁盘;看见虚拟机不等于已经复制完成。
本步预期结果是 PVE 能正确枚举源虚拟机。登录失败先查账号、源地址、网络和证书;列表可见但读取磁盘失败,再查 datastore 权限、磁盘类型和 API/许可限制。不要反复创建同名来源或改用来历不明的密钥。
免费 ESXi 的能力不能只凭名称判断。例如 Broadcom 的免费 ESXi 8.0 U3e 说明明确列出管理 API 限制;这不等于所有免费版本必然无法读取。先用非关键机器验证实际账号的枚举与导入能力,受限制就停止,改用实际授权允许的导出或备份恢复路径。
五、在源虚拟机里完成迁移前处理
- 再次确认最新备份可用、恢复记录存在,业务负责人知道停机窗口;准备好 Windows 本地管理员登录方法,避免迁移后因 DNS 或域通信异常无法登录。
- Windows 里先记录每张网卡的静态配置。需要清除旧网卡静态地址时,必须在控制台和网络记录都齐备的条件下由管理员处理,不要远程唯一连接还没保底就改地址。
- 下载与客户机系统匹配、来源可核验的 VirtIO 驱动 ISO。在 PVE 左侧选择支持 ISO 的存储,进入“ISO Images → Upload”上传;完成第六节导入、目标虚拟机创建后,再按第七节挂载 ISO。来源与安装说明见 Proxmox Windows VirtIO 驱动文档。
- 按官方迁移准备建议处理 VMware Tools;若卸载,安排在已备份、最后一次关机前,并确认卸载后需要的重启已经完成。不要在尚需依赖 VMware Tools 做应用一致性备份时提前卸载。Linux 的 open-vm-tools 按发行版方式处理,不手工删内核模块。
- 关闭业务入口、停止应用写入,记录最终数据时间点,然后在客户机内部正常关机。ESXi 显示“Powered off”后再导入;不能把挂起或应用无响应当作关机。
原机保持关机并保留。关闭其自动启动安排,记录回退时如何恢复;防止主机重启或其他操作人员误把源机启动。首次迁移不要同时升级操作系统、调整分区和换应用版本,避免失败时无法判断原因。
六、逐项核对导入向导,完整导入后再开机
在来源列表选择本次虚拟机,点击“Import”。各版本标签可能略有差别,按实际页面逐项核对。
| 向导字段 | 本次怎么选 | 继续前检查 |
|---|---|---|
| VM ID / Name | 使用未占用 ID,例如 220;名称可加迁移标记 | 不与现有虚拟机混淆 |
| CPU / Memory | 先保持合理的源资源规模 | 目标有余量;特殊指令需求已核实 |
| Default Storage | 选支持虚拟机磁盘的目标存储 | 每块数据盘都映射,容量足够 |
| Default Bridge | 首启选预先验证的隔离测试网桥 | 不能误接生产网 |
| Advanced | 逐盘、逐网卡检查 | 不遗漏第二块盘、第二张网卡或错误挂载的 ISO |
| Resulting Config | 阅读最终配置 | 启动方式、磁盘数量、网卡映射与记录一致 |
| Live Import | 本篇保持关闭 | 先完整复制,再启动验收 |
确认源机已经关闭后提交一次。到任务窗口看详细日志,等待任务明确结束;只看到百分比到 100% 还不够,应核对最终任务结果和全部磁盘。失败时先查任务日志与目标已创建资源,避免不断点击重试产生残留和混淆。
图中 ESXi OFF 表示源机关闭,PVE IMPORT 表示完整复制,ISOLATED TEST 表示目标机在隔离网验收;CUTOVER 是验收后的独立业务切换步骤。导入不是备份,也不是 vMotion。图为原理说明,具体界面以实际版本为准。
PVE 的 Live Import 是在源机关闭后提前启动目标机、后台继续导入,并非源机不停机。官方提示:导入失败可能丢失导入开始后的写入。初次迁移先完成普通停机导入,不为减少几分钟停机承担未演练的数据路径。
七、Windows 第一次启动:先让系统认盘,再优化驱动
1. 核对固件与启动顺序
导入结束后先不要接生产网络。到目标虚拟机“Hardware”和“Options”检查:源机为传统 BIOS 时对应 SeaBIOS;源机为 UEFI 时对应 OVMF,并核实 EFI 磁盘及启动项。保留 Secure Boot 的需求必须与签名和密钥方案相符,不能遇到启动问题就随意关闭。
“Options → Boot Order”里勾选并优先排列实际系统盘,取消已经失效的安装 ISO 启动。出现“找不到启动设备”时先查固件、启动顺序、系统盘是否遗漏;UEFI 客户机还可能需要在固件中重新建立启动项。不要直接格式化原系统盘或重装。
2. Windows 不认识 VirtIO 启动盘时,先用 SATA
如果 Windows 尚无可用的 VirtIO 存储驱动,直接使用 VirtIO SCSI 启动盘可能出现 INACCESSIBLE_BOOT_DEVICE。官方迁移文档给出的兼容办法是先使用 IDE 或 SATA;本文示例用 SATA。
- 确认目标虚拟机已关闭,记录导入磁盘的卷名。
- 在“Hardware”中选中系统盘,使用“Detach”解除挂载。磁盘应变成“Unused Disk”;这里是解除设备连接,不是删除磁盘数据。若界面显示删除数据的确认,取消并重新核对。
- 选中同一块 Unused Disk,点击“Edit”或双击,Bus/Device 选择未占用的 SATA 位置,重新挂载。
- 在“Options → Boot Order”中启用新的 SATA 系统盘。核对其他业务盘仍存在,然后在隔离网络首启。
成功标志是能从原系统盘登录、卷和数据齐全,不是出现启动动画。首启依旧失败时保留错误信息,按迁移前记录检查固件和控制器,不在同一次故障中反复更换多个参数。
3. 切换 VirtIO SCSI 要分两次启动
- 保持系统盘挂在 SATA,在目标虚拟机“Hardware → CD/DVD Drive → Edit”(没有光驱时用“Add → CD/DVD Drive”)选择已上传的官方 VirtIO 驱动 ISO;安装与 Windows 版本和架构对应的签名驱动。操作前确认已经有可恢复的目标备份。
- 在目标虚拟机关闭时,把 SCSI Controller 设置为 VirtIO SCSI single,并用“Hardware → Add → Hard Disk”添加一块很小的临时 SCSI 磁盘,例如 1 GiB。保留 SATA 系统盘。
- 启动 Windows,让真实的 VirtIO SCSI 设备触发驱动加载。在设备管理器中确认存储控制器和临时磁盘被识别、没有相关错误。无需初始化或格式化这块临时盘。
- 正常关机,解除 SATA 系统盘挂载后,将同一块系统盘重新挂到 SCSI;更新 Boot Order。不要在磁盘列表里选择“删除”替代“Detach”。
- 再次启动,确认原系统、业务卷和服务正常。通过后移除临时磁盘;确认卷身份再清理,别把业务盘当临时盘。若失败,关闭目标机,把同一系统盘接回 SATA 并恢复启动顺序,然后检查驱动。
图中三阶段依次为 SATA BOOT、LOAD DRIVER、SCSI BOOT。驱动安装器执行完不等于启动驱动已经验证,临时 SCSI 设备的识别和第二次重启都要核对。方法依据 Proxmox Windows 半虚拟化块设备驱动说明;本图不代表实机通过,卡片外观表达虚拟控制器关系,不表示需要购买实体控制卡。
4. 修复网卡与客户机集成
在目标机“Hardware”中核对网卡型号、网桥、VLAN 和 MAC;使用 VirtIO 网卡时,先让 Windows 安装对应驱动。Windows 可能把它识别为新网卡,原 IP 仍留在已隐藏的旧适配器上。遇到地址已分配提示,不要随便换一个生产地址;核对旧接口、网络记录和地址占用后再由管理员清理。
在新网卡恢复原掩码、网关、DNS 和必要静态路由;如果只是隔离验收,继续使用隔离测试方案,尚不放行业务写入。不要把内部 AD DNS 改成公共 DNS 来掩盖解析问题。
QEMU Guest Agent 是独立的客户机集成组件,不是磁盘或网卡驱动。需要时按 PVE Guest Agent 说明安装服务,并在虚拟机选项中启用;检查服务确实运行,不能只勾一个开关就记为成功。
八、Linux 客户机有哪些不同?
Linux 通常已经包含 VirtIO 驱动,但自定义内核、旧发行版或特殊启动镜像不一定具备完整启动支持。迁移前先确认发行版支持、根文件系统识别方式、启动镜像的驱动,以及网络配置是否绑定旧接口名或 MAC。
导入后优先通过控制台登录,检查系统盘和所有数据卷。原来的网络接口名称可能变化;用该发行版支持的网络工具,把旧配置映射到新接口,核对 IP、路由和 DNS。服务依赖特定磁盘路径或 MAC 时也要处理。不要照抄其他机器的网卡名,不把“Linux 一般有驱动”写成所有 Linux 都能直接启动。
如果启动镜像缺驱动、系统进入紧急模式或发现卷丢失,停止业务切换,按该发行版恢复文档修复或回退。本文不提供跨发行版通用的一条命令修复承诺。
九、验收、切换与回退:决定能否交付的三步
1. 隔离验收先看业务,再看开机状态
| 检查层 | 至少验证什么 | 记录什么 |
|---|---|---|
| 系统 | 正常登录、重启后能再次启动、时间正确 | 启动结果、事件或系统日志异常 |
| 磁盘 | 所有卷、容量、关键目录、权限和抽样文件一致 | 抽查路径、文件数或校验结果 |
| 驱动 | 存储与网卡正确识别,无相关设备异常 | 型号、驱动版本、错误信息 |
| 网络 | 预期网桥/VLAN、地址、路由和 DNS | 从授权测试客户端的访问结果 |
| 应用 | 账户登录、查询、读取、测试写入及后台任务 | 负责人确认与测试数据清理记录 |
| 运维 | 备份可执行、监控指向新平台、告警能投递 | 新备份恢复安排和监控对象 |
域成员或应用必须依赖生产 DNS、身份服务、数据库才能验收时,先在受控环境提供相应依赖或设计专门测试窗口。无法完整验证就记录缺口,不能以“控制台能登录”代替完整业务验收。测试写入使用隔离测试数据,不在两份生产副本上同时写。
2. 切换时只允许一个有效的业务副本
隔离验收通过后,关闭目标机。再确认源机仍关闭、源自动启动受控,按映射表把目标网卡切换到生产网桥和正确 VLAN。启动目标机,恢复业务入口,使用真实客户端完成小范围验收,再由负责人放行。
需要更改 DNS、负载均衡或防火墙时按变更单操作,并考虑缓存和生效时间;保留原 IP 并不代表不需要检查依赖。原机继续关机保留到约定观察期结束,不立即删源磁盘。
3. 回退前先判断目标机是否产生新数据
若尚未放行生产写入,且问题无法在预留时间内解决:关闭并断开目标机网络,确认目标已经退出业务,然后恢复源机网络及启动安排并开机,核对业务入口恢复。
目标机已经接受真实写入时,不能直接启动旧源机回退。 源盘不包含迁移后新数据。先停止写入、保留目标数据,由应用负责人确定同步、恢复或前滚方案。这里的源机保留只提供旧时间点,不等于随时无损回滚。
十、常见故障怎么按顺序排查?
| 现象 | 优先检查 | 停止条件 |
|---|---|---|
| 找不到 ESXi 导入选项 | PVE 版本、更新、权限 | 菜单和依赖未准备好,不盲目改配置 |
| 看得到虚拟机但无法导入磁盘 | vSAN、加密、权限、API/许可、源数据存储状态 | 不支持磁盘或授权不满足,改走评估路径 |
| 导入慢或出现 503 | 其他导入任务、API 限流、链路、快照和存储 I/O | 停止增加并发;不要取消安全限制硬撑 |
| 找不到启动设备 | SeaBIOS/OVMF、启动顺序、系统盘、UEFI 启动项 | 不格式化原盘来“修复” |
| Windows 蓝屏无法读启动盘 | SATA 首启方案、VirtIO SCSI 驱动及启动配置 | 回 SATA 恢复后再诊断 |
| 系统正常但网络或业务失败 | 新网卡、VLAN、桥、路由、DNS、许可证和依赖 | 不带着未知故障直接放行业务 |
| 想回退却已有新写入 | 两端数据时间点、应用同步/恢复方案 | 未确定数据处理方法前不启动旧副本 |
FAQ
VMware 迁移到 PVE 能零停机吗?
本文不能。普通导入先关闭源机;Live Import 也要求源机关闭,只是在复制完成前提前启动目标。数据库和集群应用若需更低停机,应另做应用复制与切换方案。
vSAN、加密磁盘和 vTPM 能直接搬吗?
官方文档说明向导不能直接导入 vSAN 后端和加密磁盘,VMware 的 vTPM 状态也不能直接迁到 PVE。先准备备份与恢复密钥,再由负责人制定数据移动、解密或重建方案;不要靠删除安全设备尝试碰运气。
VMware 快照能当回退备份吗?
不能当独立备份。它依赖原磁盘和快照链;本篇要求独立备份、恢复验证,并保留已关机的源虚拟机。目标已经产生新数据时,还需要应用层的数据处理方案。
Windows 驱动装好了,为什么仍然蓝屏?
安装包执行完不表示启动存储控制器已经被实际识别。先保留 SATA 系统盘,通过临时 SCSI 磁盘确认驱动加载,再关机切换系统盘与启动顺序;同时排除固件与磁盘映射问题。
相关解决方案
需要企业迁移评估、兼容性核对、演练、切换和交付,可参考 虚拟化迁移与资源整合。本文是具体操作教程,完整项目仍需覆盖备份、权限、应用依赖和维护窗口。
相关阅读
- Windows Server 日常维护巡检:迁移后把系统检查纳入日常运维。
- Uptime Kuma 业务可用性监控:把“网页返回正常”与“业务内容正确”分开检查。
如果准备第一次迁移,先选一台无关键依赖的测试服务器,完整走过备份、导入、验收和回退演练,再安排业务窗口。



