Linux / 存储
从 fsync、无锁到 io_uring:系统层踩坑入口
按工程问题找文章:fsync 失败语义、内存屏障、Zero Copy、Direct I/O、文件锁与分配器擂台。
Linux 内核、存储与网络、可观测性、系统架构与大模型基础设施的工程笔记:机制拆解、踩坑复盘与可核对证据,少空谈。
第一次访问时先按主题切入,比直接沿着时间线翻文章更快。
Linux / 存储
按工程问题找文章:fsync 失败语义、内存屏障、Zero Copy、Direct I/O、文件锁与分配器擂台。
系统架构
限流与过载、混沌实验、多租户、Cloudflare/Discord 案例,以及 AI 原生架构。
大模型基础设施
把训练、推理、量化与服务化串成一条工程主线;先建立 GPU 心智模型,再进入引擎与量化落地。
可观测性
从 Continuous Profiling 到 eBPF 全景与 ftrace/kprobe 生产实战。
把已经形成系列阅读闭环的主题集中在首页,减少在 400 多篇文章里盲找的成本。
按最近更新时间排序;如果你想系统性阅读一个主题,优先回到上面的专题入口。
补齐站内 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 模块的关键指标——不粘贴无环境截图,只写字段语义与观测口径。