一、Ceph架构
1、组件
Ceph monitors(MON):Ceph监视器通过保存集群状态的映射来跟踪整个集群的健康状况
Ceph对象存储设备(OSD):一旦应用程序向Ceph集群发出写操作,数据就以对象的形式存储在OSD中。
这是Ceph集群中存储实际用户数据的唯一组件,通常,一个OSD守护进程绑定到集群中的一个物理磁盘。因此,通常来说,Ceph集群中的物理磁盘的总数与在每个物理磁盘上存储用户数据的OSD守护进程的总数相同。
Ceph metadata server (MDS):MDS跟踪文件层次结构,仅为CephF5文件系统存储元数据。
RADOS:RADOS对象存储负责存储这些对象,而不管它们的数据类型如何。RADOS层确保数据始终保持一致。为此,它执行数据复制、故障检测和恢复,以及跨集群节点的数据迁移和再平衡。
Librados :librados库是一种访问RAODS的方便方法,支持PHP,Ruby,Java,Python,C和C++编程语言。它为Ceph存储集群(RADOS)提供了本机接口,并为其他服务提供了基础,如RBD、RGW和CephFS,这些服务构建在librados之上。librados还支持从应用程序直接访问RADOS,没有HTTP开销。
RBD:提供持久块存储,它是瘦配置的,可调整大小的,并在多个OSD上存储数据条带。RBD服务被构建为一个在librados之上的本机接口。
RGW:RGW提供对象存储服务。他使用librgw(Rados网关库)和librados,允许应用程序与Ceph对象存储建立连接。RGW提供了与Amazon S3和openstack Swift兼容的RESTful接口。
CephFS:Ceph文件系统提供了一个符合posix标准的文件系统,它使用Ceph存储集群在文件系统上存储用户数据。与RBD和RGW一样。CephFS服务也作为librados的本机接口实现。
Ceph manager:Ceph manager 守护进程(Ceph-mgr)是在Kraken版本中引入的,它与monitor守护进程一起运行,为外部监视和管理系统提供额外的监视和接口。