ceph总结Ceph

ceph osdmap 功能

2018-06-21  本文已影响1人  LH_9161

说明:本文参考了福叔的文章

osdmap机制主要有三个方面:

1、monitor监控osdmap数据

2、osd向monitor汇报自身状态,以及监控和汇报peer osd的状态

3、osd监控分配到其上的PG,包括新建PG、迁移PG、删除PG

在整个OSDMap机制中,OSD充分信任monitor,认为monitor维护的osdmap数据绝对正确,OSD对PG采取的所有动作都基于OSDMap数据,也就是说monitor指挥osd如何进行PG分布。

OSD故障监控由monitor和OSD共同完成,在Monitor端,通过名为OSD Monitor的PaxosService线程实时监控OSD发来的汇报数据。在OSD端,运行一个Tick线程,一方面周期性的向monitor汇报自身状态;另一方面,OSD针对PeerOSD进行Heartbeat监控,如果发现Peer OSD故障,及时向monitor进行反馈。

当monitor检测到osd故障,发送最新的osdmap到剩余的osd上,osd中的handle_osd_map函数负责处理收到的osdmap。

OSD收到MOSDMap后,主要进行三个方面的处理:

1、更新OSDMap到磁盘,将osdmap持久化,起到类似log的作用。

2、consume_map进行PG处理,更新PG epoch到磁盘;产生Advmap和Actmap事件,触发PG的状态机state_machine进行状态更新。

3、activate_map根据需要决定是否启动recover_tp线程池进行PG恢复。

上一篇 下一篇

猜你喜欢

热点阅读