Skip to content

生产备份与灾难恢复 Runbook #237

Description

@web-ppanel

目标仓库: perfect-panel/backend
目标分支: next
规划基线: origin/main@ea28a7685f4c89f91895c4d789a5726e806aa3f0

目标

建立常态生产备份、恢复验证、灾难恢复演练和 RPO/RTO Runbook,确保数据库、Redis 关键数据、对象存储和配置在故障或误操作后可按流程恢复。该项为 P1 常态 DR;升级前可恢复备份门禁仍由 #210/P0 发布流程承接。

源码已有

  • 已有 MySQL/PostgreSQL migration up/down、mysql2postgres dry-run、启动自动 migration 和配置生成。
  • 已有 Redis/Asynq 依赖、对象存储规划、日志清理保留期底座。
  • 当前缺少生产备份计划、恢复演练、RPO/RTO、Redis 分类和对象存储备份/校验流程。

范围

  • 定义备份对象:主数据库、Redis 中必须恢复的数据类别、对象存储、配置文件、密钥材料引用、发布制品和迁移版本。
  • 定义备份频率、保留期、加密、完整性校验、跨区域/离线副本策略。
  • 编写恢复 Runbook:单表误删、整库恢复、跨数据库恢复、对象存储回滚、Redis 重建、迁移失败恢复。
  • 定期演练并记录 RPO/RTO 实测值、失败原因、改进项和责任人。
  • 与发布流程衔接:发布前备份、发布后验证、回滚时选择备份点。

明确不做

数据 / API / 流程

  • 数据:backup_runs、restore_drills、backup_artifacts、checksum、retention_policy、RPO/RTO 目标与实测。
  • API:Admin 备份任务记录、恢复演练记录、下载/校验引用、失败原因查询;真正恢复操作默认走人工审批 Runbook。
  • 流程:计划备份 → 校验校验和 → 写任务记录 → 周期恢复演练 → 记录 RPO/RTO → 修订 Runbook。

RBAC / 审计

  • 查看备份、触发备份、登记恢复演练、查看恢复细节和导出报告分别登记权限点。
  • 触发备份、标记备份失效、登记恢复、读取敏感恢复元数据写管理员审计。
  • 审计中只记录存储位置引用、哈希和对象 ID,不记录访问密钥或临时签名 URL。

验收

  • 有覆盖数据库、对象存储、Redis 分类和配置的备份清单与保留策略。
  • 至少完成一次演练环境整库恢复和一次对象存储抽样恢复,并记录实测 RPO/RTO。
  • 备份记录可查询最近成功时间、大小、校验结果、保留到期时间和失败摘要。
  • Runbook 包含发布失败、误删、存储不可用和迁移回滚四类场景。
  • 备份/恢复相关操作均受 RBAC 控制并写审计。

依赖

开发与测试门禁

  • MySQL/PostgreSQL 迁移、OpenAPI 契约、RBAC API 权限点、管理员审计和敏感信息脱敏测试必须同步提交。
  • 复用现有源码能力和 P0 底座,不重复实现支付、订阅、流量、修复命令或发布门禁执行层。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:deliveryMigration, release, supply chain and disaster recoveryenhancementNew feature or requestpriority:P1Important planned workroadmapPlanned roadmap workv2.0PPanel 2.0 roadmap

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions