存储评论网

从 VMware 到 Proxmox VE:分步逃生计划

企业版  ◇  软件

在博通收购并重组 VMware 之后,许多企业和家庭实验室用户一直在寻找能够无缝迁移到其他虚拟机管理程序平台的解决方案。VMware 不断上涨的软件许可和支持成本,催生了对价格更实惠、性能更强大的企业级虚拟机管理程序的巨大需求。Proxmox VE 因其开源特性而成为热门平台。使用内置导入工具,让我们了解如何将虚拟机从独立的 VMware ESXi 服务器迁移到 Proxmox 虚拟环境 (PVE)。

ESXi 迁移先决条件和设置

为确保从 ESXi 顺利迁移到 PVE,请确保两台服务器(或服务器集群)都满足以下条件:

  • 服务器之间不受限制的网络访问 – PVE 服务器必须能够访问 ESXi 主机的 API。
  • ESXi 和 PVE 服务器的“root”用户凭据的可访问性 – 为避免 ESXi 和 PVE 功能的权限问题,建议在迁移过程中在两台服务器上使用“root”用户凭据。
  • PVE 服务器上有充足的存储空间 – 这听起来似乎很简单,但请仔细检查您使用的目标 PVE 服务器是否有足够的存储空间来容纳来自 ESXi 服务器的 VM 磁盘。
  • 未加密的虚拟机磁盘 – 确保已准备好迁移的虚拟机磁盘未使用 ESXi 上的 VM 存储策略或将加密密钥存储在虚拟 TPM 模块中的 OS 级加密方法进行加密。

确认 ESXi 和 PVE 服务器满足上述要求后,登录到要将虚拟机迁移到的 Proxmox VE 服务器。单击 Web 界面左侧的“数据中心”选项卡,然后导航到“存储”视图。

VMware 到 Proxmox VE - Proxmox 启动

单击“添加”,然后从存储选项下拉菜单中选择“ESXi”。

根据您的 ESXi 服务器配置,填写“添加:ESXi”弹出菜单中的所有字段。为了清晰起见,我们建议在“ID”字段中填写 ESXi 服务器的主机名,并勾选“跳过证书验证”复选框。在点击“添加”之前,请确保“节点”字段包含集群中所有将接收迁移虚拟机的 Proxmox VE 服务器。

ESXi 服务器将作为存储显示在 Web 界面左侧所有先前选定节点的下方。点击云图标即可在“虚拟客户机”选项卡下查看可导入的虚拟机。

迁移虚拟机

在 ESXi 服务器的 Web 界面中,使用“控制台”功能登录您计划迁移的虚拟机,并卸载“VMware Tools”(如果客户机上安装了)。具体的卸载步骤可能因虚拟机的操作系统而异,因此请根据客户机的操作系统执行相应的步骤,并在必要时重新启动。在本演示中,我们将使用 Windows Server 2025 虚拟机。

确认虚拟机上不存在“VMware Tools”后,关闭客户机并返回 Proxmox VE Web 界面。如有必要,导航到目标 PVE 节点下最近添加的 ESXi 存储图标并点击,然后选择与要迁移的虚拟机关联的“.vmx”文件。接下来,单击“导入”开始在 PVE 服务器上配置迁移和生成的虚拟机。
注意: 虚拟机的名称 应该 出现在相应的文件名中。

在“导入客户机”窗口的“常规”选项卡中配置虚拟机。为了获得最佳性能,我们建议将“CPU 类型”字段设置为“主机”,除非出于兼容性原因需要选择其他类型。

注意:本指南不涵盖使用“实时导入”功能迁移虚拟机。仅当 ESXi 和 PVE 服务器连接到 10Gbps 或更高带宽的高带宽网络时,才应使用此功能。

配置基本设置后,点击“高级”选项卡。为了在默认未包含 VirtIO 驱动程序的操作系统(通常是 Windows 虚拟机)上获得最佳兼容性,请取消选中“准备 VirtIO-SCSI”复选框。这会将“SCSI 控制器”字段还原为“VMware PVSCSI”,并将虚拟机的磁盘类型还原为 SCSI。您还可以使用每个已连接磁盘的“存储”字段自定义虚拟机的目标存储。

注意:如果您要迁移的虚拟机是启用 EFI 的客户机,请确认“磁盘”列表中已选中“efidisk”项。

查看“结果配置”选项卡后,单击“导入”以验证结果虚拟机的设置。


虚拟机磁盘复制完成后,将出现“任务查看器”窗口,并以“任务正常”结尾。这表示虚拟机已准备好在 Proxmox VE 服务器上启动。

关闭“任务查看器”窗口,然后在 Proxmox VE Web 界面左侧找到新创建的虚拟机。单击虚拟机名称,进入其“控制台”选项卡,然后单击“立即启动”以启动它。

恭喜!您已成功使用 Proxmox VE 的内置导入工具从 ESXi 迁移虚拟机。但是,如果您的虚拟机运行的是 Windows 版本,我们可以采取一些其他步骤来大幅提高虚拟机的可访问性和性能,如下所述。

针对 Proxmox VE 优化 Windows 虚拟机

虚拟机只有在拥有合适的“工具”时才能发挥最大效率。要让您的 Windows 虚拟机运行更快、更高效,并与 Proxmox VE 虚拟机管理程序更好地通信,最简单的方法之一就是在每个虚拟机上安装开源 VirtIO 驱动程序、Qemu 客户端和 SPICE 代理。

您可以点击此处下载包含这三个工具的 ISO 文件。如果您的 Windows 虚拟机可以访问互联网,您可以将 ISO 文件下载到虚拟机上,或者将文件上传到您的 Proxmox VE 服务器并将其附加到虚拟 CD/DVD 驱动器。

要将 ISO 上传到 PVE 服务器,请导航到 Web 界面中 ISO 文件的存储,然后单击“上传”。

在出现的“上传”菜单中,使用“选择文件”选项选择 VirtIO ISO 文件,然后单击蓝色的“上传”选项开始将其复制到服务器的存储。

ISO 文件复制到服务器后,将出现“任务查看器”窗口。等待“任务成功”后退出并将 ISO 附加到任何虚拟机。

接下来,在 Web 界面左侧点击一个 Windows 虚拟机,然后选择其“硬件”选项卡。选择“CD/DVD 驱动器”设备,然后点击“编辑”。

在出现的弹出窗口中,在“存储”和“ISO 映像”字段中填写适当的值,以选择您上传的 VirtIO ISO 文件,然后选择“确定”进行确认。

使用“控制台”选项卡登录客户机,然后在文件资源管理器中打开 ISO。找到“virtio-win-guest-tools.exe”文件,右键单击该文件,然后在出现的菜单中选择“以管理员身份运行”。

如果弹出“用户帐户控制”窗口,请确认并继续执行安装向导,保留所有预先选择的默认选项。

安装程序成功完成后,关闭菜单并返回 Proxmox VE Web 界面中虚拟机的“硬件”选项卡。在此菜单中单击“添加”,然后从下拉菜单中选择“硬盘”。

在“添加:硬盘”菜单中填写详细信息,将“总线/设备”设置为“VirtIO 块”,并将“存储”设置为虚拟机的首选存储。“磁盘大小 (GiB)”字段保留为 32 或将其设置为更小,具体取决于服务器上可用的存储空间大小。完成后,点击“添加”以连接新创建的虚拟磁盘。

添加磁盘后,返回虚拟机的“控制台”选项卡并打开“磁盘管理”菜单。右键单击新磁盘,然后从以下菜单中选择“联机”。同样,将磁盘联机后,再次右键单击它并选择“初始化磁盘”。

为新磁盘选择 MBR 或 GPT 分区样式,然后单击“确定”。

接下来,右键单击新磁盘未分配空间的任意位置,然后选择“新建简单卷”。

使用新推出的简易卷向导,选择一个驱动器号并生成一个您不打算用于虚拟磁盘的卷标。

接下来,关闭“磁盘管理”窗口并关闭虚拟机。关闭电源后,返回虚拟机的“硬件”选项卡。

接下来,请严格按照下面列出的步骤操作,注意不要意外破坏虚拟机的数据或配置。现在,我们将更改几个虚拟化设备和虚拟机选项,以利用之前安装的 VirtIO 驱动程序和客户机代理:

  1. 导航到虚拟机的“硬件”选项卡,然后点击之前添加的 VirtIO 磁盘。点击“分离”确认已分离。
  2. 单击“未使用的磁盘”选项,然后单击“删除”,并确认删除该驱动器。
  3. 对于虚拟机的每一个剩余磁盘,使用“分离”将其与虚拟机断开连接。
  4. 对于虚拟机的每个“未使用的磁盘”,单击“编辑”,将“总线/设备”字段更改为“VirtIO 块”,然后单击“添加”。
  5. 选择“SCSI 控制器”设备,使用“编辑”将其更改为“VirtIO SCSI single”,完成后单击“确定”。
  6. 对于虚拟机的每个“网络设备”,单击“编辑”,将“模型”字段更改为“VirtIO(半虚拟化)”,然后单击“确定”。
    1. 请勿更改 MAC 地址,并且要知道,如果未使用 DHCP,则更改网络接口类型意味着您可能必须编辑客户机内的网络设置。
  7. (仅推荐用于支持 UEFI 的 Windows VM) 选择“机器”选项,单击“编辑”,然后选中“高级”框。
  8. (仅推荐用于支持 UEFI 的 Windows VM) 将“Machine”字段更改为“Q35”,将“Version”字段更改为最上层(最新)类型,并将“vIOMMU”字段更改为“VirtIO”。
  9. 导航到虚拟机的“选项”选项卡,单击“QEMU Guest Agent”选项,然后单击“编辑”。
  10. 勾选“使用 QEMU Guest Agent”字段,确保选择“默认(VirtIO)”或“VirtIO”,然后点击“确定”。
  11. 选择“启动顺序”选项,然后单击“编辑”。
  12. 拖放并检查启动选项,以确保为虚拟机选择了所需的启动选项,然后单击“确定”。
    1. 请花一点时间检查一下此时对虚拟机所做的更改。所有“硬盘”、“网络设备”和“SCSI 控制器”虚拟设备都应更改为各自启用 VirtIO 的选项,并且如果虚拟机兼容 UEFI,则应将虚拟机的“机器”类型设置为“Q35”。
  13. 最后,导航到虚拟机的“控制台”选项卡,然后单击“立即启动”以启动它。

注意:如果您在使用传统 BIOS 配置或模拟 LSI“SCSI 控制器”类型的虚拟机时遇到启动问题,请导航至虚拟机的“硬件”选项卡,使用“分离”断开所有虚拟磁盘。使用“编辑”打开菜单,将“总线/设备”类型更改为“SATA”。更改后,使用蓝色“添加”选项关闭菜单,然后导航至虚拟机的“选项”选项卡,选择“启动顺序”选项并单击“编辑”。重新排列启动顺序,使 SATA 启动磁盘排在第一位,然后选中“启用”复选框完成操作。

之前:

后:

结语

借助 Proxmox 内置的导入工具,从 VMware ESXi 迁移到 Proxmox VE 的过程变得非常简单。您可以按照正确的准备步骤(验证兼容性、清理 VMware Tools 以及配置导入设置)来迁移工作负载,从而最大程度地减少停机时间和中断。虚拟机在 Proxmox 上成功运行后,请验证其性能,在适用的情况下安装 VirtIO 驱动程序,并在更新后的环境中进行新的备份。确认一切运行顺畅可靠后,最佳做法是停用或归档原始 ESXi 虚拟机,以释放资源并避免跨平台配置漂移。

此流程为许多用户提供了相对轻松便捷的过渡方案,既解决了 VMware 许可成本不断上涨的问题,又保持了稳健的企业级平台,满足核心虚拟化需求。此外,如果您想在 Proxmox VE 中共享 GPU,请参阅我们的Proxmox vGPU指南。

来源

参与 StorageReview

电子报| YouTube | 播客iTunes / Spotify | Instagram | Twitter | TikTok | RSS订阅

安德鲁·瓦格

Andrew Waag 是 Linde plc 的分布式系统管理员,他的兴趣包括服务器硬件、企业存储系统和网络设备。他总是在寻找新事物来利用他的家庭实验室,并尝试虚拟化和存储技术。