目标:明确RTO(恢复时间目标)与RPO(恢复点目标);角色:运维、网络、安全、应用、DB各一名负责人。
小分段:1) 制定目标(例如RTO=30分钟,RPO=5分钟);2) 列出联系人表与通讯链路(电话、Slack、电话会议);3) 预置演练时间窗口与审批。
步骤:逐台服务器登记IP、ASN、业务标签、防护厂商、备份策略。
小分段:1) 用命令采集(Linux: hostname, ip addr, systemctl list-units);2) 列出上游依赖(DNS、数据库、第三方API);3) 标注单点故障(SPOF)并优先处理。
1) 文件备份:使用rsync+cron到异地(示例 cron: 0 */4 * * * rsync -az --delete /data/ backup@backup-host:/hk-backups/);2) 快照:若使用LVM/Cloud快照,配置每日与小时快照策略并保留冷备;3) 数据库:启用主从复制并定期执行全备(mysqldump或xtrabackup),示例:mysqldump --single-transaction -u root -p DB > /backup/db_$(date +%F).sql。
小分段:确保备份可恢复,定期做恢复演练(见第5节步骤)。
步骤:1) 多运营商冗余:在香港配置至少两条不同ASN的BGP出口;2) 与高防厂商协作:确认清洗中心就近性、黑洞阈值与切换时延;3) DNS策略:设置短TTL(建议60-300秒)并准备备用CNAME切换。
小分段:准备BGP社区或API以便在演练中快速切换,测试切换时间并记录。
预演流程:1) 预备会议(确认目标、预计影响、回滚条件);2) 执行故障注入:模拟节点宕机(systemctl stop app.service 或 iptables -A INPUT -p tcp --dport 80 -j DROP)并及时监控;3) 启动恢复流程:依序切换负载均衡、DNS、 promote DB slave(示例简化:STOP SLAVE; RESET SLAVE; CHANGE MASTER TO ...; SET GLOBAL read_only=0;)并恢复服务;4) 清洗测试:在与高防厂商配合下,模拟DDoS流量由厂商引流并验证业务可用性。
小分段:每一步记录开始结束时间,若超目标立即回滚到冷备或回退计划。
验证项:1) 恢复时间(实际RTO)与恢复点(实际RPO);2) 用户可用性:页面200响应率、关键API成功率;3) 数据一致性:事务丢失检测。
小分段:复盘输入:时间线、日志片段、遭遇的问题与根因、改进措施(例如缩短DNS TTL、增加冷备带宽、调整备份频率),并形成SOP文档。
答:1) 事前准备:多路径BGP、短TTL DNS、热备服务与数据库复制;2) 演练中:按SOP分步切换,先切LB->再DB->再DNS,实时监控状态;3) 回滚条件明确,若某步失败即刻触发回退脚本并通知所有角色。
小分段:推荐提前演练“灰度切换”在低峰验证路径。
答:1) 使用高防厂商的“压力测试/引流沙箱”API或隔离流量口进行内网模拟;2) 若需要真实流量生成,限定源IP池并在流量链路末端做隔离验证;3) 全程通知ISP与高防厂商并设定自动化阈值与黑洞保护。
小分段:避免直接在公网发起大流量测试,以防误伤其他业务和触发ISP封阻。
答:建议演练频率为季度一次全面演练,月度进行子流程(备份恢复、DB promote、DNS切换)演练。成功率以达到既定RTO/RPO为基准,指标包括恢复时间、数据丢失量、用户影响率低于SLA阈值。
小分段:建立KPI看板自动统计每次演练的数据并在复盘后闭环改进。