站内 Ceph / RADOS 存储内核 已把一次写讲到 Messenger → PG → BlueStore,并以 终章 明确停在编排层;存储工程 覆盖云块选型。中间仍缺一层:PVC 如何经 CSI sidecar 变成 RBD image / CephFS subvolume,features 与节点内核如何错位,VolumeSnapshot 与目录级快照差在哪,Rook v1.20 为何强制 Ceph-CSI Operator,以及升级如何一次一个主版本。
本系列回答:K8s 存储编排里延迟与失败落在哪一层,何时 Rook+Ceph 的税不值得付。
写:
- CSI Controller/Node RPC 与 K8s PV/PVC 接线、Rook
Operator 与
CephCluster生命周期。 - Ceph-CSI
Operator(
OperatorConfig/Driver)、RBD/CephFS 供给与挂载、快照/扩容/克隆。 - 升级闸门、观测排障、相对云 CSI / Longhorn / 裸 Ceph 的选型。
不写:cephadm 安装全书、RADOS/BlueStore 重讲、未实测延迟排行、Helm values 百科、云厂商托管 CSI 黑盒。后端语义外链 ceph/;本机用户态块见 SPDK。
系列状态:01–16 已发布(2026-08-15)。 规划见 PLAN.md。无真实 Rook 集群则不粘贴伪造
kubectl/ceph -s输出。
版本锚定:Rook v1.20.4;Ceph-CSI v3.17.0;K8s v1.31–v1.36;Ceph 后端支持 Squid v19.2.x / Tentacle v20.2.1+(机制叙述默认对齐站内 Squid;Tentacle 特性须显式标注)。
适合谁看
- 在 K8s 上运维 Rook-Ceph 或对接 Ceph-CSI 的平台 / 存储工程师。
- 读过 ceph/,需要把「内核会」推进到「PVC 能归因」的读者。
- 在自建 Rook、云托管块、Longhorn 之间做路径选型的架构师。
与 ceph/ 的分工
| 维度 | ceph/ | 本系列 |
|---|---|---|
| 定位 | RADOS 内核机制 | K8s 编排与 CSI 挂载 |
| 深度 | PG、BlueStore、RBD 对象命名 | CSI RPC、Operator CR、StorageClass、快照语义、升级闸门 |
| I/O 归属 | librados/krbd → PG → BlueStore | PVC Bound 之后仍走同一数据面;本系列不重写 |
读法:只要「写卡在 PG 还是 BlueStore」→ ceph/;要「PVC Pending / MountFailed / 快照 not ready」→ 本系列 01 → 02 → 06 → 07 → 09 → 13。
一、这个领域最值得关注的 5 个问题
- 一次 PVC 从 Pending 到 Mounted,失败落在哪一层? → 第 1–6、8、13 篇。
- RBD features 与节点 krbd 能力不一致时为何「挂上但怪」? → 第 7、13 篇。
- VolumeSnapshot 在 RBD 与 CephFS 上各自保证什么? → 第 9 篇。
- Rook v1.20 为何强制 Ceph-CSI Operator;升级如何错位? → 第 5、11 篇。
- 何时选 Rook+Ceph,而非云 CSI / Longhorn / 裸 Ceph? → 第 14–16 篇。
二、篇目依赖关系与推荐阅读路径
flowchart TD
overview["01 Overview"] --> csi["02 CSI Spec"]
csi --> rook["03 Rook Operator"]
rook --> cluster["04 CephCluster Life"]
cluster --> csiop["05 CSI Operator"]
csiop --> rbd["06 RBD Provision"]
rbd --> mount["07 Mount Features"]
csiop --> cephfs["08 CephFS CSI"]
rbd --> snap["09 Snapshot Clone"]
cephfs --> snap
cluster --> obj["10 Object NFS"]
csiop --> upgrade["11 Upgrade Gates"]
mount --> obs["12 Observability"]
snap --> obs
obs --> trouble["13 Troubleshoot"]
trouble --> vs["14 vs Alternatives"]
vs --> secure["15 Tenancy Security"]
secure --> select["16 Selection"]
overview --> select
| 路径 | 篇目 | 适合 |
|---|---|---|
| 必读核心 | 1 → 2 → 5 → 6 → 7 → 9 → 13 | 快速建立坐标系 |
| 控制面 | 3 → 4 → 5 → 11 | Operator / 升级 |
| 文件系统 | 8 → 9 → 15 | CephFS / 快照 / 安全 |
| 对照选型 | 1 → 14 → 16 | 路径选型 |
| 完整通读 | 1 → … → 16 | 系统掌握 |
三、目录与每篇价值点
第一部分:CSI 模型与 Rook 控制面(01–05)
- 编排全景
- 相对 ceph/storage 的缺口;坐标系与 16 篇路线。
- CSI 规范与 K8s
接线
- Controller/Node 服务、sidecar、PVC→RPC。
- Rook
Operator 与 CRD
CephCluster等核心类型;reconcile 边界。
- CephCluster
生命周期
- mon/mgr/osd 部署、设备发现、健康闸门。
- Ceph-CSI
Operator(v1.20)
OperatorConfig/Driver;相对旧 ConfigMap 路径的断裂。
第二部分:卷路径、快照与升级(06–11)
- RBD
供给路径
- StorageClass → CreateVolume → image;provisioner 命名。
- 挂载与
features
- NodeStage/Publish;krbd 能力错位;read affinity。
- CephFS
CSI
- subvolume、RWX、与 MDS/caps 的编排侧税。
- 快照与克隆
- VolumeSnapshot;RBD vs CephFS 语义;expand/static PV。
- 对象与周边
CephObjectStore/RGW 入口;NFS driver experimental。
- 升级闸门
- Rook 与 Ceph 滚动升级;主版本纪律;CSI CRD/sidecar 错位。
第三部分:观测、排障与收束(12–16)
- 可观测
- toolbox、CSI liveness/gRPC metrics、Exporter 口径。
- 排障坐标系
- Pending、MountFailed、feature 静默失败、快照 not ready。
- 对照替代路径
- 云 CSI、Longhorn、裸 Ceph/cephadm。
- 多租户与安全边界
- Secret、加密、network fencing。
- 选型收束与开放问题
- 排除树;回收 ceph/18 点名摩擦。
四、延伸阅读
- Ceph / RADOS 存储内核
- Ceph 选型终章(Rook/CSI 停损线)
- RBD(ceph/12)
- CephFS / MDS(ceph/13)
- 云块存储(storage/70)
- SPDK / 用户态存储栈
- 全部系列索引
读完这篇,下一步读什么
优先读同系列或同问题的下一篇,把单篇消费变成主题集群。
【Rook / CSI】编排全景:五轴坐标系与 16 篇路线
相对 ceph/ RADOS 内核与 storage/ 云块选型,钉清 Rook/CSI 编排层缺口;定义 CSI RPC、sidecar、Operator/CRD、数据面归属、升级闸门五条坐标系,给出 16 篇阅读路线与 PVC Bound 之后 I/O 仍走 krbd→PG→BlueStore 的边界。
【Rook / CSI】快照与克隆:VolumeSnapshot 语义、扩容与 CRD 错位
拆解 VolumeSnapshot/VolumeSnapshotClass/VolumeSnapshotContent 在 RBD 与 CephFS 上的保证;对照目录级 .snap 的语义差;覆盖 expand、静态 PV、clone/restore,以及 external-snapshotter 与 group snapshot CRD 版本错位失败模式。
【Rook / CSI】CSI 规范与 K8s 接线:Controller、Node 与 sidecar
拆解 CSI Identity/Controller/Node 服务与 CreateVolume、NodeStageVolume、NodePublishVolume;对照 K8s external-provisioner/attacher/resizer/snapshotter 与 node-driver-registrar;给出 PVC→PV→Pod 挂载调用链与 in-tree→CSI 谱系,并点名规范最小面与 CSI-Addons 争论。
【Rook / CSI】排障坐标系:Pending、MountFailed、feature 静默失败与升级卡住
按六轴映射 Rook/CSI 常见故障:PVC Pending、MountFailed、RBD feature 静默失败、VolumeSnapshot 未就绪、升级卡住、mon endpoint/Secret 错配;每轴绑定 API/sidecar/CSI/Rook/Ceph 层,并回收 ceph/18 三条编排摩擦。