Skip to main content
RunBook Academy

CephXVIII · Placement GroupsPlacement Groups

PG states — the vocabulary you read during every incident

Intermediate⏱ ~16 minceph

What you'll learn

  • Interpret every common PG state
  • Distinguish states that serve I/O from those that do not
  • Prioritise between simultaneous state problems
  • Use PG state to direct the next diagnostic step

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

PG states are the primary diagnostic output during any Ceph incident. Reading them accurately turns a wall of text into a priority order.

The states

StateServing?Meaning
activeyesthe PG can process requests
cleanyesall replicas present and agreed
degradedyesfewer copies than size
undersizedyesacting set smaller than size
remappedyesacting set differs from up set
backfillingyescopying a full PG to a new OSD
recoveringyescopying missed objects
peeringnoagreeing on state; brief
inconsistentyesscrub found disagreeing replicas
repairyesrepairing an inconsistency
scrubbing / deepyesverification in progress
incompletenoinsufficient history to proceed
downnoa required OSD with needed data is unavailable
staleunknownno report from the primary recently
inactivenonot serving, for any reason

Common combinations

active+clean                              healthy
active+undersized+degraded                a failure, still serving
active+undersized+degraded+backfilling    recovering from it
active+remapped+backfilling               planned rebalance, full redundancy
active+clean+scrubbing+deep               routine verification
active+clean+inconsistent                 scrub found a problem, still serving
peering                                   transient; persistent means investigate
incomplete                                urgent — insufficient history
down                                      urgent — needed OSD unavailable

Reading the counts

ceph pg stat
# 4096 pgs: 3900 active+clean, 190 active+undersized+degraded, 6 peering

The proportion matters as much as the state. Six PGs peering out of 4096 during a recovery is normal. Six PGs incomplete is an incident whatever the total.

The triage order

  1. incomplete, down, inactive — clients blocked.
  2. stale — establish whether it is reporting or reality.
  3. peering persisting more than a minute or two.
  4. inconsistent — data integrity, not availability.
  5. undersized/degraded — redundancy, recovering on its own.
  6. remapped/backfilling — planned movement, full redundancy.

Quiz

Knowledge check · 4 questions

  1. Q1. Which PG state combination means clients cannot read or write that PG?

  2. Q2. A stale PG can be entirely healthy, with only the path that reports its status to the monitors having failed.

  3. Q3. ceph pg stat shows 3700 active+clean, 380 active+undersized+degraded, 12 peering, and 4 incomplete. Prioritise.

    A host with 8 OSDs failed 20 minutes ago on a 96-OSD cluster. Pool size 3, min_size 2. Clients report most workloads normal but a handful of VMs are unresponsive. The team is considering marking the failed OSDs lost to clear the incomplete PGs and speed recovery.

  4. Q4. Give the triage order for PG states during an incident and justify the top of it.

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

Production discipline

Start every incident by asking which PGs are not active, because that single distinction separates blocked clients from a cluster healing itself. Read active+undersized+degraded+backfilling as working correctly rather than as an emergency. Treat stale as a reporting question and resolve it by identifying the primaries. And resist marking OSDs lost to clear incomplete — it is irreversible and usually discards data still sitting on recoverable hardware.

Cross-course references

  • Ceph: Part XIX (PG States) for each state in depth.
  • Ceph: Part XXII (PG Investigation) for the query commands.
  • Ceph: Part XX (PG Peering) for peering that persists.