3.2.3.5. degraded
当客户端将对象写入到Primary OSD 时,Primary OSD 负责将副本写入到副本 OSD。Primary OSD 将对象写入存储后,PG 将保持 degraded
状态,直到 Primary OSD 收到 Ceph 成功创建副本对象的副本 OSD 的确认。
PG 可以是 active+degraded
的原因是 OSD 可能为 active
,即使它还没有保存所有对象。如果 OSD 传出 down
,Ceph 会将分配给 OSD 的每个 PG 标记为 degraded
。OSD 重新上线时,OSD 必须再次对等点。但是,如果客户端是 active
,客户端仍然可以将新对象写入 degraded
PG。
如果 OSD 是 down
,且 degraded
条件仍然存在,Ceph 可以将 down
OSD 标记为集群的 out
,并将 down
OSD 数据从 OSD 重新 map 到另一个 OSD。mon_osd_down_out_interval
控制标记 down
和标记为 out
之间的时间,默认为 600
秒。
PG 也可以是 degraded
,因为 Ceph 无法找到 Ceph 认为应在 PG 中的一个或多个对象。虽然您无法读取或写入未找到的对象,但您仍然可以访问 degraded
PG 中的所有其他对象。
假设有 9 个 OSD 含有一个对象的三个副本。如果 OSD 编号 9 停机,分配给 OSD 9 的 PG 处于降级状态。如果 OSD 9 没有恢复,它会退出集群和集群重新平衡。在这种情况下,PG 会被降级,然后恢复到活动状态。