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

Posted 坚韧的石头

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)


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>




以上是关于ceph pg分配状态#yyds干货盘点#的主要内容,如果未能解决你的问题,请参考以下文章

ceph pg degraded#yyds干货盘点#

ceph flag 设置#yyds干货盘点#

#yyds干货盘点#进程的各种状态详解进程和内存管理相关原理

#yyds干货盘点# Java 并发 - 线程基础

ceph 工具说明 #yyds干货盘点#

#yyds干货盘点#快速搭建ceph集群