Add LINSTOR / DRBD Storage¶
LINSTOR with DRBD replication is MFCloud's default HCI storage backend: synchronous block replication between two or three nodes, low latency, and live migration without copy-on-the-wire.
Prerequisites¶
- LINSTOR controller running on an MFCloud-reachable host (typically the master).
- DRBD kernel module loaded on every storage node (
modprobe drbd; lsmod | grep drbd). - An LVM thin pool (
drbdpool/thinpoolis the convention) on each storage node. - Firewall: 3370/tcp (controller API), 3366/tcp (satellite ↔ controller), 7000-7999/tcp (DRBD replication).
Add satellite hosts by static IPv4 — never by DNS name
LINSTOR's node create <name> <ip> stores the satellite's network address as
a literal IP and reuses it verbatim as the DRBD peer endpoint — it does not
resolve DNS. In the Hosts panel, add nodes that will run DRBD using their
static IP (e.g. 192.168.10.55), not a hostname like kvm-lins-01, or
registration fails with Failed to parse IP address. See
LINSTOR / DRBD Storage Issues
for the full root cause if you hit it after the fact.
Bootstrap (one-time)¶
On the controller host (usually the master):
# Confirm the API is up
curl -sf http://localhost:3370/v1/controller/version | jq .
# Register each satellite node
linstor node create rocky-01 192.168.10.55 --node-type Satellite
linstor node create rocky-02 192.168.10.56 --node-type Satellite
# Wire the storage pool on each
linstor storage-pool create lvmthin rocky-01 mfcloud-pool drbdpool/thinpool
linstor storage-pool create lvmthin rocky-02 mfcloud-pool drbdpool/thinpool
Quick steps¶
- Settings → LINSTOR Clusters → + Add Cluster.
- Fill in:
- Cluster Name — friendly label.
- Controller IP — host running the LINSTOR controller.
- API Port — defaults to 3370.
- Storage Pool —
mfcloud-pool(must match what you created above). - Save & Test. MFCloud probes the controller, lists known nodes, and validates the pool exists on at least 2.
LINSTOR appears in the Storage picker for new VMs. Each created VM becomes a DRBD resource (drbd-<vm_uuid>) with a 2-way or 3-way replica depending on the cluster placement policy.
Replica count¶
The default is --auto-place 2. To favour 3-way replication for production VMs:
This applies to new VMs only. Existing resources stay at their current replica count until you linstor resource create <name> <node> --auto to add another.
Live migration¶
DRBD's dual-primary mode is enabled per-resource by MFCloud during a migration window, then dropped back to single-primary. The VM moves with sub-second downtime as long as both replicas are healthy.
Removing a cluster¶
Removing the row drops MFCloud's record, not the LINSTOR resources themselves. VMs continue to run; you re-add the same cluster to pick them back up. To free disk on the satellites, delete the resources manually with linstor resource delete <node> <resource>.
See also¶
- Storage Backend Comparison
- Default Ports — DRBD and LINSTOR firewall ranges.