注意
本文档适用于 Ceph 的开发版本。
Ceph 简介
Ceph 可用于为云平台提供Ceph 对象存储,Ceph 也可用于为云平台提供Ceph 块设备服务。Ceph 可用于部署Ceph 文件系统。所有Ceph 存储集群部署都始于设置每个Ceph 节点,然后设置网络。
Ceph 存储集群需要以下组件:至少一个 Ceph Monitor 和至少一个 Ceph Manager,以及至少与 Ceph 集群中存储的给定对象副本数一样多的Ceph 对象存储守护进程 (OSD)(例如,如果 Ceph 集群中存储了给定对象的三个副本,则该 Ceph 集群中必须至少存在三个 OSD)。
Ceph 元数据服务器对于运行 Ceph 文件系统客户端是必需的。
注意
最佳实践是为每个 Monitor 配备一个 Ceph Manager,但这并非必需。
Monitors:Ceph Monitor (
ceph-mon) 维护集群状态的地图,包括monitor 地图、manager 地图、OSD 地图、MDS 地图和 CRUSH 地图。这些地图是 Ceph 守护进程相互协调所需的关键集群状态。Monitors 还负责管理守护进程和客户端之间的身份验证。通常需要至少三个 monitors 以实现冗余和高可用性。Managers:Ceph Manager 守护进程 (
ceph-mgr) 负责跟踪运行时指标和 Ceph 集群的当前状态,包括存储利用率、当前性能指标和系统负载。Ceph Manager 守护进程还托管基于 python 的模块,用于管理和公开 Ceph 集群信息,包括基于 web 的Ceph Dashboard。通常需要至少两个 managers 以实现高可用性。Ceph OSDs:对象存储守护进程 (Ceph OSD,
ceph-osd) 存储数据,处理数据复制、恢复、再平衡,并通过检查其他 Ceph OSD 守护进程的心跳来向 Ceph Monitors 和 Managers 提供一些监控信息。通常需要至少三个 Ceph OSD 以实现冗余和高可用性。MDSes:Ceph 元数据服务器 (MDS,
ceph-mds) 存储Ceph 文件系统的元数据。Ceph 元数据服务器允许 CephFS 用户运行基本命令(如ls、find等),而不会给 Ceph 存储集群带来负担。RGWs:Ceph 对象网关 (RGW,
ceph-radosgw) 守护进程提供应用程序和 Ceph 存储集群之间的 RESTful 网关。S3 兼容 API 是最常用的,但也提供 Swift API。
Ceph 将数据存储为逻辑存储池中的对象。使用 CRUSH 算法,Ceph 计算哪个 placement group (PG) 应该包含该对象,以及哪个 OSD 应该存储该 placement group。CRUSH 算法使 Ceph 存储集群能够动态扩展、再平衡和恢复。
建议
要开始在生产中使用 Ceph,您应该查阅我们的硬件建议和操作系统建议。