Proxmox to Vmware: How to migrate a Proxmox VM to Vmware
This article tells you how to convert a Proxmox VM to VMware in 3 steps (Proxmox to VMware). You convert the virtual disk and not the whole virtual machine. You should have some basic knowledge about SSH and Linux shell. All you need to know is how to navigate the directory structure in the Linux shell. The whole process only requires 3 commands. In my example, I explain how to convert the Linux monitoring system Zappix, where the disk size is 32GB. The whole process took less than an hour until the VM was up and running on VMware.
So let’s get started with our 3 steps.
Step 1: Preparation
Absolutely essential! As you know, good planning and preparation lay the groundwork for a successful job. You need admin credentials for the Proxmox Web GUI, VMware Vcenter or ESXi Web GUI, ssh for the Proxmox host, and the ESXi server. I recommend using Terminus ssh for the Mac and Putty or Kitty for Windows. However, Terminal on a Mac is also fine. Windows 10 now supports Linux shell too.
In my experience, gathering all credentials is essential and what takes the most time. Make sure you have all login information and have tested it. This will save you a lot of frustration. Only then are you ready for Step 2.
Step 2: Convert the disk from Proxmox to Vmware vmdk disk format
First, log in to the Proxmox web GUI and locate the VM you want to convert. In the example below, locate the Hardware tab and check the Hard Disk name. That’s the disk you need to convert.
After that, log in to the Proxmox host – in this example, vir03 – with ssh. The location of the disk depends on how your Proxmox environment is setup. You could have a local disk for each host or shared storage.
Once you locate the disk, use the command below to convert it to the VMware vmdk format
qemu-img convert -f raw rbd:Pool/vm-121-disk-9 -O vmdk zappix-neu.vmdk
Here the disk is located in the directory “Pool.” The command creates the zappix-neu.vmdk in the directory from where the command is executed. I recommend choosing a directory which has enough free space for the new file. The process can take some time, depending on the disk size. Make sure not to terminate the ssh session because you will need it later to copy the vmdk file.
Step 3 – Creating a new VM in VMware Vcenter or ESXi
Login to Vcenter or ESXi GUI and create a new VM. The VM should have at least the same CPU and Memory as the original Proxmox VM. The disk size doesn’t really matter as you are going to replace it with the converted disk.
Then, log in to the ESXi host with ssh. You first need to enable ssh service in the Web GUI. Locate the datastore of the newly-created VM. Here again, the location depends on your environment.
Go back to your Proxmox ssh session. Now you need to transfer the converted vmdk files to the ESXi host. I do it with scp.
scp zappix-neu.vmdk 192.168.1.2://vmfs/volumes/5e25a9e7-1b498358-ae45-3cecef0c19ea/Zabbix
zappix-neu.vmdk is the disk file on the Proxmox. The IP address is from the ESXi host with the exact location where to copy the file to. Hit the “enter” key, and you will notice a progress bar in the ssh.
After that, you need to run this command.
vmkfstools -i zappix-neu.vmdk zappix.vmdk -d thin
The argument “thin” is crucial. Otherwise, the VM won’t boot up.
We are almost done! Now all you need is to attach the vmdk file as an existing hard drive to the VMware VM in the Vcenter or ESXi GUI, which you created before. Remove the existing disk which was created when you initially set up the VM
Now fire up the VM in VMware Vcenter or ESXi, and it should boot fine.
As a last task, remember to install the VMware tools and remove the Proxmox tools! Your Proxmox to Vmware job is done! 🙂
Please let me know if this article was helpful and use the comment section below. Thank you!
Any purchases made from clicks on links to products on this page may result in an affiliate commission for me.