【Ceph RADOS】RADOS 内核全景:五轴坐标系与 18 篇路线
补齐站内 distributed/38 之上的 RADOS 内核层缺口;定义 Map 传播、通信、一致性、本地存储、接入代价五条坐标系,给出 18 篇阅读路线与系列边界。
Linux 内核、存储与网络、可观测性、系统架构与大模型基础设施的工程笔记:机制拆解、踩坑复盘与可核对证据,少空谈。
共 18 篇文章 · 返回首页
补齐站内 distributed/38 之上的 RADOS 内核层缺口;定义 Map 传播、通信、一致性、本地存储、接入代价五条坐标系,给出 18 篇阅读路线与系列边界。
拆解 Ceph MON Paxos quorum、OSDMap/PGMap 结构与 epoch 传播机制;说明 MGR 主备模型与模块框架;分析客户端 epoch 缓存与可见性窗口的边界条件。
拆解 ceph-osd daemon 内部结构、msgr2 Frame 格式与握手阶段,追踪 Op 从 TCP socket 经 AsyncMessenger、OSD::dispatch_context 到 ShardedOpWQ 的完整入队路径。
相对 distributed/38 的 CRUSH 算法概览,深入 bucket 类型的算法复杂度差异、rule step 语义、weight 体系与 primary_affinity,分析 chooseleaf 与失败域的精确定义及 CRUSH 与一致性哈希的本质区别。
拆解 PG 命名与生命周期、PrimaryLogPG 的日志式复制设计、pg_log_entry_t 格式、last_epoch_started 与 last_epoch_clean 的语义差异,以及 peering 状态机从 Reset 到 Active 的完整路径。
追踪一次 RADOS 写从 librados IoCtx 构建 MOSDOp、Objecter 路由、Primary 的 do_op() 执行、副本 MOSDRepOp 应答链,到客户端可读性边界与 stale read 触发条件的完整路径。
拆解 BlueStore 四个核心组件的职责边界:BlockDevice 直控裸盘、BlueFS 为 RocksDB 提供最小文件系统、RocksDB 管理对象元数据、Allocator 追踪空闲空间;交代取代 FileStore 的工程动机与 SOSP'19 学术锚点。
以 min_alloc_size 为分叉点拆解 BlueStore 的两条写路径:小写经 deferred WAL 先落 RocksDB 再后台应用到裸盘,大写直接落裸盘后原子更新 onode;说明 checksum 计算时机和压缩对分配逻辑的影响。
跟踪 BlueStore 一次读操作从 onode 缓存查询、extent map 展开、blob 物理位置定位,到 BlockDevice aio 读取和 checksum 验证的完整路径;梳理缓存架构与静默数据损坏的检测边界。
区分三种修复机制的触发条件与保证边界:recovery 依赖 PG log 修复分歧对象,backfill 做全量对象枚举拷贝,scrub/deep-scrub 主动扫描校验;重点解释 reservation 如何限流、async recovery 如何减少前台阻塞,以及 mClock 调度器对修复流量的控制边界与局限。
拆解 Ceph ECBackend 的请求处理路径:整条带写(full-stripe write)与部分条带读改写(RMW)的触发条件、数据流和失败恢复;对比副本池与 EC 池的空间效率与前台写税,说明何时 RMW 代价不可接受。
拆解 RBD image 在 RADOS 上的对象命名、striping 规则、krbd 与 librbd 的驱动差异、以及快照 COW 与克隆父子依赖的边界——不写安装手册,只写机制与失败模式。
拆解 CephFS 的 MDS 如何把 inode/目录元数据持久化到 RADOS journal(进程可丢、状态可恢复)、capability 如何协调客户端缓存、subtree 如何在多 active MDS 间迁移并为何会 thrashing——不写挂载教程,只写机制与失败模式。
拆解 RADOS Gateway 把 S3/Swift 操作转化为 RADOS op 的完整路径:bucket index 分片、对象 head/tail 布局、multipart 组装、版本链与多站点同步——不写 S3 API 教程,只写 RADOS 层实现与失败模式。
逐字段拆解 ceph status、ceph pg dump、ceph osd perf 的语义与失败模式;给出 PG 状态机含义、慢 op 的报告路径、以及 mgr Prometheus 模块的关键指标——不粘贴无环境截图,只写字段语义与观测口径。
按五轴映射 Ceph 常见故障症状:slow ops(慢操作)、peering 卡死、满盘/nearfull、recovery 拖死前台、checksum/inconsistent——每轴给出核对顺序与观测入口,不粘贴伪造集群输出。
从机制差异而非跑分出发,对照 Ceph RADOS 与 MinIO(S3 对象)、云托管块存储(EBS/PD)、本机 NVMe+SPDK 三条替代路径的分歧点;回收 SPDK 系列开放问题中 OSD 用户态块栈的 CPU 隔离边界。
用机制排除树收束 Ceph 相对 MinIO/云块/本机 SPDK 的选型;钉死 Crimson 在 Squid v19.2.5 的 tech preview 边界与 Tentacle+ 标签;划清 Rook/CSI 续作边界;给出可证伪开放问题——不做延迟排行榜。