一、项目背景与目标
假设某企业的核心业务由以下组件构成:
- 应用服务:对外提供业务接口;
- 数据库:MySQL 主从架构,存放核心业务数据;
- 中间件与配置:应用访问数据库的连接串、VIP、配置文件;
- 网络资源:防火墙策略、DNS、负载均衡。
通过业务影响分析(BIA),业务方提出两个目标:
- RPO:数据丢失不超过 5 分钟;
- RTO:业务中断不超过 30 分钟。
这个目标意味着单纯做数据备份无法满足要求,需要具备应用级恢复能力。
二、现状评估:找出恢复链路中的薄弱点
实施前先回答三个问题:
- 每台主机承载哪些业务,业务间是否存在依赖?
- 当前备份能否在 30 分钟内拉起完整应用,而不是只恢复文件?
- 切换后,应用访问路径(VIP、DNS、连接串、防火墙)是否需要人工调整?
通过梳理发现,常见薄弱点包括:
- 只复制了数据库,没有同步应用环境和配置;
- 一台主机承载多个业务,切换时需要连带处理;
- 没有业务级探活,切换后是否可用靠人工判断;
- 预案只有“启动备用主机”,没有覆盖网络和依赖变更。
【配图:业务依赖关系图】
三、方案选型:数据级、应用级还是业务级
| 方案层级 | 保护范围 | 适合场景 |
|---|---|---|
| 数据级备份 | 数据库、文件副本 | 找回数据,恢复时间容忍度高 |
| 应用级容灾 | 数据 + 应用环境 + 配置 | RTO 要求分钟级,需要快速拉起应用 |
| 业务级容灾 | 多个系统与依赖资源 | 跨主机、跨系统的完整业务链恢复 |
本项目 RTO 为 30 分钟,选择应用级容灾,并叠加以下技术能力:
- 块级复制或数据库逻辑复制,保证事务一致性;
- CDP(持续数据保护),支持回退到误操作或勒索加密前的时间点;
- 一致性组,将应用、中间件、数据库作为整体进行复制和恢复;
- 不可变存储或隔离副本,防止备份数据被勒索进程篡改。
四、实施要点
1. 复制链路设计
生产端与容灾端之间需要有稳定、低时延的复制链路。同步复制数据丢失少,但对网络质量敏感;异步复制对生产影响小,但存在数据窗口。本项目按 RPO 5 分钟的要求,采用数据库日志同步加 CDP 的组合方式。
2. 应用环境一体化保护
只备份数据库无法满足 RTO。实施时需要把以下内容一并纳入保护:
- 应用安装目录与配置;
- 依赖的中间件和运行库;
- 数据库连接配置;
- 系统用户与权限;
- 网络地址与监听端口。
【配图:应用级保护范围示意图】
3. 切换资源联动
容灾切换时,除启动备用主机外,还需要处理:
- VIP 或域名切换;
- 防火墙放行规则;
- 应用连接串指向;
- 存储与卷挂载;
- 监控告警恢复。
这些操作应在预案中写明执行顺序和验证方式,避免切换后业务仍不可访问。
五、切换演练与验证
演练前选择低峰时段,通知相关团队,记录演练开始时间。
1. 演练步骤
- 停止生产端业务写入,模拟故障;
- 启动容灾端备用应用与数据库;
- 执行 VIP、网络、配置切换;
- 使用业务探活验证接口与页面;
- 记录实际 RTO,并核对数据完整性;
- 演练结束后切换回生产端,恢复原架构。
2. 验证清单
- 进程检查:备用主机上的应用与数据库进程是否正常;
- 端口检查:监听端口是否已经就绪;
- 数据库检查:数据是否一致,主从状态是否正常;
- 应用探活:业务接口、登录、关键查询是否可用;
- 网络检查:客户端能否通过 VIP/域名访问;
- 监控检查:告警是否恢复,日志是否正常。
命令示例(以实际环境为准):
# 查看服务进程状态
systemctl status <应用服务>
# 查看监听端口
ss -lntp
# MySQL 连通性检查
mysqladmin -h <主机> -u <用户> -p ping
# 应用接口探活
curl -I http://<业务地址>/health
六、演练中常见的坑
- 只验证数据库可连接,没有验证业务链路,导致切换完成后业务仍不可用;
- 应用连接串写死旧主机 IP,未随切换自动调整;
- 防火墙策略没有覆盖容灾端,端口不通;
- 备份数据没有一致性验证,恢复后发现数据不完整;
- 预案只写操作步骤,没有写每个步骤的验证命令和判定标准;
- 演练后没有复盘,同一问题在下一次演练中重复出现。
七、FAQ
备份和容灾的区别是什么?
备份保证数据副本存在,容灾保证灾难发生后业务能在目标时间内恢复。应用级容灾在备份之上叠加应用环境、配置和切换预案。
RTO/RPO 怎么定?
通过业务影响分析(BIA)确定:先评估业务中断的损失和合规要求,再设定分级指标,指标越小对应成本越高。
为什么主机切换成功,业务还是不可用?
常见原因是应用连接串、VIP、防火墙、配置等业务链路没有联动切换,只恢复了主机而没有恢复访问路径。
多久演练一次?
建议至少每季度一次;数据库版本、架构或网络发生重大变更后应追加演练。
八、总结
应用级容灾备份建设的核心不是“复制了多少数据”,而是“灾难发生时能否在 RTO 内恢复可用业务”。实施过程中,业务梳理、目标设定、复制方案、资源联动和演练验证缺一不可。通过一次次带验证标准的演练,才能真正把灾备能力从文档变成可执行的业务连续性保障。