首页/系统与基础设施/存储速查/PG 状态含义与异常状态判读
分布式与对象存储70 条

PG 状态含义与异常状态判读

PG 状态是若干标志的组合,如 active+clean 表示可读写且副本齐全。判读顺序是先看有没有 active,再看副本是否不足,最后看是否处于恢复或异常状态。本文列出常见状态的成因与处置方向。

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​​​​‌‌​​‌‌‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌‌​​​​​‌‌‌​​‌​​‌‌​​‌​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​

状态是多个标志的组合

PG 状态不是单一取值,而是若干标志叠加,同时表达能不能服务与副本是否齐备两件事。判读时先找 active:有它表示可以响应读写;再看副本相关标志判断是否降级;最后看是否有异常标志,例如内容不一致或找不到完整副本集合。

基本信息

正常状态active+clean,副本齐全且读写正常
过渡状态peering、activating、creating 属于建立一致性视图的过程
降级状态degraded 表示副本不足但可服务,undersized 表示副本少于池配置
迁移状态recovering 与 backfilling 表示正在补数据
异常状态inconsistent 为副本内容不一致,incomplete 为找不到完整副本集合
查看途径ceph pg stat 看分布,按 PG 号查询可得单组细节

典型使用场景

  • 变更前后巡检:确认没有 PG 长期停留在降级或回填状态
  • 判断维护窗口:处于 active+clean 时停机风险相对更低
  • 定位单组异常:按 PG 号查询承载 OSD 与各副本状态
  • 评估恢复进度:观察 recovering 与 backfilling 的对象数变化
  • 处理不一致:scrub 报出不一致后评估是否需要修复动作

状态查看与处理

状态查看与处理
ceph pg stat              # 各状态 PG 数量汇总
ceph health detail        # 与 PG 相关的告警明细
ceph pg 1.2 query         # 单个 PG 的详细状态
ceph pg map 1.2           # 该 PG 的映射与承载集合
ceph pg scrub 1.2         # 触发一致性校验
ceph pg repair 1.2        # 按权威副本修复不一致

常见状态读法

状态含义处置方向
active+clean副本齐全可正常读写无需处理
active+degraded副本不足但仍可服务等待恢复,避免同时再动其他盘
undersized副本数少于池配置确认是否有 OSD 被 out 或规则限制选点
backfilling整份 PG 正在复制到新 OSD关注带宽占用,必要时限流
remapped临时映射到非 acting 集合多为 OSD 短暂异常,观察是否自愈
stale主 OSD 未上报状态检查 OSD 进程与网络,结合 down 判断
inconsistent副本之间内容不一致先定位成因再决定是否修复
incomplete缺少完整副本集合严重状态,需人工评估可恢复性
校验分普通与深度两种:普通校验比对元数据与对象信息,深度校验会读取数据区做完整比对。深度校验对磁盘压力更大,通常安排在低峰并分批执行。
不一致状态的修复会以某个副本为准覆盖其他副本。若权威副本本身有误,错误会被固化,因此动手前要先确认不一致的范围与成因,而不是见到告警就立即修复。

降级不等于故障

部分 OSD 掉线后 PG 进入降级状态仍能正常读写,此时若再主动重启其他节点,可能让副本进一步减少甚至失去可用性。合理做法是先确认集群处于可操作窗口,再决定下一步动作。

易错点

  • 看到降级就急着重启节点:可能同时减少更多副本,反而让 PG 失去可用性
  • 把 undersized 当作硬件故障:多数情况是 OSD 被 out 或规则限制了选点范围
  • 在恢复期执行大批量运维:恢复与运维的 IO 叠加,前端延迟明显上升
  • 发现不一致直接修复:不查清成因可能把错误副本固化为权威来源
  • 忽略长时间停在回填状态:往往是限流过紧或目标 OSD 容量不足

数据来源与参考

  • Ceph 官方文档《Placement Group 状态说明》
  • Ceph 官方文档《PG 自动伸缩模块 pg_autoscaler》
  • Ceph 官方文档《集群健康检查(health checks)清单》

整理校对:其其网ICT文档中心 · 本页地址:docs.qiqicto.com/storage/pg-state-interpretation.html

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌​​‌​‌‌‌‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​‌‌‌​​‌​​‌‌​​​​‌​‌‌​​‌‌‌​‌‌​​‌​‌​​‌​‌‌‌‌​‌‌‌​​​​​‌‌​​‌‌‌​​‌​‌‌​‌​‌‌‌​​‌‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​​‌​‌​​‌​‌‌​‌​‌‌​‌​​‌​‌‌​‌‌‌​​‌‌‌​‌​​​‌‌​​‌​‌​‌‌‌​​‌​​‌‌‌​​​​​‌‌‌​​‌​​‌‌​​‌​‌​‌‌‌​‌​​​‌‌​​​​‌​‌‌‌​‌​​​‌‌​‌​​‌​‌‌​‌‌‌‌​‌‌​‌‌‌​​​‌​‌‌‌​​‌‌​‌​​​​‌‌‌​‌​​​‌‌​‌‌​‌​‌‌​‌‌​​