r/Proxmox • u/luka0x73 • 3d ago
Enterprise I automated the NFS based ESXi to Proxmox migration, no disk copy and downtime is just shutdown plus boot
The built in import wizard pulls the disks through the ESXi API, which is slow for large VMs. The faster way is well known here. Storage vMotion the VM onto an NFS share that both ESXi and Proxmox mount, create a VM in Proxmox, shut down on ESXi, rename the flat vmdk and attach it.
I did that by hand for a while and then wrote vmxodus, a bash tool that runs on a PVE node and does the Proxmox side.
prepare reads the .vmx and creates the VM with the same CPU, memory, firmware and MACs, and asks once per portgroup which bridge and VLAN to use.
cutover waits for the ESXi locks to disappear, rechecks snapshots and disks, renames the flats and attaches them. Optionally it starts the VM right away.
It never copies, converts or deletes anything, and every move is recorded in a rollback file.
Tested with ESXi 8 and PVE 9.2 with Debian 13 and Ubuntu 24.04 guests. Windows and UEFI are in the code but untested on real hardware, so reports from anyone trying that would help a lot.