Ceph企业级分布式存储:原理与工程实践
上QQ阅读APP看书,第一时间看更新

2.3.2 OSD的Scrub

Scrub是Ceph集群对放置组进行数据清洗(扫描)的操作,用于检测副本数据间的一致性,确保数据完整。Scrub类似于对象存储层上的fsck命令,包括Light-scrubing和Deep-scrubing。其中,Light-scrubing只对元数据进行扫描,速度比较快;Deep-scrubing不仅要对元数据进行扫描,还要对数据进行扫描,速度比较慢。

对于每个放置组,Ceph都会为所有对象生成目录,并比较每个主要对象及其副本,以确保没有对象丢失或不匹配。Light-scrubing每天检查对象的大小和属性。Deep-scrubing每周读取数据并使用校验和确保数据完整性。Scrub操作对于保持数据完整很重要,但是会降低性能。你可以调整Scrub操作的频率来兼顾数据完整与性能。