知识卡片
权威对象靠自带元数据自证选出
内容
Scrub 选权威对象的方式和 Peering [[按优先级选举权威日志OSD|选权威日志的方式]]不同:不是比较谁的版本更新、谁的记录更完整,而是检查每个副本对象自身携带的冗余信息(object_info_t 里记录的 size、data digest、omap digest)是否和这次实际扫描读出来的结果一致——一致就说明这份数据没有被静默损坏,可以作为权威版本;如果连自己声称的元数据都对不上实际内容,直接判定这份副本有问题、跳过。这是”自证一致性”的验证思路:真正可信的不是”谁看起来更完整”,而是”谁的自我描述和实际内容能对得上”,静默损坏的本质正是数据变了但没人通知,唯一能揪出它的办法就是让数据自己携带的校验信息说话。
参考来源
《Ceph源码分析》第12章《Ceph一致性检查》