知识卡片

自动分层存储以对象而非块为统计粒度

专业/工作 · 244.c.2

内容

自动分层存储的核心是持续追踪每块数据的访问频率、定期把冷热数据在存储层间迁移,传统磁盘阵列做这件事是以逻辑块(LBA)为统计粒度。Ceph 则直接复用了自己架构里本来就存在的 [[RADOS对象的三段式结构|对象]](默认 4MB)作为冷热统计和迁移的基本单位,而不是在对象之下再切出更细的块粒度重新做一套统计体系。这是”复用已有的分片单位承载新功能”的例子——冷热识别、迁移调度这些能力挂在系统里本来就存在、且已经有寻址和管理机制的对象粒度上,比引入一个全新的、更细的粒度单位要经济得多,代价是冷热判断的精细度受限于对象大小,一个 4MB 对象里哪怕只有一小部分数据被频繁访问,整个对象也会被当作热数据处理。

参考来源

《Ceph源码分析》第13章《Ceph自动分层存储》