Skip to main content
RunBook Academy

CephXCVII · Network MaintenanceNetwork Maintenance

Client impact during network maintenance

Intermediate⏱ ~17 mincephfioping

What you'll learn

  • Predict client impact from the network topology
  • Measure it during the window
  • Bound it with configuration
  • Communicate it accurately

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

Client impact during network maintenance depends almost entirely on the topology, and predicting it correctly requires knowing which network carries which traffic.

What determines the impact

TopologyClient impact
Redundant paths, capacity sufficientbrief convergence pause only
Redundant paths, capacity insufficientcongestion for the duration
Single path to some hoststhose hosts’ OSDs unreachable
Client network unaffected, cluster network reducedslower writes only
Client network affecteddirect client impact
Monitors on the affected pathauthentication and map updates affected
ceph config get global public_network
ceph config get global cluster_network

Knowing which network the maintenance affects determines whether clients see anything at all.

The convergence pause

LACP failover: milliseconds to a few seconds
Spanning tree reconvergence: seconds, if not using MLAG
Routing reconvergence: depends on the protocol and timers
# measure it
PEER=peer
ping -i 0.1 -c 600 ${PEER} | tail -3
# during the failover, on a client
# POOL holds the `probe` image the test writes to; substitute your own:
POOL=rbd-vms

fio --name=probe --ioengine=rbd --pool="$POOL" --rbdname=probe \
    --rw=randwrite --bs=4k --iodepth=16 --runtime=600 --time_based \
    --log_avg_msec=100 --write_lat_log=netmaint

The latency log shows the pause and its exact duration.

Bounding the impact

MeasureEffect
Fast LACP timersfaster convergence
MLAG rather than spanning treeno reconvergence delay
Guest timeouts above the convergence timepauses rather than errors
noout setno unnecessary recovery
Maintenance during low loadfewer affected operations
Sufficient surviving capacityno congestion
cat /proc/net/bonding/bond0 | grep -i 'lacp rate'
LACP rate fast: 1-second intervals, 3-second timeout
LACP rate slow: 30-second intervals, 90-second timeout

Fast rate converges far quicker and is worth configuring on storage hosts.

Communicating it

Network maintenance: switch tor-a-1 firmware, 23:00–23:30

Expected client impact:
  a pause of under 2 seconds at failover and again at restore
  no I/O errors, provided guest timeouts exceed 30 seconds
  normal latency throughout the maintenance
  no reduction in redundancy

Not expected:
  blocked I/O
  OSDs marked down
  elevated latency for the duration
If elevated latency persists rather than a brief pause, the surviving
capacity is insufficient and the maintenance should be aborted.

Quiz

Knowledge check · 4 questions

  1. Q1. Why should persistent elevated latency during network maintenance trigger an abort?

  2. Q2. The slow LACP rate is adequate for storage hosts.

  3. Q3. Predict client impact for a switch maintenance.

    A cluster-network switch is being upgraded. Clients connect over a separate public network that is unaffected. Bonds have sufficient surviving capacity.

  4. Q4. What determines whether clients see anything during network maintenance?

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

Production discipline

Configure the fast LACP rate on storage hosts — the slow rate’s 90-second timeout is long enough for OSDs to be marked down and I/O to stall. Distinguish a brief convergence pause from persistent elevated latency; the second means insufficient surviving capacity and warrants aborting.

Cross-course references

  • Kubernetes: failover detection timers determine how visible a failover is
  • Linux: fast failure detection is a trade against false positives everywhere