Ceph Monitor源码机制分析(一)—— 概述

本文探讨Ceph Monitor的角色,作为集群状态管理者,维护osdmap、monmap等信息的一致性。多Monitor环境带来了数据同步、选举及健康监测等挑战。文章将深入源码,分析Monitor的协同工作、数据存储和更新机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0 前言

最近终于有点时间可以看看Ceph的代码了,接下来准备就Ceph monitor这个Ceph集群中最重要的组件进行深入的分析。

1 Monitor的作用

Monitor在Ceph集群中扮演着管理者的角色,维护了整个集群的状态(抽象成几张map,包括osdmap、monmap、mdsmap、auth、log等),保证集群的相关组件在同一时刻能够达成一致,相当于集群中的领导层。之所以说是相关而不是所有的主要是因为OSD map的更新采用了类似于灰度发布的机制,这会导致在一个时刻集群中所有OSD或者Client所持有的OSDmap的版本可能是不一致的。总结一句话就是monitor是负责收集集群信息、更新集群信息以及发布集群信息的。如果只有一个monitor那么,这件事情会轻松的多,集群信息的增、删、改、查都有这个monitor完成。但作为一个分布式存储解决方案,规避任何的单点故障都是一个必备条件,所以在使用Ceph的生产环境中也会部署多个Monitor。单点问题解决了,但Monitor多了之后相应的集群数据管理也就复杂了,引入了许多新的问题,比如:集群数据存在哪里?数据到底有谁更新?其他组件从哪里读取信息?多个monitor之间如何进行数据同步等?所以在一个标准的Ceph环境中,Monitor做的事情可以抽象成以下两点:

  • 管好自己,其实也就解决多个monitor之间如何协同工作,比如谁负责更新数据,怎么更新?monitor之间怎么同步数据?谁负责发布数据?如何确保monitor的健康问题?
  • 管好集群信息,其实也就解决存储哪些数据?数据怎么存储
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值