Skip to main content
RunBook Academy

CephXCVII · Network MaintenanceNetwork Maintenance

Network maintenance during a degraded cluster

Advanced⏱ ~17 mincephiperf3

What you'll learn

  • Explain the interaction between network work and recovery
  • Decide whether to proceed during a recovery
  • Sequence the two
  • Handle a failure during network maintenance

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

Recovery is the period when the cluster most depends on the network, and network maintenance is when the network is least available.

The interaction

Recovery running
  → the cluster network carries sustained bulk transfer
  → the cluster is degraded and needs it to complete
Network maintenance
  → capacity is reduced, or a path is removed
  → the recovery slows
  → the degraded window extends
  → a further failure during it has a worse outcome
ceph -s | grep -E 'degraded|recovery'
sar -n DEV 1 10

The compounding is not merely additive: the reduced capacity extends the degradation, and the degradation is exactly the state in which the network’s availability matters most.

Deciding whether to proceed

SituationProceed?
Cluster healthy, no recoveryyes
Recovery from an expansiondefer, or pause the rebalance
Recovery from a failure, PGs degradedno
A pool at min_sizeabsolutely not
Emergency network work requiredproceed, accepting the risk explicitly
ceph -s | grep -E 'degraded|undersized'
ceph pg dump pgs | awk '$10 ~ /undersized/' | wc -l
The default answer during a recovery is to wait.
The exception is network work that would itself resolve something.

Sequencing them

# an expansion rebalance can be paused
ceph osd set norebalance
# network work
ceph osd unset norebalance
# a recovery from a failure cannot safely be paused
ceph -s | grep degraded
# wait for it to complete
while ! ceph health | grep -q HEALTH_OK; do sleep 60; done
# then the network work

Pausing a rebalance is safe; pausing a recovery leaves the cluster degraded with nothing repairing it, which is the opposite of what network maintenance during a degraded period should aim for.

Handling a failure during network maintenance

A device fails while a switch is out:
  the recovery needs the network that is reduced
  the reduced capacity extends the recovery
  the cluster is degraded with reduced network capacity
ceph -s
ceph health detail
AssessmentAction
PGs above min_size, recovery progressingcontinue the maintenance, monitor
PGs at min_sizerestore the network immediately
Recovery stalledrestore the network; investigate after
The failure is network-relatedrestore the network; it may be the cause
# restoring the network is usually the fastest remedy
# it costs the maintenance window, not the cluster

Quiz

Knowledge check · 4 questions

  1. Q1. Why can network maintenance itself cause OSDs to be reported down?

  2. Q2. A recovery from a device failure can be paused for network maintenance the way a rebalance can.

  3. Q3. Handle a device failure during switch maintenance.

    A switch is out for firmware upgrade. Twenty minutes in, a disk fails and recovery begins. PGs are degraded but above min_size.

  4. Q4. What is the default answer to network maintenance during a recovery?

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

Production discipline

Wait for a recovery to complete before network maintenance — reducing capacity during the period the cluster most needs it extends the degraded window. If a failure occurs mid-maintenance, restoring the network is usually the right trade: the window is reschedulable and the degradation is not.

Cross-course references

  • Kubernetes: infrastructure maintenance during a workload disruption compounds both
  • Linux: reducing capacity during a rebuild is the classic compounding mistake