核心概念

Rook Operator

Rook Operator 是一个简单的容器,包含了启动和监控存储集群所需的所有组件。Operator 会启动并监控 Ceph 监视器 Pods、Ceph OSD 守护进程,以提供 RADOS 存储,同时还会启动和管理其他 Ceph 守护进程。Operator 通过管理存储池、对象存储(S3/Swift)以及文件系统的 CRDs 来初始化运行服务所需的 Pods 和其他资源。

Operator 会监控存储守护进程,以确保集群的健康状态。Ceph 监视器会在必要时启动或进行故障转移,同时随着集群的扩展或收缩进行其他调整。Operator 还会监视 Ceph 自定义资源(CRs)中指定的期望状态变更,并应用这些变更。

Rook 会自动配置 Ceph-CSI 驱动,将存储挂载到您的 Pods 中。rook/ceph 镜像包含了管理集群所需的所有工具。

Ceph CSI

Ceph CSI 插件实现了支持 CSI 的容器编排器(CO)与 Ceph 集群之间的接口。它们支持动态配置 Ceph 卷并将其挂载到工作负载中。

Ceph 模块功能

模块功能描述
MON监视器(Monitor,MON)是 Ceph 集群中最重要的组件,负责管理集群并维护整个集群的状态。MON 确保集群的相关组件可以在同一时刻达到同步,作为集群的领导者,由 MON 守护进程负责收集、更新和发布集群信息。
MGR管理器(Manager,MGR)是一个监控系统,提供数据采集、存储、分析(包括报警)和可视化的功能。它将某些集群参数提供给外部系统使用。通常,Ceph 的 MGR 守护进程与 MON 守护进程一起运行。
OSD对象存储守护进程(OSD)存储实际的用户数据。每个 OSD 通常绑定到一个物理磁盘,负责处理来自客户端的读写请求。
MDSCeph 元数据服务器(MDS)跟踪文件层次结构,并存储仅供 CephFS 使用的元数据。RBD 和 RGW 不需要元数据。MDS 不直接为客户端提供数据服务。
RGWRADOS 网关(RGW)是 Ceph 对象网关,提供与 S3 和 Swift 兼容的 RESTful API。同时 RGW 还支持多租户和 OpenStack 身份服务(Keystone)。
RADOS可靠自我修复分布式对象存储(RADOS)是 Ceph 存储集群的核心,任何数据都以对象的形式存储,不论其数据类型。RADOS 层通过数据复制、故障检测与恢复,以及跨集群节点的数据恢复,确保数据的一致性和可靠性。
LIBRADOSLibrados 是简化 RADOS 访问的方法,目前支持 PHP、Ruby、Java、Python、C 和 C++ 等编程语言,为 Ceph 存储集群提供 RADOS 的本地接口,并且是其他服务如 RADOS 块设备(RBD)和 RADOS 网关(RGW)的基础组件。此外,它还为 Ceph 文件系统(CephFS)提供可移植操作系统接口(POSIX)。通过 Librados API,开发者可以直接访问 RADOS,从而创建自己的访问 Ceph 集群存储的接口。
RBDRADOS 块设备(RBD)是 Ceph 的块设备,提供对外的块存储。它可以像磁盘一样被映射、格式化和挂载到服务器。
CephFSCeph 文件系统(CephFS)提供一个兼容 POSIX 的分布式文件系统。它依赖 Ceph MDS 跟踪文件层次结构,即元数据的管理。