ceph-monmap 命令处理流程

本文详细介绍了Ceph中`ceph-monmap`命令的处理流程,包括monmap查询、添加、删除操作,以及与Paxos协议的交互。在处理过程中,涉及到MonmapMonitor的preprocess_command()和prepare_command()方法,通过PaxosService进行提案并同步到所有服务器。对于mon的增删操作,会更新pending_map,并触发Paxos协议确保一致性。
摘要由CSDN通过智能技术生成
命令处理流程:
void Monitor::dispatch_op(MonOpRequestRef op)  //根据消息的数据类型调用不同的PaxosService::dispatch_op()
        |
        | MSG_MON_COMMAND   //MonmapMonitor类型的消息
        |
void Monitor::handle_command(MonOpRequestRef op)
        |
        |
        |
bool PaxosService::dispatch(MonOpRequestRef op)
        |
        |
        |
        如果是查询命令bool MonmapMonitor::preprocess_query(MonOpRequestRef op)  //返回
        |
bool MonmapMonitor::prepare_update(MonOpRequestRef op)
        |
        |MSG_MON_COMMAND :bool MonmapMonitor::prepare_command(MonOpRequestRef op)
        |MSG_MON_JOIN :  bool MonmapMonitor::prepare_join(MonOpRequestRef op)
        |
   如果prepare_update返回结果为true,表明有一个proposal需要propose,则
void PaxosService::propose_pending()
        |
        
void MonmapMonitor::encode_pe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值