Part 3- Configuring 3 Node Nested Proxmox Cluster

In the last blog we created our proxmox VM’s pve-{n1-n3} so we will just create a cluster form it.

Login to pve-n1 and go to the network section and we can see three NIC’s here. Here we will need to configure NIC1 as our Migration IP and NIC2 as our Ceph IP

NameAlternative nameVM NICUse
nic0enp6s18net0Management ,1611
nic1enp6s19net1Migration, 1612
nic2enp6s20net2Ceph, 1613

Set the migration IP to 1612

  • Double-click enp6s19
  • IPv4/CIDR: 172.16.12.41/24
  • Gateway: leave empty
  • Autostart: ticked
  • Comment: Migration (vMotion)

Set the Ceph IP to 1613

  • Double-click enp6s20
  • IPv4/CIDR: 172.16.13.41/24
  • Gateway: leave empty
  • Autostart: ticked
  • Comment: Ceph (vSAN)

Click Apply Configuration and then Review the configuration from the UI

These changes from UI were made into /etc/network/interfaces so just run the ip command from cli to recheck if changes are committed

Repeat the above steps on pve-n2 (.42) and pve-n3 (.43) as well

Join the Cluster

Create the cluster on pve-n1: Datacenter → Cluster → Create Cluster

Create Cluster

  • Name: pve-cluster
  • Row 1: Link 0 → 172.16.11.41
  • Click Add. Row 2: Link 1 → 172.16.12.41
  • Create

The pve-nested cluster is now created.

Corosync is the cluster’s messaging and membership engine that lets the nodes talk to each other, know who’s alive, and agree on things. Here is the file it just updated cat /etc/pve/corosync.conf and how to interpret the file. This shows

The Primary HA Network is ring0_addr: 172.16.11.41 and the secondary HA network is ring1_addr: 172.16.12.41, the name of the cluster which can’t be changed once its deployed, sec auth on says the cluster traffic is encrypted.

root@pve-n1:~# cat /etc/pve/corosync.conf
logging {
  debug: off
  to_syslog: yes
}

nodelist {
  node {
    name: pve-n1
    nodeid: 1
    quorum_votes: 1
    ring0_addr: 172.16.11.41
    ring1_addr: 172.16.12.41
  }
}

quorum {
  provider: corosync_votequorum
}

totem {
  cluster_name: nested-cluster
  config_version: 1
  interface {
    linknumber: 0
  }
  interface {
    linknumber: 1
  }
  ip_version: ipv4-6
  link_mode: passive
  secauth: on
  token_coefficient: 125
  version: 2
}

To join the nodes to cluster, Copy the join info: pve-n1 → Datacenter → Cluster → Join Information → Copy Information

Login to pve-n2: open https://172.16.11.42:8006 → Datacenter → Cluster → Join Cluster

Under join, we copy the code into the information section

  • Password: pve-n1’s root password
  • Link 0: 172.16.11.42
  • Link 1: 172.16.12.42
  • Click Join nested-cluster

Repeat the same for the 3rd node as well and after few minutes we can see all three are joined to a cluster

Run pvcem status from any node to see teh detailed stats

root@pve-n1:~# pvecm status
Cluster information
-------------------
Name:             nested-cluster
Config Version:   3
Transport:        knet
Secure auth:      on

Quorum information
------------------
Date:             Mon Oct 19 21:05:52 2026
Quorum provider:  corosync_votequorum
Nodes:            3
Node ID:          0x00000001
Ring ID:          1.d
Quorate:          Yes

Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2
Flags:            Quorate

Membership information
----------------------
    Nodeid      Votes Name
0x00000001          1 172.16.11.41 (local)
0x00000002          1 172.16.11.42
0x00000003          1 172.16.11.43
root@pve-n1:~# corosync-cfgtool -s
Local node ID 1, transport knet
LINK ID 0 udp
        addr    = 172.16.11.41
        status:
                nodeid:          1:     localhost
                nodeid:          2:     connected
                nodeid:          3:     connected
LINK ID 1 udp
        addr    = 172.16.12.41
        status:
                nodeid:          1:     localhost
                nodeid:          2:     connected
                nodeid:          3:     connected
(Visited 2 times, 2 visits today)

By Ash Thomas

Ash Thomas is a seasoned IT professional with extensive experience as a technical expert, complemented by a keen interest in blockchain technology.