Skip to content

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/thinpool is 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.1.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.1.55 --node-type Satellite
linstor node create rocky-02 192.168.1.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

  1. Storage → Manage Storage → DRBD Storage tab → Configure LINSTOR Cluster.
  2. Fill in:
  3. Controller IP Address — host running the LINSTOR controller.
  4. API Port — defaults to 3370.
  5. Default Storage Pool Namemfcloud-pool (must match what you created above).
  6. Save. 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:

linstor controller set-property AutoPlacementCount 3

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