ceph pg分配状态#yyds干货盘点#

知是行的主意,行是知的功夫。这篇文章主要讲述ceph pg分配状态#yyds干货盘点#相关的知识,希望能为你提供帮助。
1、简介
一般 检测 集群 状态 时,只需要 对 集群 整体 健康状态 检查 以下 就可以了,但是 这还是 远远 不够,我们 还需要 了解 如何 检查 pg 健康 状态(面对 集群 异常时,才能 从容 的及解决 问题);例如,发生 硬件故障、守护进程 异常、网络 异常(振荡) 或者 其他 未知的原因 很有可以 就 导致 pg 状态 异常(一旦 pg 状态异常,pg 就会处于 降级 状态)


2、pg 分配
2.1 pg 归置组 分配
当 crush 算法 将 某些 pg 分配给 osd时,根据 数据池的 副本数 将 pg 分配给 不同的osd上(osd处于 不同的故障域)


2.2 pg 分配状态
2.2.1 pg 分配状态 -- up
根据 crush 算法 得出 pg 分配 的osd 分布,则 这些 osd 标志为 up 状态


2.2.2 pg 分配状态 -- acting
某些 情况下(新增、删除 osd 等),某些 pg 分配到了 一些 临时的osd上,此时 这些 osd 与 crush 分配 得出的 osd 不一致,这些 osd 被 标志为 acting 状态(这些 osd 作为 临时 osd)
【ceph pg分配状态#yyds干货盘点#】

2.2.3 pg 分配状态 -- backfill
某些 情况下(新增、删除 osd、pg均衡调整 等),已经 分配 完成 的 pg 根据 crush 算法 重新 分配 到 新的 osd 上(或者 删除的osd 上的pg 分配到 别的 osd 上),这个 过程 叫做 backfill(数据回填)


2.2.4 pg 分配状态 -- recovering
当 osd 开启守护进程(或者 停止 守护进程),pg 会进行 迁移,这种状态 称为 recovering


2.3 pg 分配状态 检测
集群 处于 "HEALTH OK" 表示 集群 正常,但 集群 一旦 出现 某些 异常 情况(例如,stuck stale),也不必 太过惊慌,仔细检查 pg 状态,解决问题(办法 总比 困难 多嘛)
## 列出 所有 pg 状态 ## pg 的格式 : < pool_num> .< pg_id> # ceph pg dump## 详细 查看 某个 pg 的状态 # ceph pg map < pg-num>







    推荐阅读