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.
Networks
Section titled “Networks”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. |
NIC roles
Section titled “NIC roles”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 --forcedowngrades 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
StoragePathMTUorOverlayPathMTU(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}/mtuwithstorageoroverlay. Raising the MTU does not raise the path.
Check a path yourself before installing, from a node’s shell:
ping -M do -s 8972 -c 2 192.0.2.21 # 9000 less 28 bytes of headersAddresses
Section titled “Addresses”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. |
