Akemi

Ceph组件

2025/06/23

其实之前已经学过ceph了,但是很多都忘了,现在学红帽ceph,再对原本的笔记做一下精简与补充

ceph关键组件

Monitor(MON)

Ceph Monitors是维护集群映射的守护进程。集群映射是五个映射的集合,其中包含关于集群状态及
其配置的信息

Monitor需要奇数个Monitor来配置ceph集群,因为会需要仲裁

Ceph Object Storage Devices(OSD)

OSD是Ceph存储集群的底层块设备,一般认为一块磁盘就是一个OSD,比如sda sdb sdc。

Ceph客户端和OSD守护进程都使用了CRUSH算法来高效地计算对象位置信息,而不是依赖于中央查找表。

OSD也分Primary OSD与Secondary OSD,ceph客户端读写数据时,联系的都是主OSD,而Secondary OSD确保集群发生故障时能够正常恢复数据

CRUSH Map

将每个对象分配给了一个Placement Group PG。PG是对象和OSD的抽象层,对象在逻辑层面上存放在PG中,实际上是在OSD中

CRUSH MAP使用伪随机算法将对象分布到PG中,并使用规则确定PG到OSD的映射,如果发生故障,ceph将PG重新映射到不同的OSD,并同步其内容

Ceph Managers(MGR)

提供一组集群的统计信息,其实就是一个web界面,并且支持API来暴露ceph的信息

Ceph Metadata Server(MDS)

元数据服务器,只有cephfs用这玩意,因为ceph底层是对象存储,MDS就负责让ceph对象存储与cephfs客户端之间的通信

Ceph Cluster Map集群映射

MON负责维护集群信息,这其中就包含了五个map

  • Monitor Map

包含了集群ID,每个Monitor的位置、地址、端口,映射时间戳。fsid是唯一自动生成的UUID,用来标识Ceph集群
使用Ceph mon dump可以查看Monitor Map

  • OSD map

包含集群fsid,pool列表,replica大小,PG数量,OSD列表和状态,map时间戳

使用ceph osd dump可以查看

  • PG map

包含PG版本,完整比率,PG的ID,up Set,Acting Set,PG状态,每个pool使用情况信息,map时间戳

使用ceph pg dump可以查看

  • CRUSH Map

包含存储设备的列表,故障域层次结构列表

使用ceph osd crush dump可以查看

  • MDS Map

包含存储元数据的pool,MDS列表和时间戳

使用ceph fs dump查看MDS map

ceph访问方式

ceph本质上是对象存储,但是它做底层做了开发,使其可以提供多种存储

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ceph提供了多种方式访问ceph集群:
1.Ceph Native API(librados)
一般都是做了二次开发,直接访问librados的方式来提供存储
librados是一个原生C库,允许应用程序直接使用RADOS访问Ceph集群存储的对象

2.Ceph Block Device(RBD)
块存储
支持linux挂载,QEMU、KVM等虚拟技术支持

3.Ceph Object Gateway(librgw)
ceph对象存储网关
主要用于镜像存储、备份服务、文件存储和共享

4.Ceph File System(CephFS)
提供可伸缩的的共享磁盘
需要MDS来管理和存储cephfs中相关的元数据

ceph数据分发组件

Pool存储池

osd是用来存放数据的,pool是Ceph存储集群中用于存储对象的逻辑分区

1
2
3
4
5
6
7
8
属性:
1.唯一且无法更改的ID
2.名字
3.分发对象到OSD的PG数量
4.确定pool的PG的CRUSH规则
5.保护类型(replicated副本/erasure coding纠错码)
6.保护类型相关参数
7.其他集群参数

PG

数据在逻辑上存放的位置,PG记录了数据实际上存放在OSD上的映射

集群映射Cluster Map

ceph客户端从MON获取最新的Cluster Map副本,Cluster Map为客户端提供了所有集群中MON OSD和MDS的信息,但不提供访问对象的位置
Ceph客户端使用CRUSH算法确定哪些osd负责PG

数据保护

提供两种数据保护方式,一种就是副本,一种是与RAID相同的纠错码
一般来说3副本,略

CATALOG
  1. 1. ceph关键组件
    1. 1.1. Monitor(MON)
    2. 1.2. Ceph Object Storage Devices(OSD)
    3. 1.3. CRUSH Map
    4. 1.4. Ceph Managers(MGR)
    5. 1.5. Ceph Metadata Server(MDS)
    6. 1.6. Ceph Cluster Map集群映射
  2. 2. ceph访问方式
  3. 3. ceph数据分发组件
    1. 3.1. Pool存储池
    2. 3.2. PG
    3. 3.3. 集群映射Cluster Map
    4. 3.4. 数据保护