PG状态表
正常的PG状态是 100%的active + clean, 这表示所有的PG是可访问的,所有副本都对全部PG都可用。
如果Ceph也报告PG的其他的警告或者错误状态。PG状态表:
状态 描述
Activating
PG已经互联,但是还没有active。
Peering已经完成,PG正在等待所有PG实例同步并固化Peering的结果(Info、Log等)
Active
活跃态。PG可以正常处理来自客户端的读写请求
PG正常的状态应该是Active+Clean的。
Backfilling
Ceph正常扫描并同步整个PG的数据,而不是从最近的操作日志中推断需要同步的数据,Backfill(回填)是恢复的一个特殊状态。
正在后台填充态。 backfill是recovery的一种特殊场景,指peering完成后,如果基于当前权威日志无法对Up Set当中的某些PG实例实施增量同步(例如承载这些PG实例的OSD离线太久,或者是新的OSD加入集群导致的PG实例整体迁移) 则通过完全拷贝当前Primary所有对象的方式进行全量同步
Backfill-toofull
backfill_toofull backfill操作因为目标OSD容量超过指标而挂起
某个需要被Backfill的PG实例,其所在的OSD可用空间不足,Backfill流程当前被挂起
backfill_unfound Backfill因为没有找到对应对象而停止
Backfill-wait
backfill_wait PG正在等待backfill被调度执行。
等待Backfill 资源预留
Clean
干净态。PG内所有的对象都被正确的复制了对应的份数。
PG当前不存在待修复的对象, Acting Set和Up Set内容一致,并且大小等于存储池的副本数
Creating PG正在被创建
Deep
Ceph 正在检查PG数据和checksums的一致性。
PG正在或者即将进行对象一致性扫描清洗
Degraded
PG中的一些对象还没有被复制到规定的份数。
降级状态。Peering完成后,PG检测到任意一个PG实例存在不一致(需要被同步/修复)的对象,或者当前ActingSet 小于存储池副本数
Down
一个包含必备数据的副本离线,所以PG也离线了
Peering过程中,PG检测到某个不能被跳过的Interval中(例如该Interval期间,PG完成了Peering,并且成功切换至Active状态,从而有可能正常处理了来自客户端的读写请求),当前剩余在线的OSD不足以完成数据修复
Incomplete
Ceph 探测到某一PG可能丢失了写入信息,或者没有健康的副本。如果你看到了这个状态,尝试启动有可能包含所需信息的失败OSD,
如果是erasure coded pool的话,临时调整一下`min_size`也可能完成恢复
Peering过程中, 由于 a. 无非选出权威日志 b. 通过choose_acting选出的Acting Set后续不足以完成数据修复,导致Peering无非正常完成
Inconsistent
Ceph检测到PG中对象的一份或多份数据不一致(比如对象大学不一直,或者恢复成功后对象依然没有等)
不一致态。集群清理和深度清理后检测到PG中的对象在副本存在不一致,例如对象的文件大小不一致或Recovery结束后一个对象的副本丢失
Peered
PG已互联,但是不能向客户端提供服务,因为其副本数没达到本存储池的配置值( min_size 参数)。
在此状态下恢复会进行,所以此PG最终能达到 min_size 。
Peering已经完成,但是PG当前ActingSet规模小于存储池规定的最小副本数(min_size)
Peering
PG正在互联过程中。正在同步态。PG正在执行同步处理。
类似Raft的Leader选举,使一个PG内的OSD达成一致,不涉及数据迁移等操作。
Recovering
正在恢复态。集群正在执行迁移或同步对象和他们的副本
Recovering-wait 等待recovery资源预留。PG正在等待恢复被调度执行。
recovery_toofull 恢复操作因为目标OSD容量超过指标而挂起。
recovery_unfound 恢复因为没有找到对应对象而停止。
Remapped
PG被临时分配到了和CRUSH所指定的不同的OSD上。
重新映射态。PG活动集任何的一个改变,数据发生从老活动集到新活动集的迁移。在迁移期间还是用老的活动集中的主OSD处理客户端请求,一旦迁移完成新活动集中的主OSD开始处理
Repair
Ceph正在检查PG并且修复所有发现的不一致情况(如果有的话)
PG在执行Scrub过程中,如果发现存在不一致的对象,并且能够修复,则自动进行修复状态
Scrubbing
Ceph 正在检查PG metadata的一致性。
PG正在或者即将进行对象一致性扫描
Unactive 非活跃态。PG不能处理读写请求
Unclean 非干净态。PG不能从上一个失败中恢复
Stale
PG状态未知,从PG mapping更新后Monitor一直没有收到更新
未刷新态。PG状态没有被任何OSD更新,这说明所有存储这个PG的OSD可能挂掉, 或者Mon没有检测到Primary统计信息(网络抖动)
snaptrim 正在对快照做Trim操作。
snaptrim_Wait
Trim操作等待被调度执行
snaptrim_Error Trim操作因为错误而停止
Undersized
该PG的副本数量小于存储池所配置的副本数量。
PG当前Acting Set小于存储池副本数。ceph默认3副本,min_size参数通常为2,即副本数>=2时就可以进行IO,否则阻塞IO。
forced_recovery 用户指定的PG高优先级恢复
forced_backfill 用户指定的高优先级backfill
原文链接:https://blog.csdn.net/bandaoyu/article/details/120348914
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




