下载工作台
项目运维与部署

备份恢复与 RPO/RTO

试读上半部分 · 解锁后可读全文

第 11 章 · 备份恢复与 RPO/RTO

本章目标:建立 demo-mall 可恢复的备份体系——Namespace 配置、MySQL 逻辑备份、PVC 快照;完成 季度恢复演练 并记录 RTO;与 ch05 周检PaaS ch15 生产 HA 衔接。

学时建议:2.5~3 小时(含 2 小时跟练)

前置ops-deploy ch05 日检备份项;PaaS ch15小紫云计算 · 管理 → 备份恢复


11.1 场景说明

项目内容
背景某次误操作 kubectl delete deployment demo-api -n staging-app;Git 有 YAML 但 DBA 不确定 DB 能否恢复到同一时间点
痛点备份任务显示成功,但从没人做过 恢复演练
你的角色运维,制定 RPO/RTO 台账并执行 drill
本章任务prod-app 导出;staging MySQL 恢复演练 RTO<30min
约束Secret 导出需加密存储;演练在隔离 Namespace

11.2 学完你能

能力验收标准
RPO/RTO解释术语并填 demo-mall 目标表
备份矩阵6 类对象的方式/频率/保留
Namespace 导出CLI 与小紫界面两种方式
MySQL 备份mysqldump 命令与校验
恢复演练7 步 drill 并记录 RTO
备份告警3 条监控规则含义

11.3 核心概念

术语含义demo-mall 目标
RPO可接受 数据丢失 时间窗口DB ≤15min(binlog 增量)
RTO可接受 服务恢复 时间核心 API ≤30min
备份时间点副本每日全量+增量
演练证明 恢复每季一次

你应该看到:台账文档 docs/ops/backup-rpo-rto.md 被团队引用。


11.4 备份对象矩阵

对象方式频率保留
K8s YAML/HelmGit + Namespace 导出每次变更 + 日备Git 永久
MySQLmysqldump / xtrabackup每日 02:0030 天
RedisRDB+AOF每日7 天
PVC 文件Longhorn 快照每日14 天
镜像Registry tag每次构建90 天
配置 Secret加密 vault / Sealed变更时按合规

11.5 逐步跟练 · 第一步:Namespace 导出(约 25 分钟)

小紫界面

  • 管理 → 备份恢复 → Namespace 导出
  • 选择 prod-app → 导出 YAML → 下载至加密存储

CLI 等价

kubectl get all,cm,secret,ingress,pvc -n prod-app -o yaml \
  > backup/prod-app-$(date +%F).yaml

注意

  • Secret 明文导出 禁止 存 Git 公开库
  • 使用 GPG 加密或企业 vault

你应该看到:文件大小与昨日对比 ±20% 内(BackupSizeDrop 告警阈值 ch11.7)。


11.6 逐步跟练 · 第二步:MySQL 逻辑备份(约 30 分钟)

在 prod-middleware 或备份 Job Pod 执行

mysqldump -h mysql.prod-middleware.svc -u backup -p \
  --single-transaction --routines --triggers \
  demo_mall > /backup/demo_mall_$(date +%F_%H%M).sql
参数含义
--single-transactionInnoDB 一致性快照,不锁表
--routines --triggers存储过程与触发器

校验

ls -lh /backup/demo_mall_*.sql    # 与昨日比
head -20 /backup/demo_mall_*.sql  # 含 CREATE TABLE

你应该看到管理 → 备份恢复 任务历史 Success;文件 > 几 MB(视数据量)。


11.7 逐步跟练 · 第三步:恢复演练(约 60 分钟)

7 步 drill(staging 隔离环境)

以下内容需解锁后阅读

试读已结束。解锁本章 ¥5.00,或开通年度会员畅读全部教程。
年度会员 ¥199.00/年; 小紫 AI 工作台有效会员 ¥99.00/年

正文仅在服务端鉴权后下发,未付费无法获取下半部分内容。