Skip to content

03/01/26 - Proxmox Cluster

Created a start script for this to host it locally. On past iterations on Arch and Nix I was using an alias to do this same thing, but now I'm onto my third distro hop I think a script would be more fitting and definitely more future proof.

    touch start.sh
    chmod +x start.sh

This creates the file and makes it executable, then I took the commands from my installation guide and just pasted them in there. Works a charm.

    source .venv/bin/activate
    python -m mkdocs serve

Let's make a little a to-do list here because there's a number of things I want to do on the proxmox.

Currently it has 3 things on it:

  • LXC Vaultwarden container.
  • Skyrim Together multiplayer server (Debian 13 VM).
  • AzerothCore bot server (Debian 13 VM).

Things I want to do:

  • Virtualise an OPNSense router so I can manage my VM's IP's with DHCP.
  • Set up a LAN DNS so that I can give these services webpages a custom URL.
  • Migrate the proxmox from the current Optiplex Micro 3060 to my old gaming PC, much more RAM on there (or cluster them).
  • Set up a Home Assistant container or VM.
  • Set up a Snipe-IT inventory system container or VM.
  • Host MkDocs locally on my PVE instead of GitHub Pages.

  • Installed Proxmox on the gaming PC.

So the process for clustering is actually a lot simpler than I expected. You select the primary datacenter and there: is a tab "Cluster". Go 'Create Cluster', it already have the IP of itself in there, just click create. Then click on the 'Join Information' button and copy the Join Information.

Now from the other proxmox webpage I go to the same cluster tab and select 'Join Cluster', paste the Join Information in there.

Now I have a cluster.

I also had to rename the new proxmox, as it defaults to a hostname of "pve". So I opened the shell for the new one and ran:

    hostnamectl set-hostname pve2

Then edited /etc/hosts so that the name in there is also pve2.

and this is where some more learning opportunities came my way, I believe all caused by the second proxmox having the same default pve name.

So with the help of chatGPT I did the following and was able to get the cluster working:

  • Renamed the second node
    hostnamectl set-hostname pve2
  • Fixed hostname resolution on both nodes
    nano /etc/hosts
  • Regenerated cluster SSH and SSL certificates
    pvecm updatecerts --force
  • Restarted Proxmox API services to load new certificates
    systemctl restart pvedaemon pveproxy

I had a problem with the first node hanging on the updatecerts command so did the below to resolve:

  • Cleaned up stuck certificate regeneration processes
    pkill -9 -f "/usr/bin/pvecm updatecerts"
  • Rebooted a single node to clear orphaned cluster state
    reboot
  • Verified cluster health
    pvecm status

Now the cluster just works. Nothing else done.


Migrated the AzerothCore VM to pve2, expanded the RAM from 4GB to 24GB and processor cores from 4 to 8.