Tech Digest

Platforms

Proxmox VE

Debian-based hypervisor with KVM, LXC, ZFS and clustering in one web UI

PlatformsAGPL-3.0-onlyMaturearm64 buildsNative OIDC
Last reviewed Profile maintained against the project's own documentation
Operational load
4 / 5
Heavy
Idle memory
2048 MB
typical use ~8192 MB
Moving parts
n/a
not container shaped
Backup shape
SQLite backup
needs a dump or a stop

Proxmox VE is a bare-metal hypervisor built on Debian that manages KVM virtual machines and LXC containers from a single web interface, with ZFS, Ceph, snapshots, backups and multi-node clustering built in. It replaces a VMware ESXi plus vCenter stack for people who do not want per-socket licensing.

Our verdict on Proxmox VE#

Proxmox VE 9.2 (May 2026) sits on Debian 13 with kernel 7.0, QEMU 11.0, LXC 7.0 and ZFS 2.4, and it is the default answer for a home or small-business hypervisor mostly because of the storage and backup integration, not the KVM part. The first thing that bites you is the repository: a fresh install points at enterprise.proxmox.com, which refuses you without a subscription key, so apt update fails until you disable pve-enterprise.sources and enable the pve-no-subscription component. That is a config change, not a crack, and the no-subscription repo is a supported channel. Budget honestly for ZFS. Proxmox's own docs say start at 8 GB and add about 1 GB per TB, and installs since 8.1 cap ARC at 10 percent of RAM (16 GiB ceiling). Official arm64 builds landed in August 2026, but they target NVIDIA Grace class servers, not a Raspberry Pi.

Who Proxmox VE is for#

Choose it if

  • Someone consolidating three or four always-on machines into one box and who wants VM snapshots before every risky change
  • A homelabber who wants ZFS with scheduled replication to a second node without writing zfs-send scripts
  • A small office leaving ESXi after the Broadcom licensing changes and needing LXC and full VMs side by side
  • Anyone who wants a hypervisor that is still a normal Debian underneath when you need to fix something over SSH

Look elsewhere if

  • You only want to run containers; a plain Debian host with Docker will cost you far less attention
  • Your hardware is a single consumer SSD, since cluster and ZFS write patterns will chew through its endurance
  • You need vMotion-grade live migration between dissimilar CPUs without any planning; CPU model pinning is on you

What running it actually looks like#

Write the ISO to a USB stick and install to a dedicated boot device. The installer asks for the root filesystem up front, and this is the decision you cannot easily undo: ext4 on a single disk, or ZFS RAID1 across two, at which point the installer writes an ARC limit into /etc/modprobe.d/zfs.conf. First boot lands you on https://host:8006 with a login realm of pam and a modal telling you there is no valid subscription. Before anything else, edit the repository sources: Proxmox VE 9 uses deb822 .sources files, so you disable /etc/apt/sources.list.d/pve-enterprise.sources and add the pve-no-subscription component. Clustering needs UDP 5405 to 5412 open between nodes, ideally on a dedicated NIC, and three nodes for real quorum. Major upgrades want you on the latest 8.4 first, then pve8to9 clean, then the Debian suite swap.

Resource profile#

Memory
2048 MB idle, around 8192 MB in ordinary use. Proxmox documents 2 GB for the OS and services before any guest memory; the ZFS page says start at 8 GB if you use ZFS and add roughly 1 GB per TB of pool.
CPU and acceleration
Idle load is near zero on a modern CPU, but you want VT-x/AMD-V, and VT-d or AMD-Vi if you plan to pass a GPU or HBA through; ZFS checksumming and compression put a steady tax on the host cores.
Storage growth
The OS itself is under 10 GB, but backups grow fastest: vzdump images in /var/lib/vz/dump can outgrow the guests they protect within a month unless you set retention or point them at a Proxmox Backup Server.
Operational load
4 of 5, Heavy. Upgrades between major versions have a documented order and a pre-flight checker, cluster quorum and HA fencing can take nodes down on their own, and a restore means rebuilding a host before you can even read the guest config. That is squarely rubric level 4.

Figures describe a small single-household install and are the working assumptions behind our stack planner. Your numbers will differ with library size, user count and hardware. See methodology.

Data and backup surface#

Two separate things. The host config lives in /etc/pve, which is a FUSE mount over a SQLite database at /var/lib/pve-cluster/config.db; copy the whole directory tree with tar while the node is up and you get guest configs, storage definitions, firewall rules and user realms. Add /etc/network/interfaces, /etc/hosts and /etc/pve/corosync.conf. Guest data is separate and belongs to vzdump or Proxmox Backup Server, not to a file copy of /var/lib/vz while VMs are running. Skip /var/lib/vz/template/cache and the ISO store; those redownload. A restore is a fresh install plus config restore, so rehearse it once.

Derived backup shape

SQLite backup. sqlite3 <db> ".backup out.db" while running, or stop the container and copy. A live cp of a WAL-mode SQLite file can restore corrupt.

Traps and surprises#

The enterprise repository breaks apt on day one

A fresh install ships /etc/apt/sources.list.d/pve-enterprise.sources pointing at enterprise.proxmox.com, which requires a subscription key. Without one, every apt update ends in an authentication error and people conclude Proxmox is crippled without paying. Disable that file and add the pve-no-subscription component from download.proxmox.com instead. Proxmox VE 9 uses deb822 format, so old one-line sources.list edits from 7.x guides will not apply cleanly.

ARC defaults differ between fresh installs and upgrades

Installs from the 8.1 ISO onward write a zfs_arc_max targeting 10 percent of RAM, capped at 16 GiB, into /etc/modprobe.d/zfs.conf. Systems upgraded from older releases, or pools created after install on a non-ZFS root, keep the upstream ZFS default of half your RAM. On a 64 GB host that is a 32 GB difference in what is left for VMs, and it shows up as guests being killed for memory.

HA nodes fence themselves after 60 seconds

If you enable HA, a node that loses corosync quorum arms a watchdog and hard-resets itself once the 60 second timeout expires. Proxmox recommends keeping token plus consensus timeouts under 45 seconds for that reason. In practice this means a flaky switch, a bonded link in balance-rr or a network reconfiguration during business hours can reboot healthy nodes. Do not enable HA on a two-node cluster with shared uplinks.

Cluster and ZFS writes kill consumer SSDs

pmxcfs keeps the cluster config in a SQLite database that Corosync replicates in real time, and ZFS metadata plus guest journals add constant small synchronous writes. On a DRAM-less consumer QLC SSD this shows up as wearout climbing several percent per month in the disk view. Use drives with power loss protection for the boot and VM pools, or accept replacing them. Check Node > Disks for the Wearout column.

The 8 to 9 upgrade has a required order

You must be on the latest Proxmox VE 8.4 across every node before starting, run pve8to9 --full until clean, and only then switch Debian from Bookworm to Trixie and Proxmox to the deb822 sources. Ceph hyperconverged setups must already be on Squid 19. Known traps include GRUB failures on LVM plus UEFI, network interface renaming, and the removal of cgroup v1 which breaks containers running systemd older than 230.

Specifications#

Category
Platforms and container management
Licence
AGPL-3.0-only (Copyleft)
Written in
Perl / Rust / JavaScript (ExtJS)
First release
2008
Maturity
Mature
Datastore
SQLite via pmxcfs (/var/lib/pve-cluster/config.db), replicated by Corosync
Default ports
22, 111, 3128, 8006
Ships as
ISO installer, apt install on top of Debian 13
arm64 builds
Yes
Identity
Native OIDC. Realms include OpenID Connect, LDAP and Active Directory natively, plus built-in TOTP and WebAuthn two-factor.
Replaces
VMware ESXi, VMware vCenter, Microsoft Hyper-V, Nutanix AHV
Project site
www.proxmox.com/en/proxmox-virtual-environment/overview
Source
git.proxmox.com
Documentation
pve.proxmox.com/pve-docs

Alternatives to Proxmox VE#

Everything else in platforms and container management, closest in operational weight first.

ToolOps loadIdle RAMLicence
k3s4, Heavy2048 MBApache-2.0
Coolify3, Moderate1200 MBApache-2.0
Dokploy3, Moderate900 MBApache-2.0, with DSAL 1.0 reserved for a /proprietary path
Komodo3, Moderate250 MBGPL-3.0
TrueNAS Community Edition3, Moderate8192 MBLGPL-3.0 (middleware)
CasaOS2, Light300 MBApache-2.0

Where Proxmox VE comes up elsewhere#

Sources#

Facts on this page were checked against the project's own material. Where a number is our own estimate rather than a published figure, the text says so.

  1. Package repositories, enterprise and no-subscription
  2. Roadmap and release history
  3. System requirements
  4. Upgrade from 8 to 9
  5. ZFS on Linux, hardware and ARC guidance
  6. Official arm64 support announcement

Published . Last reviewed . Found something out of date? Tell us and we will fix it and log the change.