← 中文资源

简体中文版本

备份与恢复演练

在隔离环境还原备份、验证数据完整性与应用行为、测量恢复时间,并记录与 RTO/RPO 的差距。

阅读英文原文

备份不等于可恢复

备份任务成功只证明文件已写入;恢复演练才能证明这些文件能在要求时间内重建可工作的系统。

# 示例:恢复到隔离数据库
createdb restore_drill
pg_restore --dbname=restore_drill --clean --if-exists backup.dump
psql restore_drill -c "SELECT count(*) FROM accounts;"

步骤

  1. 选择保留期内的一份近期备份和一份较早备份,记录时间戳与存储位置。
  2. 在独立数据库或集群中恢复,移除生产凭据,绝不覆盖生产。
  3. 校验表数量、约束、索引和关键记录样本,与已知预期或校验和比较。
  4. 让预发应用连接恢复后的数据库,执行登录、读取和写入旅程。
  5. 记录恢复耗时、数据丢失窗口、手工步骤和失败项,与 RTO/RPO 比较。

验证

  • 恢复完成且未触碰生产。
  • 完整性检查通过。
  • 预发应用能对恢复数据读写。
  • 恢复时间已测量并与 RTO 比较。
  • 每个差距都有负责人和整改计划。

决策点

至少每季度使用代表性备份演练,并在备份或基础设施变更后追加;年度演练容易错过漂移。恢复超过 RTO 属于真实的可靠性差距,应分配负责人和截止日期,而不是只记录文档。

常见失败

备份遗漏大表、事故时取不到凭据、手工步骤没有文档化。总是使用同一份近期备份也可能漏掉影响较早恢复点的损坏;应变化所选备份并记录确切流程。