本文介绍Ceph BlueStore架构,替代FileStore解决双写与目录元数据问题。核心组件包括BlockDevice(裸盘I/O)、BlueFS(RocksDB专用文件系统)、RocksDB(对象元数据存储)和Allocator(空闲空间管理)。BlueStore将数据直写裸盘,元数据存KV,支持校验和与压缩,但面临compaction带宽竞争和挂载延迟等挑战。
本文介绍Ceph BlueStore写路径,涵盖queue_transactions()到aio完成的流程,重点分析直写与deferred两条分叉路径。直写适用于大块新分配,数据先落盘再提交元数据;deferred用于小写或覆盖,先提交KV再异步落盘。文章还讨论min_alloc_size配置、checksum计算时机、压缩处理及deferred路径的带宽竞争问题。
本文深入解析Ceph BlueStore的读路径,涵盖onode缓存查找、extent_map展开、blob解引用及BlockDevice读取,并详述解压与checksum验证流程。重点探讨2Q缓存算法如何抵抗扫描污染,以及checksum失败时的分层处理与检测边界。同时讨论压缩数据读取的性能瓶颈和缓存设计中的争议点。
本文介绍Ceph RADOS内核系列,共18篇,涵盖Map传播、OSD Messenger、CRUSH、PG Peering、BlueStore读写、恢复、EC路径及RBD/CephFS/RGW接入。旨在帮助工程师理解延迟与失败点,提供阅读路径和选型建议,对比MinIO、云块和SPDK,明确何时使用Ceph。
完成下面两步后,将自动完成登录并继续当前操作。