I ran VMware ESXi on my ProLiant for two years. It was fine. Then Broadcom acquired VMware, killed the free tier, and the path forward became a $6,000/year per-socket license. Hard pass.
What pushed me over the edge
The licensing change was the trigger, but I'd been collecting annoyances for months: the web UI that requires a separate vCenter install to do anything serious, the closed-source update mechanism, the way every configuration decision felt like it was designed for a data center with a dedicated infrastructure team.
Proxmox VE is GPL. The web UI ships with the hypervisor. It's ugly in a lovable way. I've been happily running it for two weeks now.
The migration itself
I migrated twelve VMs. Zero downtime on user-visible services (mainly my k8s cluster and some self-hosted tooling). The process:
- Snapshot each VM in ESXi
- Export to OVA with
ovftool - Convert OVA → qcow2 with
qemu-img - Import to Proxmox via the web UI
The annoyance: Proxmox uses UEFI by default and some of my VMs were BIOS-mode. Had to fiddle with the machine type settings per VM. Nothing fatal, just time-consuming.
What I like about Proxmox
Ceph integration is first-class. I added a second ProLiant and set up a Ceph cluster between them in about an hour. ESXi vSAN would have needed vCenter and a different license tier.
The API is sane. Every UI action maps to a documented API call. I've already got Terraform managing a few VMs.
LXC containers. I'd forgotten how lightweight containers can be for things that don't need full VM isolation. My monitoring stack (Prometheus + Grafana + Loki) now runs in three LXC containers instead of a VM.
What I miss
VMs in ESXi snap to a clean state quickly. Proxmox snapshots are fast but the disk snapshot behavior with RADOS/Ceph is slightly different and I'm still learning the edge cases.
Otherwise: not much. The switch was worth it.