无论你想在云平台中使用Ceph对象存储还是Ceph块设备,或者发布一个Ceph文件系统还是有另外目的。
所有Ceph存储集群的发布都是从配置Ceph节点、网络和Ceph存储集群开始。一个Ceph集群中至少有一个
Monitor,Ceph管理, Ceph OSD(对象存储守护进程)。在运行Ceph文件系统客户端时,需要Ceph元数据服务器
存在。
Monitor(ceph-mon): 维护这个集群状态映射,包括网络映射、管理映射, OSD映射,MDS映射和CRUSH映射。
这些映射使得Ceph守护进程可以统一每个节点。此外,它还负责管理服务器和客户端之间的认证。
为达到系统高可用和冗余目的,一个集群中至少需要三个monitor。
Managers:(ceph-mgr)负责跟踪运行时指标和当前ceph集群的状态,包括存储使用率、当前性能指标和系统负载。
Ceph管理进程提供python模块输出系统状态,方便通过web看板进行管理。正常情况时有两台manager服务器保证
高可用。
Ceph OSD: 一个Ceph OSD(ceph-osd)存储数据,负责处理数据副本、恢复、均衡,同时也向Monitor和
Manager提供一些监控信息。至少3个Ceph OSD节点才能保证冗余和可靠性。
MDSs: Ceph Metadata Server(ceph-mds)存储代表Ceph文件系统的元数据,Ceph元数据服务器允许POSIX文件
系统用户执行基础的命令,例如ls, find。
Ceph存储将数据作为对象存储在逻辑存储池。通过使用CRUSH算法,Ceph计算哪个组保存该数据,通过更多的
计算来确定在哪个OSD上存储组。CRUSH算法允许Ceph存储集群进行扩展,均衡和动态恢复。
CRUSH算法本质是可缩放HASH,用于帮助Ceph计算对象的存储位置。
Ceph文件系统:
Ceph系统的总体架构如下
------------------------- ---------------
| CephFS Kernel Object | | CephFS FUSE |
------------------------- ---------------
------------------------------------------------------
| CephFS Library(libcephfs) |
------------------------------------------------------
------------------------------------------------------
| Ceph Storage Cluster Protocol(librados) |
------------------------------------------------------
-------- ------- ------------
| OSDs | |MDSs | | Monitors |
-------- ------- ------------
CephFS提供兼容POSIX文件系统的服务,它在整个基于对象存储集群的最上面一部分。CephFS文件
被映射为Ceph存储系统中对象。Ceph客户端挂载CephFS文件系统作为内核对象或用户空间文件系统。