ceph分布式存储系统Monitor源码分析总结

时间:2022-12-31 02:33:33 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
Monitor总结

1. 概述

Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。相比传统分布式存储,其优势有: 1 高性能

摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布

均衡,并行度高;

考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、

架感知等;

能够支持上千个存储节点的规模,支持TBPB级的数据。 2 高可用

副本数可以灵活控制,支持故障域分隔,数据强一致性; 多种故障场景自动进行修复自愈,没有单点故障,自动管理; 3 特新丰富

支持三种存储接口:块存储、文件存储、对象存储; 支持自定义接口,支持多种语言驱动。 Ceph的核心组件包括:

1 Monitor:一个Ceph集群需要多个Monitor组成的小集群,它们通过Paxos

同步数据,用来保存OSD的元数据。

2 OSD:全称Object Storage Device,也就是负责响应客户端请求返回具体数

据的进程。

3 MDS:全称Ceph Metadata Server,是CephFS服务依赖的元数据服务。 4 ObjectCeph最底层的存储单元是Object对象,每个Object包含元数据和

原始数据。

5 PG全称Placement Grouops是一个逻辑的概念,一个PG包含多个OSD

引入PG这一层其实是为了更好的分配数据和定位数据。

Ceph存储集群中主要的服务有MonitorOSDMDS。其通信框架如下图所示:


DispatcherMessager

OSD

AsyncMessenger

Work

Monitor

MDS

Processor



1.1 ceph通信框架图

Ceph Async模型里,一个Worker类对应一个工作线程和一个事件中心EventCenter 每个socket对应的AsyncConnection在创建时根据负载均衡绑定到对应的Worker中,以后 都由该Worker处理该AsyncConnection上的所有的读写事件。

本文主要是在阅读Monitor源码中的一些总结,后续可供其他新入职员工阅读参考。

2. 类关系

Messenger

Connect

Queueitem

Thread

Processor

AsyncMessenger

NetworkStack

AsyncConnectionDispatchQueueDispatchThread

Worker

ms_dispatch

MonMapMonitorPaxsoxService

LogMonitor

Paxps

PGMonitorMonMonitorAuthMonitor

OSDMonitor

Elector




本文来源:https://www.wddqw.com/doc/adb7a266757f5acfa1c7aa00b52acfc789eb9f9b.html