知识卡片
快照删除是延迟删除依赖共享检测
内容
删除一个快照时,RBD 客户端先删掉自己元数据里记录的快照信息并通知 Monitor,Monitor 再把待删除的快照序号下发给相关 OSD,由 OSD 判断该快照对象是否仍被其他快照共享,再决定能不能真正删除本地数据——整个过程不是客户端发起删除请求就立即物理擦除数据。之所以要延迟且要做共享检测,是因为多个快照序号可能通过 COW 机制间接引用同一份底层数据(相邻快照之间没有写操作发生时不会重复 clone),贸然物理删除可能误删仍被引用的数据。这是引用计数思想在快照删除场景的体现:删除操作先标记意图,真正的物理回收要等确认没有其他引用后才安全执行。
参考来源
《Ceph源码分析》第9章《Ceph快照和克隆》