VMware Workstation 中的虚拟机迁移到 Proxmox VE (PVE)
将 VMware Workstation 中的虚拟机迁移到 Proxmox VE (PVE) 集群,可以通过几种方法实现。下面我用一个表格概括主要迁移方式及其特点,然后详细说明步骤和注意事项:
OVF 导出与 PVE 导入法 VMDK 磁盘直接转换法 第三方工具
? 迁移前的准备
开始迁移前,请做好以下准备:
1. 备份虚拟机:在 VMware Workstation 中为 迁移的虚拟机创建一个快照或使用导出功能完整备份,防止迁移过程中出现意外导致数据丢失 。 2. 检查 PVE 集群:确保目标 PVE 集群运行正常,并有足够的存储空间和计算资源来接收新的虚拟机。 3. 记录网络信息:如果虚拟机使用静态 IP 地址,请记下其 MAC 地址和 IP 配置,以便迁移后恢复网络连接 。 4. 安装必要工具:在 Linux 虚拟机中,可以考虑预先安装 qemu-guest-agent,尤其是Windows虚拟机最好提前安装virtio-win-guest-tools以避免不必要的调整总线带来的麻烦 。
? 方法一:通过 OVF 模板导出和导入
这是 VMware 和 PVE 都支持的标准虚拟化格式迁移方式。
1. 在 VMware Workstation 中导出虚拟机: • 确保VMware Workstation需要迁移的虚拟机已完全关闭。 • 在 VMware Workstation 中,右键点击该虚拟机,选择 “导出为 OVF”(注意不要选择 OVA 格式,PVE 对其支持可能不佳)。这将生成一个 .ovf描述文件、一个或多个.vmdk磁盘文件以及一个.mf清单文件 。2. 将文件传输到 PVE 节点: • 使用 SCP、SFTP 或其他工具(如 WinSCP、FileZilla)将导出的 OVF 和 VMDK 文件上传到你的 PVE 集群中的某个节点的某个目录下,例如 /tmp或/var/lib/vz/template/iso/。3. 在 PVE 中导入虚拟机: • 通过 SSH 或 PVE 节点的 Shell 环境,使用 qm importovf命令导入。例如:qm importovf <VMID> <上传的.ovf文件> <存储名称> --format <磁盘格式>
其中:• <VMID>是你想为这台新虚拟机指定的唯一 ID(不能与现有虚拟机冲突)。• <上传的.ovf文件>是上传到 PVE 的 OVF 文件路径。• <存储名称>是 PVE 中准备存放虚拟机磁盘的存储名称(如local-lvm,local-zfs等)。• --format选项指定磁盘格式(如qcow2、raw)。• 导入过程可能需要一些时间,取决于虚拟机磁盘的大小。 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. 获取 VMDK 磁盘文件: • 关闭VMware Workstation需要迁移的虚拟机。 • 在 VMware Workstation 中,找到虚拟机对应的 .vmdk磁盘文件(通常位于虚拟机目录中)。2. 将 VMDK 文件传输到 PVE: • 同样使用 SCP、SFTP 等工具将 .vmdk文件上传到 PVE 节点的某个目录下 。3. 在 PVE 中创建空白虚拟机: • 在 PVE Web 管理界面中,创建一个新的虚拟机。指定一个唯一的 VMID,在“操作系统”和“磁盘”配置步骤中,暂时不要添加任何磁盘(选择“不创建任何磁盘”)。 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. 附加磁盘并配置虚拟机: • 导入成功后,在 PVE Web 界面中该虚拟机的“硬件”选项卡下,你会看到一个“未使用的磁盘”。 • 双击该未使用的磁盘,将其附加到虚拟机上。务必注意选择正确的总线类型(如 SCSI、VirtIO Block 或 IDE)。同样,为保险起见,初次启动可先选 IDE,后续再更换为 VirtIO 。 • 调整引导顺序:在虚拟机的“选项” -> “引导顺序”中,确保新添加的磁盘是首要引导设备 。 • 根据需要配置其他硬件(CPU、内存、网络等)。 • 安装并配置 QEMU Guest Agent 。
? 重要注意事项
• 驱动兼容性:这是迁移成功的关键。 • Linux 系统(如 Debian):通常对 VirtIO 驱动支持较好。但首次启动时,如果遇到因磁盘控制器类型改变而无法启动的情况,可尝试在 PVE 中将虚拟机磁盘的控制器临时设置为 IDE 。进入系统后,确保安装了必要的驱动(如 virtio-blk,virtio-net)。• 网络配置:虚拟机迁移后,MAC 地址可能会发生变化(除非你在 PVE 中手动指定了原有的 MAC 地址)。如果虚拟机使用静态 IP,请记得进入系统后更新网络配置 。 • UEFI 引导:如果原来的 VMware 虚拟机采用 UEFI 引导,在 PVE 中创建或配置虚拟机时,需要选择 OVMF (UEFI) 作为 BIOS 类型 。 • 彻底测试:迁移完成后,务必在 PVE 上启动虚拟机,并全面测试其功能(网络、服务、应用等),确保一切正常再投入生产使用。
以上方法可以顺利地将从VMware Workstation 迁移到 PVE 集群!
本文链接:https://kinber.cn/post/5767.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:

支付宝微信扫一扫,打赏作者吧~
