I have run ESXi on my home box for years and I have just wiped it for Proxmox, and the short version is: I should have done it ages ago. The longer version is a weekend, one near-disaster with a disk controller, and a quiet appreciation for getting a real shell back.
ESXi is a genuinely excellent hypervisor. That is not the issue. The issue is that the free licence has slowly become more of a cage. No backup API on the free tier, so every decent backup tool either wants the paid licence or makes you do something daft with snapshots and scp. A web client that assumes you are managing a fleet, not a tower in a cupboard. And the underlying host is a deliberately sealed appliance: you are not meant to treat it like a Linux box, and the moment you want to, say, run a container or a small script on the host itself, you are fighting the design.
what proxmox gives me
Proxmox VE is Debian underneath, with KVM for full virtual machines and LXC for containers, and a web UI bolted on top. The thing that sold me is that it is just Linux. I can ssh in, I get a real package manager, I get cron, I get all the tooling I already know. It stops being an appliance I poke through a browser and becomes a server I administer.
The two features that actually changed my setup:
- LXC containers. Half the things I was running as full VMs on ESXi did not need to be VMs. They were one service each, idling, wasting RAM on a guest kernel. As LXC containers they share the host kernel, boot in under a second, and barely register on memory. The hypervisor went from comfortably full to half empty.
- ZFS as a first-class citizen. Proxmox installs onto ZFS out of the box and exposes snapshots, replication and integrity checking in the UI. On ESXi, ZFS meant passing a controller through to a storage VM and building a sandwich of dependencies. Here it is just there.
Backups are the other big win. vzdump is built in, it understands both VMs and containers, it snapshots them live and writes a single restorable archive, and I can schedule it from the web UI without paying anyone for an API. That alone justifies the move.
the migration, and the bit that went wrong
There is no clean in-place upgrade from ESXi to Proxmox. It is a wipe and rebuild, so the plan was the usual: back everything up, twice, to two different places, then burn it down.
The rough sequence:
- Export every VM I cared about. For Linux guests I took disk images; for the couple of Windows boxes I exported to OVF, which Proxmox can import with a bit of
qm importovfpersuasion. - Wrote down the entire network config, because the thing you always forget is the boring stuff: VLAN tags, static leases, which NIC was which.
- Wiped the host and installed Proxmox onto a mirrored ZFS root.
- Recreated the bridges and VLANs, imported the VMs, and rebuilt the things that were easier to rebuild than to migrate.
The near-disaster was the disk controller. My data drives had been passed through to a storage VM under ESXi, which meant the controller was in passthrough mode. Proxmox wanted to manage those disks directly, and for a heart-stopping ten minutes the pool would not import because the controller was still presenting the drives oddly. It came back once I flashed the HBA properly into IT mode, which is what it should have been all along, but for those ten minutes I was very glad of the second backup I had grumbled about making.
# importing a VM disk into a Proxmox storage pool
qm importdisk 101 /var/lib/vz/import/oldvm.vmdk local-zfs
# and a vzdump backup of a running container, no licence required
vzdump 105 --mode snapshot --storage backup --compress zstd
what i lost
It is not a clean win, so let me be fair to ESXi.
vCenter-style polish is gone. ESXi's web client is more refined than the Proxmox one, which is functional rather than beautiful. If you live in a VMware shop and your home lab is practice for work, there is real value in keeping that muscle memory, and that is a perfectly good reason to stay.
But for a single box at home, run by one person who would rather have a Linux shell than a sealed appliance, Proxmox is the better fit by a distance. Free backups, cheap containers, ZFS without ceremony, and a host I can actually log into and understand. It has been up a week and I have already stopped thinking about it, which is the highest compliment I give any piece of infrastructure.