3.3.9. 放置组降级状态
当客户端将对象写入 Primary OSD 时,OSD 负责将副本写入副本 OSD。在主 OSD 将对象写入存储后,PG 将会维持为 degraded
状态,直到主 OSD 收到来自副本 OSD 的 Ceph 已成功创建副本对象的确认。
PG 可以是 active+degraded
的原因是,OSD 可以处于 active
状态,尽管它还没有保存所有对象。如果 OSD 停机
,Ceph 会将分配到 OSD 的每个 PG 标记为 degraded
。当 OSD 重新上线时,OSD 必须再次对等。但是,如果客户端处于 active
状态,客户端仍然可以将新对象写入到一个降级的(degraded)
PG。
如果 OSD 为 down
并且一直处于 degraded
状况,Ceph 可能会将 down
OSD 标记为集群 out
,并将 down
OSD 的数据重新映射到另一个 OSD。在标记为 down
和标记为 out
之间的时间由 mon_osd_down_out_interval
控制。它被默认设置为 600
秒。
放置组也可以为 degraded
,因为 Ceph 找不到一个或多个 Ceph 认为应该在放置组里的对象。虽然您无法读取或写入到未找到的对象,但您仍可以访问 degraded
PG 中所有其他对象。
假设有 9 个 OSD,即副本池。如果 OSD 数量 9 停机,分配给 OSD 9 的 PG 会处于降级状态。如果 OSD 9 没有被恢复,它会退出集群,集群会重新平衡。在这种情况下,PG 被降级,然后恢复到 active 状态。