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

来源:互联网 发布:山东大学网络教育试题 编辑:程序博客网 时间:2024/05/22 03:19

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的健康问题?
  • 管好集群信息,其实也就解决存储哪些数据?数据怎么存储?存储在哪里?怎么保证存储数据的正确性?

如何抽象成以上两点呢?还得从代码入手,看一下monitor的代码目录结构:


当然,以上源码文件的划分也不是完全分开的,彼此之间仍然有一些关联关系存在,比如选举这个过程实际上还会涉及monitor之间的数据同步也就是数据管理中的更新。数据更新,需要通过数据存储模块完成持久化。Monitor管理的数据中OSDMap和MDSMap这两部分没有放在monitor目录下,而是分别放在osd和mds目录下的,所以这里用红色字体将他们标记了出来。

接下来的几篇文章主要围绕以上两个大面详解monitor中所涉及的相关技术。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 高铁乘务员身高不够怎么办 坐火车买到站票怎么办 买上车补票原票怎么办? 买的商务座补票怎么办 12306账号被别人登录怎么办 飞机不提供餐食怎么办 12306退票支付宝失败怎么办 12306重复支付怎么办支付宝 支付宝登的12306账号怎么办 没买儿童高铁票怎么办 网上订的机票怎么办托运 半夜买高铁票不出票怎么办 轻轨少买了一站怎么办 高铁火车票丢了怎么办 如果高铁票丢了怎么办 高铁票丢了怎么办 报销 高铁如果没赶上怎么办 高铁管家待核验怎么办 动车没有票了怎么办 12306取消订单3次怎么办 【12306取消订单3次怎么办】 火车票取消订单3次怎么办 12306收不到验证码怎么办 安逸花验证码次数限制怎么办 航班晚点导致错过转机怎么办 想去沈阳站送站怎么办 高铁没有赶上车怎么办 火车晚点赶不上下一趟车怎么办 列车晚点影响下一趟车怎么办? 高铁晚点赶不上下班车怎么办 火车在半路坏了怎么办 做火车中途坏了怎么办 员工怀孕不上班保险怎么办 怀孕带孩子不能上班保险怎么办 怀孕了不想上班保险怎么办 高铁票没票了怎么办 购买动车票无座怎么办 个税工资多报怎么办 火车晚点耽误了转车怎么办 坐火车联系不上怎么办 号码被别人注册了12306怎么办