文档目录

适用场景

  • 产品:ZCF
  • 组件:ZStack Cloud
  • 版本:4.8.x
  • 部署形态:双管理
  • 触发条件:需要清理超出 7 天且无效的 CDP 历史备份脏数据,同时保证最近有效恢复点不受影响。

问题现象

  • CDP 备份目录内存在历史无效脏数据。
  • 需要释放空间或清理无效文件。
  • 不能直接删除,而要先核验 7 天内的有效备份链和恢复点。

判断方法

  1. 先检查 7 天内的 CDP 备份链是否完整。
  2. 先把疑似无效文件移走,再在云平台验证恢复点是否可挂载。
  3. 验证成功后再删除移走的数据。

原因说明

本次清理的关键不是“发现旧文件就删”,而是先保证最近 7 天内的备份链仍然完整可恢复。为避免误删影响恢复能力,必须先做链路校验、再做临时搬移、再做恢复点验证,最后才执行删除。

解决方案

  1. 执行前准备
  • 风险等级:低
  • 不影响现有虚拟机业务运行。
  • 但 rm 操作必须准确。
  1. 校验 7 天内备份链
  2. 登录 CDP 备份服务器节点。
  3. 进入对应目录:
   cd /backup/cdp/backup/xxx
  • 预期结果:进入目标云盘 / 备份链目录。
  1. 过滤单个磁盘的备份文件:
   ll | grep <disk_uuid>
  • 预期结果:看到该磁盘对应的全部 qcow2 备份文件。
  1. 检查 7 天内备份链:
   /usr/bin/qemu-img info --output=json --backing-chain -U <xxx.qcow2> | grep full-backing-filename
  • 预期结果:确认最近 7 天内的快照链完整。
  1. 暂移无效数据
  2. 创建临时备份目录:
   mkdir <backup_dir>
  • 预期结果:准备一个隔离位置存放疑似无效数据。
  1. 把无效数据先移走,而不是直接删除:
   mv xxx.qcow2 <backup_dir>
  • 预期结果:无效数据被临时隔离,仍保留回退空间。
  1. 验证恢复点
  2. 登录云平台,找到对应云主机。
  3. 在恢复点界面中选择几份 7 天内的 CDP 备份,测试恢复文件是否能正常挂载。
  • 预期结果:若恢复点正常挂载,说明有效数据未受影响。
  1. 删除无效数据
  2. 在确认有效恢复点正常后,删除已移走的无效数据目录:
   rm -rf <backup_dir>
  • 预期结果:无效历史脏数据被正式清理。
  1. 按同样流程处理剩余全部 CDP 脏数据。
  • 预期结果:整个备份目录完成清理且恢复点能力保持正常。

验证方法

  • 检查 7 天内备份链仍完整。
  • 检查恢复点可正常挂载。
  • 检查已确认无效的数据目录被删除。
  • 检查虚拟机业务不受影响。

风险与回滚

  • 风险:如果未先验证恢复点就直接 rm -rf,可能误删仍需保留的数据。
  • 风险等级:低。

回退方法

若尚未删除,只是完成了 mv,则可以直接恢复原位置:

mv <backup_dir>/xxx xxx
CDP清理备份脏数据 | 技术方案 · KB | ZStack 资源中心