Skip to content

Before you start

Settle these before installing the first node. The founder’s network and disk answers are the cluster’s: later nodes copy them.

  • Three nodes is the smallest cluster that survives losing one. A cluster of two is worse than one machine: losing either stops writes. Install the third right after the second.
  • Five control-plane nodes is the other choice, chosen on the first node. Nodes beyond the planned count join as hypervisor: they run instances, not the control plane.
  • Every node boots the same ISO, and so runs the same release. A machine from an older ISO can upgrade itself before it joins.
  • Each node meets the requirements and the firmware settings. A TPM lets OpenBao unseal itself at boot; without one its unseal key sits on the node’s disk.
Disk Use
OS disk, or two for a mirror System, and by default a free tail that becomes the node’s stratum-compute pool.
Compute pool disk (optional) A whole disk that becomes a node-local LVM-thin pool.
Ceph disk (one or more) A whole, blank disk reserved for a Ceph OSD. Nothing runs on it until you set up Ceph.

Every Ceph disk is wiped when it is reserved. Name disks by their /dev/disk/by-id/ path: the kernel’s nvme0n1 is not stable across nodes or reboots.

With the whole disk OS layout a node has no tail, so it needs a compute pool disk or a Ceph disk. With only Ceph disks, Ceph is the node’s compute storage: the cluster has no storage class, and instances cannot launch, until Ceph is set up.

By default the installer also wipes every other disk that holds data, for example the disks of a former cluster. See wiping other disks.

A cluster uses three networks between its nodes.

Network Carries Notes
Management The node’s address, the API, the console, SSH, and the cluster’s service addresses. The NIC you configure in stage 1. The cluster’s six service addresses sit on this subnet.
Storage Ceph traffic between nodes. The installer suggests a free /24 on VLAN 90, MTU 9000.
Overlay Instance traffic between nodes (Geneve). The installer suggests a free /24 on VLAN 91. MTU must be at least 1558.

Storage and overlay can share a NIC with management. With one NIC per node, leave them on it: nothing else to configure. Two or more NICs let you separate them.

Instances reach your network over a fourth path, VM traffic:

Topology VM traffic You configure
bridged (default) A NIC, bond or VLAN carries it, and your router is the gateway of each floating IP range. The switch trunks the provider VLAN to that NIC. The router serves each range.
routed-host No VLAN: the nodes route floating IPs through one more service address that follows the active gateway. A static route on your router for each floating IP range, via that address.

Approving a node, you give each NIC one role. The first node’s table is copied to the others by default.

Role Means
Unused Left alone.
Storage Carries the storage network.
Overlay Carries the overlay network.
Storage + overlay Carries both.
VM traffic Carries the provider network (bridged clusters only).
In a bond Two NICs act as one link.

The management NIC is oob and mgmt: it is never given another role.

  • Bond. Two NICs in one link. The default mode is active-backup, which needs nothing from the switch. 802.3ad (LACP) needs matching switch ports.
  • VLAN. A tagged network rides a VLAN on a NIC or bond. A tagged network needs its VLAN trunked on the switch.
  • A NIC the install is not told about stays unconfigured, even if a DHCP server on its network would offer it an address.

Storage and overlay start at MTU 9000. Jumbo frames work only when every hop carries them: each NIC, each switch port and any bridge in between. A hop at 1500 passes small packets and silently drops large ones, which looks like Ceph or the overlay misbehaving.

  • A joiner’s first boot also checks that each storage and overlay address its approval declares is on the machine, and refuses one that is missing.
  • The installer sends full-size, don’t-fragment pings between the nodes at first boot, and refuses a jumbo MTU the path does not carry. A node installed by hand with stratum-bootstrap firstboot --force downgrades the refusal to a warning.
  • The first node has no peer to ping, so it cannot test its own path. The first joiner does, and readiness raises StoragePathMTU or OverlayPathMTU (blocking) for a path that fails.
  • Fix it by raising the path, or by lowering the network’s MTU to what the path carries: PUT /v1/admin/cluster/networks/{purpose}/mtu with storage or overlay. Raising the MTU does not raise the path.

Check a path yourself before installing, from a node’s shell:

Terminal window
ping -M do -s 8972 -c 2 192.0.2.21 # 9000 less 28 bytes of headers

Write these down first. The installer checks each is free.

What Count Notes
Management address, per node One each Static, or a DHCP reservation.
Service addresses Six, plus one for routed-host On the management subnet, free, outside the floating IP ranges: api, postgres, openbao, ovnNb, ovnSb, vmselect, and providerGw. The installer suggests the top of the subnet.
Floating IP ranges One or more Free ranges on the LAN, as for a single node.
DNS parent domain, region One each Set on the first node; later nodes copy them. The region cannot change.

Install the first node.