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
Table 1. PG stats
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
Table 2. Pool stats
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
Table 3. OSD stats
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