最近接到了一个单子,需要把对方虚拟服务器中的某个虚拟机复制到某台电脑上的 VMWare Workstation Pro 上,以其为基础建立一个测试环境。服务器的虚拟机软件是 Proxmox Virtual Environment 8.3.3 (以下简称PVE)。这个操作过程其实并不复杂,一般只需要把PVE虚拟机的硬盘转换为 VMWare Workstation Pro 的格式,然后在 VMWare Workstation Pro 中新建一个虚拟机,把这个转换后的虚拟硬盘导入进去即可。
以下是具体的实施过程:
一、在 PVE 中找到虚拟机的磁盘文件:
记下需要导出的PVE虚拟机的ID,比如“103”,然后在宿主机的 “>_Shell”中执行以下命令:
qm config 103
在执行结果中找到磁盘相关的配置,找到磁盘的名称(如下图框住的地方,名为“vm-103-disk-0”),记录下来,随后执行以下命令找出虚拟磁盘文件的实际位置:
find / -name "vm-103-disk-0*"
通常来说,在 /dev/pve/ 或 /dev/mapper/ 下能找到对应的磁盘映射文件。
二、将磁盘格式转换为 VMDK:
使用 qemu-img 命令进行格式转换,这是最关键的步骤。具体可以参考下面的命令:
# 从 PVE 节点执行,将 raw 或 qcow2 格式转换为 vmdk
qemu-img convert -f raw -O vmdk /dev/pve/vm-103-disk-0 /tmp/vm-103-disk-0.vmdk
# 或者如果原磁盘是 qcow2 格式:
qemu-img convert -f qcow2 -O vmdk /path/to/vm-103-disk-0.qcow2 /tmp/vm-103-disk-0.vmdk
参数说明:-f 参数指定源格式(raw 或 qcow2),-O vmdk 指定目标格式为 VMware Workstation Pro 的虚拟磁盘格式。
三、把转换后的文件传输到电脑:
通过一些传输工具,如 WinSCP,把转换后的文件传输到 Windows 电脑,也可以用有足够可用空间的移动存储设备,在PVE挂载后,传输到移动存储设备中,然后通过移动存储设备把转换后的虚拟磁盘文件复制到 Windows 电脑中。
四、导入到 VMWare Workstation Pro;
把转换后的虚拟磁盘文件复制到 Windows 电脑后,在 VMWare Workstation Pro 中新建虚拟机,设定好各类参数和配置,然后把转换后的虚拟磁盘文件导入到新建的虚拟机中。一切准备就绪了,可以启动虚拟机测试看看,如果没有问题的,就可以在转换后的虚拟机中执行各类测试操作了,包括安装 VMWare Tools 。
当然,网上也有一些其它工具可以实现类似的功能,比如 StarWind V2V Converter,只需要找到 PVE 虚拟磁盘文件所在的位置,通过各类工具或途径把文件复制到 Windows 电脑中,在 Windows 电脑上执行转换就可以了,据说操作起来比较简单,提供图形化界面,不过笔者没有用过这个工具,因此也不知道实际效果如何,大家如果有时间且愿意承担风险的话,不妨试一下。
