
If a Proxmox Two-Node cluster is configured without a third node, you may face issues in case one node fails or the cluster enters a split-brain scenario.
As a best practice, even a Two-Node cluster requires a third node to act as quorum. This can be easily achieved by using an additional computer with the corosync-qnetd package installed. A mini-PC, a Raspberry Pi, and similar devices are great examples of what can be used as a QDevice.
Create the Proxmox Two-Node cluster
To create the cluster, you should already have two Proxmox nodes set up with the latest version installed.
Login to the Node 1 by entering the root credentials and click Login.
Navigate to Datacenter > Cluster and click Create Cluster.
Enter a Cluster Name and select the Cluster Network for corosync traffic. Click Create.
The cluster is being created.
Once created, click Join Information.
Click Copy Information to copy details required for Node 2.
Login to Node 2 and navigate to Datacenter > Cluster. Click Join Cluster.
Paste the information into Information field, enter the root Password of Node 1, select the Cluster Network used for corosync traffic and click Join <cluster_name>.
Node 2 will now join the Proxmox cluster.
Back on Node 1 and verify that Node 2 has been added successfully.
Access the Shell on either node and run the following command to check the status:
# pvecm status
The output of the pvecm status command in the Proxmox VE Shell on Node 1, shows the cluster information, quorum status with 2 expected votes, and membership details for both nodes.
In a Proxmox Two-Node Cluster if the network connection between the two nodes is interrupted, neither node maintains quorum. A Proxmox Two-Node cluster requires 2 votes, meaning each node has 1 vote.
If the link drops, both nodes lose contact with each other, dropping below the required quorum threshold. As a result, cluster services freeze or stop to prevent a split-brain scenario where both nodes try to modify the same storage simultaneously.
Install the Proxmox Qdevice
You can use almost any computer as a QDevice, as network traffic is very minimal and its sole purpose is to cast a vote for the Proxmox cluster quorum.
In this example, Ubuntu Linux is used as the operating system.
First, ensure that a static IP address has been configured on the Ubuntu machine for Corosync communication.
# ip a
Login to the Qdevice and update the Ubuntu OS.
# sudo apt update && sudo apt upgrade
Install the corosync-qnetd package which enables communication with the Proxmox Two-Node cluster.
# sudo apt install corosync-qnetd
Enable and start the QNetd service.
# sudo systemctl enable --now corosync-qnetd
Since the setup command from Proxmox requires a direct SSH access to the Qdevice, you must enable root login.
If you haven't set a root password yet, configure the root password.
# sudo su
# passwd
Enable root login in the SSH configuration file.
# sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
Restart the SSH service to apply the changes.
# sudo systemctl restart ssh
Now edit /etc/hosts for local name resolution.
# sudo vi /etc/hosts
Add the DNS entries corresponding to your Proxmox cluster nodes and the Qdevice itself.
192.168.20.120 pve01.nolabnoparty.lab pve01
192.168.20.121 pve02.nolabnoparty.lab pve02
192.168.20.125 pve-qdevice.nolabnoparty.lab pve-qdevice
The Qdevice is now ready to be connected to the Proxmox cluster.
Join the Qdevice to the cluster
Ensure that the /etc/hosts entries are configured correctly on both Proxmox nodes.
Install the corosync-qdevice package on both Proxmox nodes.
# apt install corosync-qdevice
From Node 1 only, run the setup command using the Qdevice IP Address.
# pvecm qdevice setup 192.168.20.125
The Qdevice is now a member of the cluster and acts as an active component for quorum voting.
# pvecm status
With this configuration in place, the Proxmox Two-Node cluster now follows best practices and safely avoid split-brain scenarios.































