Ceph 架构和组件
3.1 Ceph存储结构
Ceph 存储集群是由几个不同的守护进程组成,守护进程负责Ceph的一个独特的功能并将值添加到相应组件中。每个守护进程相互独立。
RADOS(Reliable Atonomic Distributed Object Store):ceph存储集群的基础。Ceph中一切都以对象的形式存储,Rados 负责存储这些对象,不用考虑他们的数据类型。Rados层确保数据一致性和可靠性。
ODS:对象存储设备。存储实际用户数据并响应客户端读操作的唯一组件。通常一个OSD守护进程与集群的一个物理磁盘绑定。
Ceph monitor(MON):通过一系列的MAP跟踪整个集群的健康状态,主要是这些组件的map:OSD、MON、PG和CRUSH。集群的所有节点都向MON报告状态。一个MON为每一个组件维护一个独立的map。MON不存储数据。
Librados库是用来简化访问RADOS的,支持多数主流语言。主要是提供接口访问RADOS、访问集群。
Ceph块设备:也叫RADOS块设备(RBD),可以被映射、格式化、像磁盘一样挂载到服务器上。可以快速制备,提供快照、克隆等功能。
Ceph对象网关:也称RADOS网关(RGW),提供S3、Swift等API访问接口。
Ceph元数据服务器(MDS)跟踪文件层次结构并存储只给CephFS使用的元数据。Ceph块设备和RADOS网关不需要MDS守护进程。
Ceph文件系统:目前还不推荐在生产环境使用,相信很快可以支持。
3.2 Ceph RADOS
Ceph存储系统的基石。也称为Ceph存储集群。Ceph很多优秀的特性都是由RADOS提供的,Ceph的数据访问方法的所有操作都是在RADOS层之上构建的。
Ceph 集群收到来自客户端的写请求时,CRUSH算法首先计算出存储的位置,以次来决定将数据写入什么位置。然后将这些信息传送到RADOS层,基于CRUSH的规则,RADOS以小对象的