理解 Ceph 的关键不是先记住所有守护进程,而是理解一个对象如何找到它的存储位置,以及集群变化后为什么仍能完成定位。

RADOS 是共同底座

RBD、CephFS 和 RGW 提供不同的数据模型,但最终都建立在 RADOS 之上。这个分层意味着块、文件和对象接口可以共享同一套复制、恢复和集群管理能力。

CRUSH 解决定位

传统系统可能依赖中心元数据表记录每个对象的位置。Ceph 使用 CRUSH,根据对象和集群拓扑计算放置结果。客户端不必为每次 I/O 查询中心节点,因此数据路径可以直接到达 OSD。

Placement Group 位于对象与 OSD 之间。对象先映射到 PG,再由 CRUSH 将 PG 放置到一组 OSD。PG 数量影响数据分布、恢复粒度和管理开销,不能只把它看成配置参数。

控制面仍然重要

“去中心化数据路径”不等于“没有协调”。Monitor 维护集群映射和一致认可的状态,Manager 提供额外的监控与管理能力。区分数据路径与控制路径,有助于准确理解故障影响。

学习分布式存储时,持续追问三个问题很有效:谁决定位置、谁保存权威状态、故障后谁推动恢复。Ceph 的各个组件正是围绕这些职责展开。