Interpreting placement group dump output
The ceph pg dump command displays a wealth of information regarding placement groups.
Because placement groups (PGs) typically range from hundreds to tens of thousands, redirecting the command output to a file or piping it through a pager is advised for easier readability.
See the following output example for the ceph pg dump command.
See the following tables for descriptions of each of the output types:
; PG stats
PG_STAT OBJECTS MISSING_ON_PRIMARY DEGRADED MISPLACED UNFOUND BYTES OMAP_BYTES* OMAP_KEYS* LOG DISK_LOG STATE STATE_STAMP VERSION REPORTED UP UP_PRIMARY ACTING ACTING_PRIMARY LAST_SCRUB SCRUB_STAMP LAST_DEEP_SCRUB DEEP_SCRUB_STAMP SNAPTRIMQ_LEN
5.1b 0 0 0 0 0 0 0 0 0 0 active+clean 2024-06-05T22:12:41.648713+0000 0'0 255:294 [0,7,8] 0 [0,7,8] 0 0'0 2024-06-01T16:34:39.253348+0000 0'0 2024-05-30T05:04:41.133279+0000 0
4.1a 0 0 0 0 0 0 0 0 0 0 active+clean 2024-06-05T22:12:44.045134+0000 0'0 255:291 [3,4,5] 3 [3,4,5] 3 0'0 2024-06-01T07:43:59.302980+0000 0'0 2024-05-27T16:45:10.130663+0000 0
1.1f 0 0 0 0 0 0 0 0 0 0 active+clean 2024-06-05T22:12:44.044842+0000 0'0 255:262 [4,1,3] 4 [4,1,3] 4 0'0 2024-06-01T08:52:22.029352+0000 0'0 2024-05-27T16:44:47.679985+0000 0
....
....
; Pool stats
POOLID OBJECTS MISSING_ON_PRIMARY DEGRADED MISPLACED UNFOUND BYTES OMAP_BYTES* OMAP_KEYS* LOG DISK_LOG
5 4 0 0 0 0 763 0 0 8 8
4 8 0 0 0 0 0 0 0 1145 1145
3 209 0 0 0 0 3702 0 0 250271 250271
1 4 0 0 0 0 1403 0 0 4 4
2 0 0 0 0 0 0 0 0 0 0
...
...
; OSD stats
OSD_STAT USED AVAIL USED_RAW TOTAL HB_PEERS PG_SUM PRIMARY_PG_SUM
4 70 MiB 9.9 GiB 70 MiB 10 GiB [0,1,2,3,5,6,7,8] 56 21
7 44 MiB 10 GiB 44 MiB 10 GiB [0,1,2,3,4,5,6,8] 39 9
2 44 MiB 10 GiB 44 MiB 10 GiB [0,1,3,4,5,6,7,8] 34 11
| PG stats column name | Description |
|---|---|
| PG_STAT | PG ID |
| OBJECTS | Number of RADOS objects associated with this PG |
| MISSING_ON_PRIMARY | Number of missing RADOS objects on primary OSD |
| DEGRADED | Number of degraded (missing desired replicas) RADOS objects |
| MISPLACED | Number of misplaced (wrong location in the cluster) RADOS objects |
| UNFOUND | Number of unfound RADOS objects |
| BYTES | Total number of bytes stored in RADOS objects |
| OMAP_BYTES* | Total number of bytes of all omaps |
| OMAP_KEYS* | Total number of omap keys |
| LOG | Number of PG log entries |
| LOG_DUPS | Number of PG log entries for duplicate ops |
| DISK_LOG | Number of stored PG log entries |
| STATE | Current state of the PG |
| STATE_STAMP | Timestamp of the last state change |
| VERSION | Version of the most recent write to the placement group |
| REPORTED | Version of pg_stat reported for this PG |
| UP | The set of OSDs responsible for transferring data |
| UP_PRIMARY | The primary OSD for this PG; handles client requests |
| ACTING | The set of OSDs that currently have a full and working version of the PG |
| ACTING_PRIMARY | Primary OSD responsible for handling client requests |
| LAST_SCRUB | Last PG version that completed a shallow scrub |
| SCRUB_STAMP | Timestamp when this PG last completed a shallow scrub |
| LAST_DEEP_SCRUB | Last PG version that completed a deep scrub |
| DEEP_SCRUB_STAMP | Timestamp when this PG last completed a deep-scrub |
| SNAPTRIMQ_LEN | Size of the snaptrim queue |
| LAST_SCRUB_DURATION | The duration (in seconds) of the last completed scrub |
| SCRUB_SCHEDULING | Indicates whether this PG is scheduled/queued/being scrubbed |
| OBJECTS_SCRUBBED | The number of RADOS objects scrubbed in a PG after a scrub begins |
| OBJECTS_TRIMMED | The number of RADOS objects trimmed |
| Field | Description |
|---|---|
| POOLID | Numeric pool ID |
| OBJECTS | Number of RADOS objects stored in this pool |
| MISSING_ON_PRIMARY | Number of RADOS objects missing from this pool |
| DEGRADED | Number of degraded (missing desired replicas) RADOS objects in this pool |
| MISPLACED | Number of misplaced (wrong location in the cluster) RADOS objects in the pool |
| UNFOUND | Number of unfound RADOS objects in this pool |
| BYTES | Total number of bytes stored in RADOS objects in this pool |
| OMAP_BYTES* | Total number of bytes stored in OMAPs in this pool |
| OMAP_KEYS* | Total number of OMAP keys stored in this pool |
| LOG | Sum of log entries across all PGs within this pool |
| DISK_LOG | Sum of all persisted log entries across all PGs within this pool |
| Field | Description |
|---|---|
| OSD_STAT | OSD ID |
| USED | The amount of data stored on the OSD |
| AVAIL | The amount of free space available on the OSD |
| USED_RAW | The amount of raw storage consumed by user data, internal overhead, and reserved capacity |
| TOTAL | The total storage capacity of the OSD |
| HB_PEERS | Peer OSDs that this OSD heartbeats |
| PG_SUM | The number of placement group replicas or shards on this OSD |
| PRIMARY_PG_SUM | The number of placement groups for which this OSD acts as primary |