How to Set Up a Proxmox Pi Cluster with QDevice Tiebreaker
A step-by-step guide to building a two-node Raspberry Pi cluster running Proxmox VE (PXVirt), with a third machine acting as a QDevice tiebreaker for quorum.
Hardware Used
- 2x Raspberry Pi 4B (one 4GB, one 8GB)
- 1x x86 machine running Proxmox VE (used as QDevice)
- Network switch
Software
- PXVirt 9.0.10-2 (Proxmox for ARM/Pi)
- Proxmox VE 9.x (x86 tiebreaker node)
Install PXVirt on Both Raspberry Pis
Download and flash PXVirt to SD cards for each Pi (or a USB drive which I used). Set static IPs or ensure DHCP reservations are in place. In this guide:
- `warren-pi` = 192.168.1.10
- `chunguz-deluxe` = 192.168.1.199
- `michelle` (x86 QDevice) = 192.168.1.96
Fix the Hosts File
On each Pi, ensure the hostname resolves correctly:
1nano /etc/hosts
Make sure it contains:
```
192.168.1.10 warren-pi
192.168.1.199 chunguz-deluxe
```
Create the Cluster on Node 1
SSH into the first pi (in my case warren-pi) and create the cluster:
1pvecm create warren-pi
Verify it was created:
1pvecm status
Join Node 2 to the Cluster
SSH into the second pi (in my case chunguz-deluxe) and join the cluster:
1pvecm add 192.168.1.10
Verify both nodes are visible:
1pvecm status
You should see both nodes listed with votes.
Set Up QDevice on the x86 Machine
A two-node cluster has no quorum majority. A QDevice provides a third vote without being a full cluster member. This is useful especially if you don't have a third arm device, so I can use my x86 proxmox machine to be the QDevice.
On the x86 machine:
Install the QDevice daemon:
1apt install -y corosync-qnetd2systemctl enable corosync-qnetd3systemctl start corosync-qnetd
On the first pi (warren-pi for my example): Add the IP address
1pvecm qdevice setup 192.168.1.96
Verify the QDevice is active:
1pvecm status
You should see output like:
1Nodeid Votes Qdevice Name230x00000001 1 A,V,NMW 192.168.1.10 (local)450x00000002 1 A,V,NMW 192.168.1.199670x00000000 1 Qdevice89Expected votes: 3, Quorate: Yes ✅
Configure High Availability for VMs
To make a VM automatically restart on another node if a node fails, add it to the HA manager:
1ha-manager add vm:201 --state started --max_restart 3
Check HA status:
1ha-manager status

Mike
🗓️ Posted on July 26, 2026