So you want to move a VM from a Proxmox stack to a VMware stack? There are many articles about how to do this, but what I found that works the best for me and for my situation is to just make a clone of the Proxmox server and choose VMDK for the disk type. But still then, I had issues. Some of the issues I encounted were the lack of VMware Tools and a new NIC with a new name and MAC Address. So here are the steps I took to overcome these issues. Also, this was just for Rocky Linux. I haven’t tried anything else except for this version of Linux
- Clone the Proxmox VM
- WinSCP to the Proxmox host and copy the newly created VMDK to another server or your desktop
- WinSCP the VMDK to your ESXi host or just upload in vCenter.
- Run vmkfstools -i vm-100-disk-0.vmdk -d thin Your_New_VM.vmdk <<< This is ran on your ESXi host. This creates a thin image disk.
- Create a new VM in vCenter. Same specs.
- Replace the hard disk with your new VMDK disk.
- Boot to a recovery console.
- Run dracut -f –regenerate-all <<< This is in case when you boot up and get all those dracut messages and the system not being able to find your root drive.
- Reboot
The server should boot up, but you’ll probably have an issue with your networking. Grab your interface name with ifconfig, then:
- cd /etc/sysconfig/network-scripts.
- cp ifcfg-xxx ifcfg-newname
- nano or vi ifcfg-newname and replace the name and device with the name of the interface. eg. ens32
- Restart network services or reboot.
You should have network access again.
Well, that was it. Not to bad after your figure it all out. Just for the record, I tried manually converting the Proxmox disk to VMDK with no luck. qemu-img convert -f raw /dev/zvol/rpool/data/vm-100-disk-0 -O vmdk /tmp/Your_New_VM.vmdk. I would then copy that disk over to the ESXi host and try, but it just didn’t work. I also tried Vmware Converter. Which I’ve had great luck in the past with Windows, but it would fail and give me the dreaded Kernel error and GRUB2 error, plus it would convert two disks, which I didn’t care for. I tried all the grub2-install, etc. So that is basically it. This was just for a Rocky Linux server, so you can try your luck at different distros. Hope this helps someone down the road.
UPDATE:
These same steps worked for Centos8 Stream. Probably because it’s Redhat as well.
Ubuntu 20 was better. It booted right up and all I had to do was fix the networking.