2026/01/04 - qdevice¶
I have a 2 node cluster, it doesn't work without a qdevice.
Here is what should have been done to set that up.
- On the qdevice VM
apt update && apt install -y corosync-qnetd
systemctl enable --now corosync-qnetd
- On both pve1 and pve2
apt update && apt install -y corosync-qdevice
- pve1
pvecm qdevice setup <qdevice-ip-or-hostname>
Here's what really happened:
-
Started with a 2-node Proxmox cluster:
-
pve1online,pve2powered off. - Proxmox UI/API threw
500 cluster not ready - no quorum. -
2-node clusters "lose quorum" when one node is down unless you add a third vote.
-
Decided to add a QDevice (qnetd) as the “third vote” instead of forcing quorum with
pvecm expected 1. -
Provisioned a new Debian 13 VM to act as the QDevice host:
-
Proxmox QDevice setup attempts began from
pve1: -
pvecm qdevice setup 192.168.0.233 -
ssh-copy-idwarnings about keys already existing showed up repeatedly (I messed up) -
First major blocker: missing tools / inconsistent state across nodes:
-
One setup attempt failed because
corosync-qdevice-net-certutilwas missing. - Installed
corosync-qdeviceon bothpve1andpve2. -
Verified tool exists with:
which corosync-qdevice-net-certutil
-
Messages like “Certificate database already exists” and certificate-store reuse problems.
-
Tried cleaning
/etc/corosync/qnetdand starting over. -
qnetd failed with:
Can't open NSS DB directory (2): No such file or directory-
After recreating, it failed with:
-
Can't open NSS DB directory (13): Permission denied
-
Switched to an “investigate first” approach (Basically, asked ChatGPT for a block of read only commands to help troubleshoot, when it gives you commands to delete anything don't do it, gathering information and giving it that works much better):
-
Ran the final successful setup:
-
pvecm qdevice setup 192.168.0.233 --force -
pvecm statusshowed:Config Version: 3Expected votes: 3Total votes: 3Flags: Quorate Qdevice- Membership included a
Qdevicevoter
-
Cluster now has a tie-breaker vote and no longer dies on quorum when one node goes down.