注意
本文档适用于 Ceph 的开发版本。
OSDState
- waiting_for_healthy(等待健康)
如果 OSD 守护程序能够连接到其心跳对等节点,并且其自身内部心跳未失败,则被视为健康。否则,它会将自己置于 waiting_for_healthy 状态,并定期检查自己的可达性和内部心跳。
- preboot(预启动)
OSD 向已连接的 monitor 发送 MOSDBoot 消息,通知集群它已准备好提供服务,以便 quorum 可以在 osdmap 中将其标记为 up。
- booting(正在启动)
在被标记为 up 之前,OSD 必须保持其 booting 状态。
- active
收到将 OSD 标记为 up 的 osdmap 后,它会转换为 active 状态。此后,它有权执行其业务。但是 OSD 服务可能会因各种原因而完全停止或挂起。例如,OSD 服务可以由管理员手动停止,或者在 osdmap 中标记为 stop。或者如果它的任何 IP 地址与 osdmap 中配置的对应 IP 地址不匹配,如果它认为自己是健康的,它会转换为 preboot。
- prestop(预停止)
OSD 在请求 stop 时无条件转换为 prestop。但在告别之前,它会尝试通过发送 MOSDMarkMeDown 来获取 monitor 的确认,并等待更新的 osdmap 或另一条 MOSDMarkMeDown 消息的响应。