Skip to main content
RunBook Academy

CephLVI · OSD FailureOSD Failure

Deciding what to do about a failed OSD

Advanced⏱ ~17 minceph

What you'll learn

  • Enumerate the options after an OSD failure
  • Weigh the cost of each against the situation
  • Choose deliberately rather than by timer
  • Communicate the decision and its consequences

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

Doing nothing is a decision, and it is the one the down-out interval makes for you. Choosing deliberately means the cluster does what you intended rather than what the default timer produced.

The four options

OptionWhenCost
Restore the OSDdaemon crashed, device healthyrecovery delta, minutes
Wait and let it go outdevice failed, capacity availablefull rebalance
Mark out immediatelydevice failed, want the rebalance to start nowfull rebalance, sooner
Hold with nooutinvestigating, or a short planned absencereduced redundancy for the duration

Restore

# HOST is the node running osd.13, from `ceph osd find 13`; DEV is that OSD's
# block device on it. Substitute your own:
HOST=ceph-04
DEV=/dev/sdc

ssh "$HOST" smartctl -H "$DEV"
ceph orch daemon restart osd.13
ceph -s

Viable when the device is healthy. Recovery is a delta from the PG log if the absence was short, and the cluster returns to active+clean quickly.

Wait

The default. The interval expires, the OSD is marked out, and the rebalance begins. Appropriate when the device has clearly failed and there is nothing to decide.

Mark out immediately

ceph osd out 13

Starts the rebalance now rather than in ten minutes. Worth doing when the device has definitively failed and you want redundancy restored as early as possible — ten minutes of a size-3 pool at two copies is ten minutes of exposure.

Hold with noout

ceph osd add-noout 13

Keeps the cluster degraded rather than rebalancing. Appropriate for a short investigation or a planned absence, and inappropriate for anything measured in days.

The decision inputs

QuestionBearing
Is the device healthy?determines whether restoring is possible
How long until the OSD can return?minutes favours holding, days favours rebalancing
Is there capacity for the rebalance?check before committing to it
Is the pool at min_size anywhere?urgency rises sharply
Is other maintenance in progress?avoid concurrent rebalances
ceph osd df                       # capacity for the rebalance
ceph pg dump_stuck undersized     # how exposed the pool is
ceph -s                           # other recovery in progress

Quiz

Knowledge check · 4 questions

  1. Q1. What should be checked before marking a failed OSD out?

  2. Q2. Marking a failed OSD out immediately shortens a multi-hour exposure window by only ten minutes.

  3. Q3. Choose a response to a failed OSD.

    osd.13 is down. SMART reports the device as failing with reallocated sectors climbing. The cluster is at 81% capacity with 200 OSDs. Another OSD failed two days ago and its rebalance completed yesterday.

  4. Q4. When is holding an OSD with noout inappropriate?

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

Production discipline

Decide deliberately rather than letting the down-out interval decide; check device health and cluster capacity, then choose. Verify capacity before allowing a rebalance on a cluster above 80% — the redistribution can stall and leave the cluster worse than the failure did.

Cross-course references

  • Kubernetes: deciding whether to let a node’s pods be evicted or to fix the node first is the same call
  • Linux: whether to rebuild a RAID array or repair the member first involves identical reasoning