Skip to main content
RunBook Academy

CephL · Cluster DeploymentCluster Deployment

Network design for a production cluster

Advanced⏱ ~17 mincephiperf3

What you'll learn

  • Enumerate the networks a deployment needs
  • Size each against its traffic
  • Design for isolation and manageability
  • Verify the design before deployment

Prerequisites

None — start here.

Verified against Ceph Tentacle 20.2.x · Ceph Squid 19.2.x (supported previous) · cephadm matches the verified Ceph release · podman 4.x · csi-rbd and csi-cephfs current · RBD / CephFS / RGW current (matches Ceph release) · Linux kernel 5.15+ (5.10 minimum) · Ubuntu 24.04 LTS (Ceph host baseline) · Debian 12 (Bookworm) (Ceph host baseline) · Rocky Linux / RHEL / AlmaLinux 9.x (Ceph host baseline) · Proxmox VE 9.x (cross-course integration) · Kubernetes 1.31+ (cross-course integration) · 2026-08-18

Not yet marked complete on this device.

Why this matters in production

Networks are decided at build time and are expensive to change. Getting the count and the sizing right means understanding what each carries, which is a short list.

The networks

NetworkCarriesRequired?
Publicclient I/O, monitor traffic, RGW and MDS to OSDsyes
ClusterOSD replication, recovery, heartbeatsoptional
ManagementSSH, orchestration, monitoring scrape, IPMIrecommended

Ceph itself uses the first two. A management network is an operational choice: it keeps administrative access working when the storage networks are saturated, which is precisely when you need it.

ceph config set global public_network 10.20.0.0/16
ceph config set global cluster_network 10.30.0.0/16

There is no separate network for credentials or authentication — cephx traffic rides the public network with everything else.

Sizing

Public network — sized against client demand, remembering that RGW and MDS traffic to OSDs also rides it:

client read demand + client write demand + RGW-to-OSD + MDS-to-OSD

Cluster network — sized against replication and recovery:

replication:  (size − 1) × client write rate
recovery:     bounded only by throttles; the peak driver

Recovery is what sizes the cluster network. Compute the traffic for rebuilding your largest OSD and divide by the acceptable window.

Without a cluster network, everything shares the public link and the sum is what matters:

size-3 pool, 1 GB/s of client writes
  → 1 GB/s client + 2 GB/s replication = 3 GB/s on one network

Whether to separate

Separate when: recovery demonstrably affects client latency; the cluster is large; EC multiplies recovery volume; two fabrics are operationally manageable.

Do not separate when: a single faster network has ample headroom; the team cannot troubleshoot two paths; the cluster is small.

A single well-provisioned 25 or 100 Gb network frequently beats two congested 10 Gb ones, and it has one failure mode instead of three.

Verifying before deployment

# between every pair of storage hosts, on every network
iperf3 -c 10.30.0.21 -P 8 -t 30

# MTU, if jumbo frames are in use
ping -M do -s 8972 -c 3 10.30.0.21

# latency baseline
ping -c 1000 -i 0.01 10.30.0.21 | tail -2

Record the results. They are the baseline every future investigation compares against, and they are impossible to reconstruct later.

Quiz

Knowledge check · 4 questions

  1. Q1. What should the cluster network be sized against?

  2. Q2. Ceph requires a separate network for authentication and credential traffic.

  3. Q3. Decide on network separation for a new cluster.

    A 40-host cluster with 20 TB HDDs will use EC 8+3 for object storage. Budget allows either two 25 Gb networks or one 100 Gb network per host. The operations team has limited network troubleshooting experience.

  4. Q4. Why is a management network worth an interface per host?

Passing score: 75%. Answers are checked in this browser.

Production discipline

Size the cluster network against recovery rather than replication; replication is bounded by client demand and recovery is not. Record iperf3, MTU, and latency baselines at commissioning — they are the reference every later investigation needs and cannot be reconstructed afterwards.

Cross-course references

  • Kubernetes: separating control-plane, data, and management networks addresses the same concerns
  • Linux: out-of-band management exists precisely for the saturated-network case