知识卡片

OSD日志用顺序写掩盖随机写代价

专业/工作 · 240

内容

Ceph的每次写入不会直接落到最终存储位置,而是先顺序写入一块独立的日志(journal)区域,再由日志按固定周期把数据刷到后端文件系统。随机写被日志转换成了顺序写,磁盘顺序写的吞吐远高于随机写,日志因此成为吸收突发写压力的缓冲层;如果把日志放在SSD而数据盘是机械盘,效果更明显。发散:这本质是数据库里”预写日志(WAL)”的思路——先保证数据被安全地顺序记录下来,再异步整理进最终的数据结构,用一次额外的写入换取整体吞吐和崩溃后的可恢复性。

参考来源

《Ceph分布式存储学习指南》第3章《Ceph架构和组件》