The maintained version now lives at Proxmox cluster Setup, part of scyto/homelab-docs.
Questions or troubleshooting? Continue the conversation here — a Q&A discussion where replies thread properly, answers can be marked, and everything is searchable. The 15 comments below stay exactly where they are as an archive.
this gist is part of this series
Put simply I am not sure what the design should be. I have the thunderbolt mesh network and the 2.5gbe NIC on each node. The ideal design guidelies cause my brain to have a race conditions because:
- ceph shold have a dedicated network
- proxmox should not have migration traffic and cluster communications network
- one wants cluster communicationsnetwork reddundant
I have 3 networks:
-
Onboard 2.5gb NIC connected to one switch for subnet IPv4
192.168.1.0/24and IPv6 /64 address (my LAN) -
Thunderbolt mesh connected in a ring for subnet fc00::80/124
- this has 3 single address subnets
fc00::81/128,fc00::82/128andfc00::83/128these are used for FRR Openfabric routing between nodes
- this has 3 single address subnets
-
Addtional 2.5Gbe using (NUCIOALUWS) add-on afor subnet TBD
- cluster (aka corosync) network uses network 1 (2.5gbe)
- ceph migration traffic uses network 2 (thunderbolt)
- ceph public network uses network 2 (thunderbolt
- CT and VM migration traffic uses network 2 (thunderbolt network)
I have not yet decided what network 3 will be used for, options are:
- cluster public network that other devices use to access the cluster or its resources
- backup corosync (though i don't see a reason not to have corosync on all 3 networks)
- ceph public network - but I assume this is what the VMs uses so it makes sense to i want that on the 26Gbps thunderbolt mesh too
You should have 3 browser tabs open for this, one for each node's management IP.
- navigate to
Datacenter > Clusterand clickCreate Cluster - name the cluster e.g.
pve-cluster1 - set link 0 to the IPv4 address (in my case
192.168.1.81on interface vmbr0) - click
create
- on node 2 in
Datacenter > Clusterclickjoin information - the IP address should be node 1 IPv4 address
- click
copy information - open tab 2 in your browser to node 2 management page
- navingate to
Datacenter > Clusterand click join cluster - paste the information into the dialog box that you collected in step 3
- Fill the root password in of node 1
- Select Link 0 as
192.168.1.82 - click button
join 'pve-cluster1'
- on node 1 in
Datacenter > Clusterclickjoin information - the IP address should be node 1 IPv4 address
- click
copy information - open tab 2 in your browser to node 3 management page
- navingate to
Datacenter > Clusterand click join cluster - paste the information into the dialog box that you collected in step 3
- Fill the root password in of node 1
- Select Link 0 as
192.168.1.83 - click button
join 'pve-cluster1'
at this point close your pv2 and pve 3 tabs - you can now manage all 3 cluster nodes from node 1 (or any node)
- navigate in webui to
Datacenter > Options - double click
Migration Settings - select any networkand click ok - this is just to create an entry in the config file
- edit with
nano /etc/pve/datacenter.cfgand change:migration: network=10.0.0.81/32,type=securetomigration: network=fc00::80/124,type=insecureThis is because a)this subnet containsfc00::80thrufc00::8f; and b) because it is 100% isolated network it can be insecure give a small speed boost
- navigate in webui to
Datacenter > HA > Groups - click create
- Name the cluster (ID)
ClusterGroup1 - add all 3 nodes and then click
create

So the change to the subnet addresses, is that done in the /etc/network/interfaces.d/thunderbolt file as detailed in the Enable Dual Stack (IPv4 and IPv6) OpenFabric Routing, https://gist.github.com/scyto/4c664734535da122f4ab2951b22b2085 ?
I am wondering if 8.3 has changed a couple of things as I also don't see the lo:0 and lo:6 networks in the GUI.
---Update---
The only way I could get the lo:0 and lo:6 to appear was to include the following in the /etc/networking/interfaces
iface lo inet loopback
auto lo:0
iface lo:0 inet static
address 10.0.0.82/27
auto lo:6
iface lo:6 inet static
address fc00::82/64
auto en05
iface en05 inet manual
#do not edit it GUI
auto en06
iface en06 inet manual
#do not edit in GUI
iface enp87s0 inet manual
--- Snip ---
I have left the lo interfaces as given in the Enable Dual Stack in the /etc/network/interfaces.d/thunderbolt and updated the netmask. When modified in the thunderbolt file, the networks did not appear in the GUI and I was unable to change the cluster migration options to select the thunderbolt network.
Non /64 sub-net masks don't comply with the 64 bit interface address defined in RFC4291 and it makes my IPV6 OCD twitch :-)