小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

> 本文是写作规划,不是可发布正文。拆解对象:Ceph RADOS 存储内核——以 Ceph Squid v19.2.5(2026-07;docs.ceph.com/en/squid/)为主线,把一次客户端写从 librados / Messenger 经 PG / PrimaryLogPG、BlueStore,到 r…

Ceph / RADOS 存储内核 — 系列规划

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T16:14:18Z

本文介绍Ceph RADOS存储内核系列首篇,定位为填补站内Ceph概览与工程细节间的缺口。文章提出五条坐标系(Map传播、通信、一致性、本地存储、接入代价)及三条不变量(本地放置、PG协商、Primary序列化),用于排障和深入理解。内容涵盖OSDMap epoch、PG peering、BlueStore等关键机制,并规划18篇阅读路线,强调以字段级锚点分析故障,而非依赖调参玄学。

【Ceph RADOS】RADOS 内核全景:五轴坐标系与 18 篇路线

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph RADOS中MON/MGR与Map机制:MON用Paxos变体维护OSDMap等强一致状态,epoch递增触发增量传播;MGR聚合PGMap提供弱一致统计;客户端通过Objecter缓存map并透明追赶,epoch变化影响peering与可见性窗口,中心化架构在超大规模下存在瓶颈。

【Ceph RADOS】MON/MGR 与 Map:quorum、epoch 传播与客户端可见性

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph OSD通信层架构:msgr2协议负责连接建立与帧传输,AsyncMessenger用epoll多路复用处理I/O,ShardedOpWQ按PG哈希分片调度操作。重点分析Op从TCP帧进入OSD队列的路径、心跳机制独立性,以及mClock调度器如何管理优先级,帮助定位通信层故障。

【Ceph RADOS】OSD 与 Messenger:daemon 结构、msgr2 协议与 Op 入队路径

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文深入解析Ceph CRUSH机制细节:bucket类型影响迁移量,straw2最优;rule的step语法控制失败域,firstn用于副本、indep用于EC;weight三层体系(device weight、OSD reweight、primary_affinity)不可混用;CRUSH与一致性哈希根本差异在于显式失败域约束和中心化map传播。upmap作为二次修正,需权衡迁移字节与peering风暴。

【Ceph RADOS】CRUSH 加深:rule/bucket/weight 机制与失败域语义

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

PG是Ceph中对象与OSD间的一致性调度单元,通过PG log记录写操作版本链,支持peering状态机重建权威视图。本文解析PG log格式、last_epoch_started与last_epoch_clean语义差异,及peering关键阶段,强调PG作为哈希桶而非目录,peering非选主,并讨论min_size权衡与peering雪崩等开放问题。

【Ceph RADOS】PG 与 Peering:PrimaryLogPG、PG log 与状态机

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph RADOS客户端写路径:librados通过Objecter计算目标PG和Primary OSD,发送MOSDOp请求;Primary执行事务并协调副本应答,默认等待持久化后确认。读操作依赖readable_until租约防止stale read,跨Primary切换时通过LAGGY/WAIT状态阻塞请求。客户端通过epoch追赶和reqid去重保证一致性。

【Ceph RADOS】客户端写路径:从 librados 到副本应答与 stale read 边界

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph BlueStore架构,替代FileStore解决双写与目录元数据问题。核心组件包括BlockDevice(裸盘I/O)、BlueFS(RocksDB专用文件系统)、RocksDB(对象元数据存储)和Allocator(空闲空间管理)。BlueStore将数据直写裸盘,元数据存KV,支持校验和与压缩,但面临compaction带宽竞争和挂载延迟等挑战。

【Ceph RADOS】BlueStore 架构:BlockDevice、BlueFS、RocksDB 与 Allocator

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph BlueStore写路径,涵盖queue_transactions()到aio完成的流程,重点分析直写与deferred两条分叉路径。直写适用于大块新分配,数据先落盘再提交元数据;deferred用于小写或覆盖,先提交KV再异步落盘。文章还讨论min_alloc_size配置、checksum计算时机、压缩处理及deferred路径的带宽竞争问题。

【Ceph RADOS】BlueStore 写路径:min_alloc_size、deferred/WAL、checksum 与压缩

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文深入解析Ceph BlueStore的读路径,涵盖onode缓存查找、extent_map展开、blob解引用及BlockDevice读取,并详述解压与checksum验证流程。重点探讨2Q缓存算法如何抵抗扫描污染,以及checksum失败时的分层处理与检测边界。同时讨论压缩数据读取的性能瓶颈和缓存设计中的争议点。

【Ceph RADOS】BlueStore 读路径:onode、blob、缓存与 checksum 失败模式

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文解析Ceph中恢复、回填和深度清理三种机制的差异:恢复由日志驱动修复缺失对象,回填用于全量对象拷贝,清理则校验数据一致性。文章还讨论了mClock调度器对恢复流量的控制边界、异步恢复机制,以及恢复速度与前台延迟之间的权衡,并指出mClock无法控制块设备层的I/O带宽。

【Ceph RADOS】Recovery、Backfill 与 Scrub:修复路径、reservation 机制与 mClock QoS 边界

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

Ceph的ECBackend实现中,整条带写无需读旧数据,而部分写需读改写(RMW),增加延迟。EC修复从k个存活分片重建缺失分片,网络效率优于副本池。EC池空间效率高(4+2为1.5倍),但随机小写延迟高,适合顺序大写场景如RGW。allow_ec_overwrites支持覆盖写,但RMW代价仍在。编码插件有Jerasure、ISA-L等,LRC可降低重建读取。

【Ceph RADOS】EC 路径:ECBackend、整条带写与 RMW 的代价模型

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

RBD将块设备映射为RADOS对象,默认4MiB大小,通过偏移计算对象序号。krbd走内核路径,librbd走用户态,均依赖Exclusive Lock保证写互斥。快照采用COW机制,首次覆盖写触发复制;克隆形成父子链,flatten需复制共享数据。Object map可跳过空读,但增加写开销。

【Ceph RADOS】RBD:image 到对象的映射、krbd 与 librbd、快照与克隆边界

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

CephFS将POSIX文件系统构建于RADOS之上,MDS作为可恢复状态机,通过journal持久化元数据。其核心挑战包括:MDS故障恢复、capability机制维持客户端缓存一致性、多active MDS的subtree迁移可能引发thrashing,以及fsync/stat操作的高网络往返成本。相比RBD,CephFS在元数据面(journal、caps、subtree、dirfrag)付出更高代价,快照需客户端协作,性能与一致性权衡复杂。

【Ceph RADOS】CephFS / MDS:可恢复元数据服务、subtree 分区与 POSIX 代价

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

RGW是Ceph的S3/Swift对象网关,将HTTP请求映射到RADOS操作。核心机制包括:head/tail对象模型(小对象内联,大对象分条)、bucket index的OMAP存储与动态reshard、multipart上传的manifest引用、版本控制的delete marker、GC异步删除、多站点bi-log同步。主要瓶颈是bucket index的LIST性能与GC积压,S3 Select仅做RGW侧过滤,无法下推OSD。

【Ceph RADOS】RGW:索引池与数据池、S3 到 RADOS 的映射边界

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph集群监控的关键指标与语义,强调“集群能写”不等于“集群健康”。文章详细解析ceph status、PG状态、OSD性能、Prometheus指标等字段含义,指出常见误判如active+degraded不等于数据丢失、均值掩盖尾延迟等,并提供容量规划与排障建议,帮助读者准确理解Ceph可观测性。

【Ceph RADOS】可观测:如何读懂 ceph status、pg dump 与 OSD perf

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph集群排障的五轴坐标系:慢操作、Peering卡死、满盘、恢复拖死前台、校验和错误。每轴按“症状→先查什么→不要先做什么”展开,强调先选轴再调参,避免乱调参数破坏因果链。提供核对路径、操作命令及串联案例,并附检查清单,帮助运维快速定位根因。

【Ceph RADOS】排障坐标系:slow ops、peering 卡死、满盘、恢复拖死前台与 checksum 错误

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文对比Ceph RADOS与MinIO、云块存储、本机NVMe+SPDK三条替代路径,从接口、容错、延迟、运维四维度分析各自适用前提。Ceph赢在跨节点冗余、多接口统一;MinIO适合纯S3中小规模;云块存储免运维;本机NVMe适合延迟敏感场景。最后给出排除树判据:少于3故障域、P99低于1ms、无运维能力等场景不宜用Ceph。

【Ceph RADOS】对照替代路径:MinIO、云块存储与本机 NVMe+SPDK

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文为Ceph RADOS系列终章,聚焦选型收束:通过排除树机制判据(如跨节点冗余、P99延迟、接口语义)指导决策,明确Crimson在Squid v19.2.5仅为技术预览、不可生产,Tentacle+特性需标注版本边界,并划清Rook/CSI编排续作分工,提出可证伪的开放问题(如混跑、CPU隔离),强调先排除、再实验、再迁移的纪律。

【Ceph RADOS】选型收束:排除树、Crimson 边界与系列开放问题

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z

本文介绍Ceph RADOS内核系列,共18篇,涵盖Map传播、OSD Messenger、CRUSH、PG Peering、BlueStore读写、恢复、EC路径及RBD/CephFS/RGW接入。旨在帮助工程师理解延迟与失败点,提供阅读路径和选型建议,对比MinIO、云块和SPDK,明确何时使用Ceph。

Ceph / RADOS 存储内核:从 Map 到 BlueStore

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-14T00:00:00Z
  • <<
  • <
  • 1 (current)
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 1tok 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator 模力方舟 Gitee AI

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码