×

《VMware Workstation 中的虚拟机迁移到 Proxmox VE (PVE)》

hqy hqy 发表于2025-10-26 23:13:41 浏览12 评论0

抢沙发发表评论

VMware Workstation 中的虚拟机迁移到 Proxmox VE (PVE)

将 VMware Workstation 中的虚拟机迁移到 Proxmox VE (PVE) 集群,可以通过几种方法实现。下面我用一个表格概括主要迁移方式及其特点,然后详细说明步骤和注意事项:

迁移方式
主要特点
适用场景
OVF 导出与 PVE 导入法
操作相对直观,通过标准 OVF 模板转换
单台虚拟机迁移,尤其适合 Windows 系统
VMDK 磁盘直接转换法
直接处理磁盘文件,可保留动态磁盘特性
Linux 系统迁移
第三方工具
可以通过网络实时迁移到其它平台
不同平台之间无法导入的情况下,可以使用第三方工具迁移

迁移前的准备

开始迁移前,请做好以下准备:

  1. 1. 备份虚拟机:在 VMware Workstation 中为 迁移的虚拟机创建一个快照或使用导出功能完整备份,防止迁移过程中出现意外导致数据丢失 。
  2. 2. 检查 PVE 集群:确保目标 PVE 集群运行正常,并有足够的存储空间和计算资源来接收新的虚拟机。
  3. 3. 记录网络信息:如果虚拟机使用静态 IP 地址,请记下其 MAC 地址和 IP 配置,以便迁移后恢复网络连接 。
  4. 4. 安装必要工具:在 Linux 虚拟机中,可以考虑预先安装 qemu-guest-agent,尤其是Windows虚拟机最好提前安装 virtio-win-guest-tools以避免不必要的调整总线带来的麻烦 。

方法一:通过 OVF 模板导出和导入

这是 VMware 和 PVE 都支持的标准虚拟化格式迁移方式。

  1. 1. 在 VMware Workstation 中导出虚拟机
    • • 确保VMware Workstation需要迁移的虚拟机已完全关闭
    • • 在 VMware Workstation 中,右键点击该虚拟机,选择 “导出为 OVF”(注意不要选择 OVA 格式,PVE 对其支持可能不佳)。这将生成一个 .ovf 描述文件、一个或多个 .vmdk 磁盘文件以及一个 .mf 清单文件 。
  2. 2. 将文件传输到 PVE 节点
    • • 使用 SCP、SFTP 或其他工具(如 WinSCP、FileZilla)将导出的 OVF 和 VMDK 文件上传到你的 PVE 集群中的某个节点的某个目录下,例如 /tmp 或 /var/lib/vz/template/iso/ 。
  3. 3. 在 PVE 中导入虚拟机
    • • 通过 SSH 或 PVE 节点的 Shell 环境,使用 qm importovf 命令导入。例如:
      qm importovf <VMID> <上传的.ovf文件> <存储名称> --format <磁盘格式>
      其中:
      • • <VMID> 是你想为这台新虚拟机指定的唯一 ID(不能与现有虚拟机冲突)。
      • • <上传的.ovf文件> 是上传到 PVE 的 OVF 文件路径。
      • • <存储名称> 是 PVE 中准备存放虚拟机磁盘的存储名称(如 local-lvmlocal-zfs 等)。
      • • --format 选项指定磁盘格式(如 qcow2raw)。
    • • 导入过程可能需要一些时间,取决于虚拟机磁盘的大小。
  4. 4. 配置导入的虚拟机
    • • 导入完成后,在 PVE 的 Web 管理界面中可以看到新创建的虚拟机(对应你指定的 VMID)。
    • • 检查并调整硬件:检查虚拟机的硬件配置,如 CPU 核心数、内存大小、网络设备(可能需要添加或调整网桥 vmbr0)、磁盘控制器类型(重点注意)和引导顺序等 。
    • • 特别注意磁盘控制器:由于是从 VMware 迁移而来,导入的虚拟机磁盘控制器可能默认为 SCSI 控制器(如 LSI 53C895A)。Linux虚拟机通常能较好地处理 VirtIO 驱动,但为保证首次启动成功,可以考虑先将磁盘总线临时修改为 IDE 。成功启动并安装必要的 VirtIO 驱动后,再在关机状态下将磁盘控制器改回更高效的 VirtIO SCSI 。
    • • 安装并配置 QEMU Guest Agent:在虚拟机内部安装并启动 qemu-guest-agent,这能让 PVE 更好地获取虚拟机状态和执行某些操作 。

方法二:直接转换并导入 VMDK 磁盘

此方法直接处理 VMware 的虚拟磁盘文件。

  1. 1. 获取 VMDK 磁盘文件
    • • 关闭VMware Workstation需要迁移的虚拟机。
    • • 在 VMware Workstation 中,找到虚拟机对应的 .vmdk 磁盘文件(通常位于虚拟机目录中)。
  2. 2. 将 VMDK 文件传输到 PVE
    • • 同样使用 SCP、SFTP 等工具将 .vmdk 文件上传到 PVE 节点的某个目录下 。
  3. 3. 在 PVE 中创建空白虚拟机
    • • 在 PVE Web 管理界面中,创建一个新的虚拟机。指定一个唯一的 VMID,在“操作系统”和“磁盘”配置步骤中,暂时不要添加任何磁盘(选择“不创建任何磁盘”)。
  4. 4. 导入并转换磁盘
    • • 在 PVE 节点的 Shell 中,使用 qm importdisk 命令:
      qm importdisk <VMID> <上传的.vmdk文件> <存储名称> --format <磁盘格式>
      例如:
      qm importdisk 999 /var/lib/vz/template/iso/istoreOS-0.vmdk local-lvm --format qcow2
      此命令会将 VMDK 磁盘转换为 PVE 支持的格式(如 qcow2)并导入到指定的存储中 。
  5. 5. 附加磁盘并配置虚拟机
    • • 导入成功后,在 PVE Web 界面中该虚拟机的“硬件”选项卡下,你会看到一个“未使用的磁盘”。
    • • 双击该未使用的磁盘,将其附加到虚拟机上。务必注意选择正确的总线类型(如 SCSI、VirtIO Block 或 IDE)。同样,为保险起见,初次启动可先选 IDE,后续再更换为 VirtIO 。
    • • 调整引导顺序:在虚拟机的“选项” -> “引导顺序”中,确保新添加的磁盘是首要引导设备 。
    • • 根据需要配置其他硬件(CPU、内存、网络等)。
    • • 安装并配置 QEMU Guest Agent 。

重要注意事项

  • • 驱动兼容性:这是迁移成功的关键。
    • • Linux 系统(如 Debian):通常对 VirtIO 驱动支持较好。但首次启动时,如果遇到因磁盘控制器类型改变而无法启动的情况,可尝试在 PVE 中将虚拟机磁盘的控制器临时设置为 IDE 。进入系统后,确保安装了必要的驱动(如 virtio-blkvirtio-net)。
  • • 网络配置:虚拟机迁移后,MAC 地址可能会发生变化(除非你在 PVE 中手动指定了原有的 MAC 地址)。如果虚拟机使用静态 IP,请记得进入系统后更新网络配置 。
  • • UEFI 引导:如果原来的 VMware 虚拟机采用 UEFI 引导,在 PVE 中创建或配置虚拟机时,需要选择 OVMF (UEFI) 作为 BIOS 类型 。
  • • 彻底测试:迁移完成后,务必在 PVE 上启动虚拟机,并全面测试其功能(网络、服务、应用等),确保一切正常再投入生产使用。

以上方法可以顺利地将从VMware Workstation 迁移到 PVE 集群!


打赏

本文链接:https://kinber.cn/post/5767.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客