Skip to main content
RunBook Academy

← All labs in Proxmox VE

Lab · foundation · ~120 min

Provision a 3-node cluster from bare metal

A · Physical hardwareB · Nested virtualisation

Objectives

  • Install Proxmox VE on three identical hosts
  • Configure network so cluster and Ceph / migration traffic are separated
  • Join the first node to itself, then add the remaining two
  • Verify cluster health via pvecm status and the GUI dashboard

Prerequisites

  • Three hosts with Proxmox VE 9.2 installed and reachable on the management network
  • A separate VLAN or subnet for Corosync traffic (recommended but not required)
  • DNS or /etc/hosts entries so all three hosts can resolve each other

Provision a 3-node cluster

This is the canonical lab for getting a cluster off the ground. The goal is a working 3-node cluster ready for VM workloads, with traffic separation between management and cluster communication.

Environment

HostIP (mgmt)IP (corosync)
pve-0110.0.0.11/2410.0.1.11/24
pve-0210.0.0.12/2410.0.1.12/24
pve-0310.0.0.13/2410.0.1.13/24

Steps

1. Post-install hardening on each host

On every node:

# Disable the enterprise repo if you do not have a subscription
sed -i 's/^/#/' /etc/apt/sources.list.d/pve-enterprise.list

# Add the no-subscription repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
  > /etc/apt/sources.list.d/pve-no-subscription.list

apt update && apt full-upgrade -y

Edit /etc/network/interfaces on each node to add the second NIC. Use a separate physical NIC for the corosync link to avoid head-of-line blocking with management traffic.

3. Initialise the cluster on pve-01

pvecm create mycluster --link0 10.0.1.11

Verify:

pvecm status
# Expected: Quorate: Yes, Nodes: 1, Active votes: 1

4. Join pve-02 and pve-03

On pve-01, get the join information:

pvecm expected 1    # Reset expected votes before joining

On pve-02 and pve-03:

pvecm add 10.0.0.11 --link0 10.0.1.12
pvecm add 10.0.0.11 --link0 10.0.1.13

5. Verify the cluster

From any node:

pvecm status
# Expected: Nodes: 3, Active votes: 3
pvecm nodes

In the GUI, the cluster view should show all three nodes green with identical versions.

Verification

  • pvecm status reports Quorate: Yes and Nodes: 3
  • The cluster dashboard in the GUI shows three green nodes
  • /etc/pve/corosync.conf on every node lists all three nodes
  • ha-manager status (after enabling HA on at least one VM) lists the manager

Cleanup

# On the nodes you want to remove:
pvecm delnode pve-0X

# On pve-01, after removing all others:
pvecm destroy

This is destructive — only run cleanup if you’re throwing away the lab.

Deliverables

  • · pvecm status output showing all three nodes online
  • · A screenshot of the cluster dashboard with three nodes green

Verification status

Executed end to end
not yet run on hardware

The commands and configuration here have been reviewed against the verified software versions, but nobody has run this lab start to finish on a system meeting its prerequisites. Treat the Expected Outcome as the intended result rather than an observed one, and keep the Cleanup section to hand.