4.8. RBD 镜像功能
降级的镜像快照会根据镜像的提升而被删除
在以前的版本中,由于一个实现缺陷,降级的镜像快照不会在镜像提升后删除,无论是在次要镜像还是主镜像上。因此,降级的镜像快照会降级并消耗存储空间。
在这个版本中,实现缺陷已被修复,适当的降级镜像快照会根据镜像提升而被删除。
现在,当主镜像被删除时,非主镜像会被删除
在以前的版本中,rbd-mirror 守护进程镜像 replayer 中的竞争条件会阻止在主镜像被删除时删除非主镜像。因此,非主镜像不会被删除,并且使用存储空间。
在这个版本中,rbd-mirror 镜像 replayer 被修改,以消除竞争条件。现在,当主镜像被删除时,非主镜像会被删除。
librbd
客户端可以正确地将块列表错误传播到调用者
在以前的版本中,当 rbd_support
模块的 RADOS 客户端被阻塞列表时,模块的 mirror_snapshot_schedule
处理程序并不总是正确关闭。处理程序的 librbd
客户端不会传播 block-list 错误,从而停止处理程序的关闭。这会导致 mirror_snapshot_schedule
处理程序失败,以及 rbd_support
模块,以从重复的客户端 block-listing 中自动恢复。rbd_support
模块在其客户端重复列表后停止调度镜像快照。
在这个版本中,librbd
客户端在其专用锁定收购和处理块列表之间的竞争条件已被修复。这允许 librbd
客户端正确将 block-listing 错误传播到调用者,例如 mirror_snapshot_schedule
处理程序,同时等待获取专用锁定。mirror_snapshot_schedule
处理程序和 rbd_support_module
会自动从重复的客户端 block-listing 中恢复。