Skip to content

08/09/26 Returning Proxmox to a Standalone Node

I originally built a small Proxmox cluster with:

  • pve
  • pve2
  • a Raspberry Pi acting as a qdevice

Over time, the setup changed. pve2 was decommissioned and repurposed as an Ubuntu Server machine for Ollama, leaving only pve as an actual Proxmox node.

At that point, keeping pve clustered no longer made much sense, so I returned it to standalone mode.

Initial State

pvecm status showed that only one Proxmox node was online, while the qdevice was still providing an additional vote.

The old corosync.conf also still contained pve2, even though that machine no longer ran Proxmox.

There were also some old VM and LXC configs under:

/etc/pve/nodes/pve2/

Before removing anything, I backed up the old node configuration and the main Proxmox configuration database:

/var/lib/pve-cluster/config.db

Removing the Cluster Configuration

I first stopped the HA and cluster services:

systemctl stop pve-ha-lrm
systemctl stop pve-ha-crm
systemctl stop pve-cluster
systemctl stop corosync

With the cluster services stopped, I backed up config.db.

I then started Proxmox's configuration filesystem in local mode:

pmxcfs -l

This allows /etc/pve to be accessed without relying on Corosync or cluster quorum.

I removed the old cluster configuration:

rm /etc/pve/corosync.conf
rm -rf /etc/corosync/*

Then removed the old pve2 node directory:

rm -rf /etc/pve/nodes/pve2

Finally, I stopped the locally started pmxcfs process and returned Proxmox to normal operation:

killall pmxcfs
systemctl start pve-cluster

Result

Afterwards:

systemctl is-active pve-cluster

returned:

active

while:

systemctl is-active corosync

returned:

inactive

Only the remaining node was present under:

/etc/pve/nodes/

and all existing VMs, LXCs, and local storage were still available.

The main thing to remember is that /etc/pve is managed by pmxcfs, so returning a Proxmox node to standalone mode is not just a case of deleting Corosync files while the system is running.

Removing the QDevice from the Raspberry Pi

With Proxmox back in standalone mode, the Raspberry Pi was still running the old Corosync qdevice service.

The Pi had previously been used as the third vote for the two-node Proxmox cluster, so I first checked whether the service was still active:

systemctl status corosync-qnetd --no-pager

It was still running and listening on port 5403.

I also confirmed that the only related package installed was:

corosync-qnetd

and that the old cluster certificate files were still present under:

/etc/corosync/qnetd/nssdb/

Since the Proxmox cluster no longer existed, the qdevice was no longer needed.

I stopped and disabled the service:

sudo systemctl stop corosync-qnetd
sudo systemctl disable corosync-qnetd

Then removed the package and its unused dependency:

sudo apt purge corosync-qnetd
sudo apt autoremove

After the purge, the old qdevice certificate database was also removed:

ls /etc/corosync/qnetd/nssdb

returned:

No such file or directory

At that point the Raspberry Pi was no longer participating in the old Proxmox cluster in any way.

The final layout is now:

Raspberry Pi
└── Docker / infrastructure services

PVE1
└── standalone Proxmox

Former PVE2
└── Ubuntu Server
    └── Ollama

This also removes one more unnecessary background service from the Pi and leaves each device with a much clearer role.