Proxmox Cluster Setup: Nodes, Quorum, Storage and HA

How to build a Proxmox cluster

A Proxmox cluster is a group of Proxmox VE servers joined with the pvecm tool over a Corosync network, and as of October 2026 (Proxmox VE 9.2) Proxmox says you need at least 3 nodes for reliable quorum if you want high availability, or 2 nodes plus an external QDevice vote. Clustering is free in every install; optional subscriptions cost EUR 120 to EUR 1,100 per CPU socket per year, and every node in a cluster must be on the same level.

This guide follows the official Proxmox VE documentation. If you are deciding whether Proxmox belongs in production, read Is Proxmox enterprise-ready? first, and see the VMware Alternatives Tracker for how its pricing compares.

Key facts

ItemWhat Proxmox documents
Nodes for HAAt least 3, or 2 plus a QDevice
Cluster network latencyUnder 5 ms between all nodes
PortsCorosync on UDP 5405 to 5412; SSH on TCP 22; QDevice on TCP 5403
Cluster networkDedicated NIC recommended; 1 Gbit is enough in most cases; up to 8 links
HA failoverAbout 2 minutes
SubscriptionEUR 120, 370, 550 or 1,100 per socket per year; same level on every node

Requirements before you start

  • Proxmox VE on every node, all on the same version, each installed with its final hostname and IP. Neither can be changed after the cluster is created.
  • Synchronized date and time on all nodes, and the root password of a cluster node for joining.
  • Open paths between every node for Corosync (UDP 5405 to 5412) and SSH (TCP 22). The Proxmox firewall adds the Corosync rules itself.
  • A dedicated physical NIC for cluster traffic. Corosync uses little bandwidth but needs steady latency under 5 ms; Proxmox warns that more than 3 nodes at around 10 ms is unlikely to work.
  • No storage or live-migration traffic on the Corosync link, except as a low-priority fallback, and CPUs from one vendor if you want live migration.

If you bond NICs for Corosync with LACP, set bond-lacp-rate fast on the node and the switch. The default slow rate can take 90 seconds to fail over, longer than the roughly one minute after which HA nodes fence themselves.

Step 1: Create the cluster

In the web interface, open Datacenter, then Cluster, and click Create Cluster. Pick a unique name (it cannot change later) and the Link 0 network. Or, on the first node’s shell:

pvecm create CLUSTERNAME
pvecm status

To put Corosync on dedicated networks with a redundant second link, set the links at creation, as in this documented example:

pvecm create CLUSTERNAME --link0 10.10.10.1,priority=15 --link1 10.20.20.1,priority=20

Only the highest-priority working link carries traffic; give each link its own physical network.

Step 2: Join the other nodes

A joining node must hold no VMs or containers: its /etc/pve configuration is overwritten and it inherits the cluster’s storage settings. In the GUI, copy the Join Information from an existing node and paste it into Join Cluster on the new one. From the new node’s shell:

pvecm add IP-ADDRESS-CLUSTER

With a separate cluster network, add the new node’s own address on it:

pvecm add IP-ADDRESS-CLUSTER --link0 LOCAL-IP-ADDRESS-LINK0

Check membership with pvecm status or pvecm nodes.

Quorum, and why 3 nodes

Each node gets one vote, any change to cluster state needs a majority of votes, and a cluster that loses quorum goes read-only. With 3 nodes, losing 1 leaves 2 of 3 votes, so the cluster carries on. With 4 nodes, quorum is 3, so it still survives only 1 failure. With 2 nodes, losing either leaves 1 of 2 votes, not a majority. Hence Proxmox’s 3-node minimum for HA.

Two nodes? Add a QDevice

A QDevice is an external tie-breaker vote from the corosync-qnetd daemon on a separate host. It connects over TCP, so it can sit outside the cluster’s LAN. Proxmox supports QDevices for even node counts, recommends one for 2-node clusters, and discourages it for odd counts. On the external host:

apt install corosync-qnetd

On every cluster node:

apt install corosync-qdevice

Then, with all nodes online, on one node:

pvecm qdevice setup <QDEVICE-IP>

The QDevice host must accept TCP port 5403. Before adding or removing a node later, run pvecm qdevice remove, change the membership, and set the QDevice up again.

Shared storage options

HA and fast live migration need storage every node can reach. The main options:

OptionWhere it livesWhat to know
Ceph RBD or CephFSOn the cluster nodes (hyper-converged)At least 3 (preferably identical) servers, 3 monitors, 12+ OSDs, 10 Gbps or more just for Ceph
NFS or CIFSExternal NASSimplest to add; qcow2 snapshots can be slow on large disks
iSCSI or FC/SAS with LVMExternal SANLVM splits the LUN into VM disks; plan multipath
ZFS over iSCSIExternal storage serverShared, with snapshots
Local ZFS, LVM-thin, directoryEach nodeNot shared

For Ceph, Proxmox recommends the GUI wizard; the CLI route starts with pveceph install on each node and pveceph init --network 10.10.10.0/24 on one. Keep Ceph on its own physical network: recovery traffic can disrupt Corosync and cost you quorum.

Turn on high availability

Proxmox lists the HA requirements as at least 3 nodes, shared storage, hardware redundancy everywhere and reliable server components. A hardware watchdog is optional; without one, Proxmox uses the Linux softdog. Add a VM under Datacenter, then HA, or with:

ha-manager add vm:100

Expect failover in about 2 minutes, which Proxmox says caps HA at 99.999% availability. A node that loses quorum while running HA guests is reset by its watchdog after 60 seconds, so the guests can restart elsewhere.

Subscription tiers for a 3-node cluster

Clustering, HA, Ceph and live migration work with or without a subscription. A subscription adds the Enterprise Repository and, from Basic up, support tickets. It is priced per occupied CPU socket per year, in euros, net of VAT, and all nodes in a cluster must use the same level.

TierPer socket per yearSupport3 nodes, 2 sockets each
CommunityEUR 120Forum only; for non-productionEUR 720
BasicEUR 3703 tickets a year, 1 business day responseEUR 2,220
StandardEUR 55010 tickets a year, 4-hour responseEUR 3,300
PremiumEUR 1,100Unlimited tickets, 2-hour response, 24/7 from October 19, 2026EUR 6,600

Standard gets 24/7 support by the end of 2026, per Proxmox. Response times apply to critical (Severity 1) requests.

How it compares

For the same 3 hosts, using our VMware alternatives index: XCP-ng with Vates VMS Pro is $1,000 per host per year with a 3-host minimum ($3,000), and Vates Essential is $2,000 a year for up to 3 hosts. VMware Cloud Foundation is licensed per core with a 16-core minimum per CPU, and Broadcom publishes no list price. See XCP-ng vs Proxmox and Proxmox vs VMware for the full comparisons.

Bottom line

  • Lab or test: 2 nodes plus a QDevice, with the Community tier or none.
  • Production with HA: 3 or more matching nodes, a dedicated Corosync link plus a backup link, shared storage, and Basic or higher on every socket.
  • Hyper-converged with Ceph: 3 or more identical nodes and 10 Gbps or faster for Ceph, separate from Corosync; without in-house Ceph skills, buy a tier with more tickets.

Frequently asked questions

How many nodes does a Proxmox cluster need?

At least 3 for reliable quorum with HA, or 2 plus a QDevice. There is no explicit upper limit; Proxmox cites production clusters of over 50 nodes.

Can you run a 2-node Proxmox cluster?

Yes, with a QDevice as the third vote. Without it, losing either node leaves the survivor without a majority.

Can I change a node’s hostname or IP after it joins?

No. Proxmox says neither can change after cluster creation. Removing a node means moving its guests off, powering it off so it never returns with its old configuration, and running pvecm delnode from a remaining node.

Do I need a subscription to build a cluster?

No. Every feature works without one; a subscription adds the Enterprise Repository and support, at the same level on every node.

Sources

Prices checked against the vendors’ own pages on October 8, 2026.

Buying? Start from RFPhub’s free Virtualization Platform RFP template.