Ceph FileStore 存储引擎详解
FileStore 是 Ceph 最早采用的存储引擎,它将对象数据以文件形式存储在本地文件系统上(如 XFS、ext4),并通过日志机制保证数据一致性。尽管在新版本中已被 BlueStore 取代,但理解 FileStore 仍对掌握 Ceph 存储机制有重要意义。
一、FileStore 核心架构
1. 数据组织方式
- 对象存储:每个 RADOS 对象对应一个文件
- 目录结构:
/var/lib/ceph/osd/ceph-{id}/ ├── current/ # 当前对象数据 ├── commit_op_seq/ # 提交的操作序列 ├── omap/ # 对象映射(键值存储) └── journal/ # 日志文件
2. 关键组件
- Journal:预写日志(WAL)保证原子性
- ObjectMap:维护对象到文件的映射关系
- FileSystem:底层本地文件系统(推荐 XFS)
二、数据写入流程
- 接收请求:OSD 收到客户端写请求
- 写入日志:先将操作写入 journal(顺序写)
- 提交到文件系统:
- 将数据写入实际文件
- 更新 ObjectMap

最低0.47元/天 解锁文章
342

被折叠的 条评论
为什么被折叠?



