一、Ceph组件
- Monitor
集群的管理者。通过维护集群视图(cluster map)来达到维护集群的目的,同时负责管理守护程序和客户端之间的身份验证。 - Osd
实际处理数据的设备(包括数据的存取、复制、恢复、再均衡)。通过检查其他osd守护程序的心跳来向mon和mgr(L版本新增的组件)提供一些监视信息。生产环境一般一个osd对应一块硬盘。 - Mgr
L版本后从mon独立出来的组件。负责跟踪运行时的指标和ceph集群的当前状态,包括存储利用率、当前性能指标和系统负载、基于web的ceph仪表盘。 - Mds
Ceph文件系统存储元数据(在集群需要支持文件存储时安装即可)。
二、Ceph名词解释
-
RADOS:
Reliable Autonomic Distributed Object Store,可靠的、自主的、分布式对象存储(由mon和osd组成) -
Cluster Map:
Monitor map:包含每个mon服务的位置、端口、版本等等
Osd map:包含一些配置(如full、nearfull阈值)、pool列表、副本大小、osd的位置、端口等等
Pg map:包含pg的id、状态、up在哪些osd上等等
Mds map:包含元数据服务器列表等信息
CRUSH map:包含存储设备的物理拓扑、故障域划分、存储数据时的遍历层次结构的规则等等 -
RGW
RADOS GateWay,ceph的S3/Swift网关组件,需要支持对象存储时安装。 -
RBD
RADOS Block Device,ceph的块存储组件。 -
CRUSH
Controlled Replication Under Scalable Hashing,可扩展哈希下的受控复制。是ceph进行扩展的重要组成部分,理论上没有性能瓶颈,没有可扩展性的限制,也没有单点故障。 -
pool
用于存储对象的逻辑组,管理pg数量、副本数量及crush规则。 -
pg
Ceph的逻辑存储单元,管理、维护数据,但不存储数据。引入pg是为了更好的分配数据和定位数据。
三、Ceph架构
-
架构:
-
网络架构:
业务网负责与client之间的请求、数据传输;存储网负责副本拷贝、集群恢复。
- pool、pg、osd的对应关系:
pool与pg是一对多的关系:一个Pool里有很多PG
pg与osd是多对多的关系:PG有主从之分,一个PG分布在不同的OSD上,多个osd组合成一个PG
对象(对象存储):一个PG里包含一堆对象;一个对象只能属于一个PG;