重要业务系统的冗余容灾,平时靠的不是一套“备胎”设备,而是把目标量化、架构分层、演练常态化和成本可控这四件事做成日常机制。 灾备能不能顶上去,取决于你平时有没有把它当生产系统一样运维。
先把目标说清楚:RTO和RPO决定预算
业务影响分析要落到具体系统上
容灾建设最怕上来就聊技术,先拉业务部门做业务影响分析,把系统按“停多久会疼”排个序。
- 交易类系统:停几分钟就影响收入,RTO通常压到分钟级。
- 查询类系统:可以容忍短时降级,RTO放宽到小时级。
- 报表、对账类系统:夜间跑批中断可以补跑,RPO可以按天算。
- 内部办公系统:优先级最低,但也不能完全不保。
把每套系统的RTO、RPO写成清单,后面买设备、选机房、做演练才有依据,没有这张清单,容灾方案就是拍脑袋。
同城双活和异地灾备有什么区别
这是预算会上最常被问的问题,两者防的不是同一种故障。
| 模式 | 典型RTO | 典型RPO | 适用场景 |
|---|---|---|---|
| 同城双活 | 分钟级 | 接近0 | 核心交易系统,防机房级故障 |
| 同城主备 | 30分钟到2小时 | 秒级到分钟级 | 重要系统,成本适中 |
| 异地冷备 | 小时级到天级 | 分钟级到小时级 | 一般业务系统,防城市级灾难 |
| 异地双活 | 分钟级 | 接近0 | 核心系统,投入较大 |
行业共识认为,同城双活解决的是机房断电、空调故障、网络割接这类问题,异地灾备防的是城市级灾害,两者不能互相替代,预算有限时优先保同城,再补异地。
架构冗余:别只盯着服务器
接入层和应用层要拆单点
很多系统号称双活,结果DNS只有一个机房、负载均衡只有一台,切换时照样趴窝。
- 接入层用GSLB或智能DNS做双机房权重,健康检查间隔压到秒级。
- 应用层保持无状态,会话放到Redis或数据库,别绑在单台机器内存里。
- 负载均衡、消息队列、缓存都要跨机房部署,避免“应用双活、中间件单点”。
- 文件上传、日志、定时任务这些边角料也要确认落在哪个机房。
数据层才是硬骨头
应用层扩容容易,数据层一致性难,平时要做的不是“买了主备”就完事,而是让复制链路持续可见。
- 数据库配置主备或多副本,半同步复制打开,监控复制延迟。
- 备份文件定期做恢复验证,实际拉起实例跑一遍查询,别只看备份任务成功。
- 对象存储开启跨区域复制,文件系统用
rsync加校验和比对。 - 关键表定期做行数、金额汇总比对,差异条数要能查出来。
备份验证可以写成固定动作:xtrabackup --prepare之后启动临时实例,跑核心表count()和金额汇总,和主库比对,这一步花不了多少时间,但能避免“备份文件打不开”的尴尬。
核心系统容灾方案怎么选
先看RTO、RPO,再看预算和运维能力,常见路线有三条:
- 自建同城双活:可控性强,投入大,适合核心交易系统。
- 云上灾备:按需付费、弹性扩容,适合中小机构和波峰明显的业务。
- 混合模式:生产自建、灾备上云,兼顾合规和成本。
业内专家指出,相当一部分故障来自变更和人为操作,所以方案里必须包含“回得去”的设计,切换过去不算完,能安全切回来才算闭环。
平时怎么管:演练是唯一的验收标准
变更和配置要联动
灾备环境最怕“生产变了、灾备没变”,平时要把变更流程和灾备环境绑在一起。
- 生产变更单里增加“灾备同步”检查项。
- 配置基线用IaC管理,Terraform、Ansible都行,避免手工漂移。
- 证书、域名、密钥设置到期提醒,灾备环境同样要管。
- 每季度做一次配置比对,差异项限期关闭。
核心系统容灾演练多久做一次
频率不是拍脑袋,按系统等级分。
- 核心系统:每季度桌面演练,每半年真实切换演练,每年至少一次全链路演练。
- 重要系统:每半年一次切换演练。
- 一般系统:每年一次恢复验证。
演练要覆盖四件事:切换、业务验证、数据校验、回切,只演“切”不演“回”,等于只考了一半,演练脚本可以固化成命令,比如ansible-playbook dr-switch.yml -e env=prod,但关键节点保留人工确认,防止脚本误触发。
切换脚本要能“一键”,但不能“无脑”
自动化切换能压缩RTO,但必须有防脑裂措施。
- 数据库切换前确认原主库已隔离,仲裁节点或fencing机制要生效。
- 域名解析TTL提前调低,切换后观察业务监控再回调节点权重。
- 回切比切换更难,数据反向同步方案要提前写好。
成本和地域:中小机构怎么落地
中小银行容灾建设成本大概多少
成本主要花在机房、带宽、存储、软件授权和人力上,预算从几十万到上千万都有可能,取决于RTO、RPO和是否自建机房。
- 自建同城双活:机房和链路占大头,适合有存量机房资源的机构。
- 云上灾备:前期投入低,长期看按量计费,适合业务波动大的场景。
- 只做异地冷备:成本最低,但恢复时间长,适合非核心系统。
据统计,近年来选择混合灾备模式的机构在增多,核心系统自建、外围系统上云是常见组合。
灾备机房选址的地域考量
同城灾备机房距离生产机房一般控制在几十公里,避开同一电网、同一运营商骨干线路和同一洪水风险区,异地灾备则要跨城市,距离数百公里以上。
上海地区灾备机房怎么选
看双路市电、运营商接入数量、防汛等级和地质条件,确认机房不在低洼地带或地面沉降明显区域,同时核对是否符合本地监管对灾备距离和独立性的要求,别只看机柜价格,链路质量和运维响应速度更影响实际RTO。
度量与复盘:用数字盯着容灾
关键指标
- 实际切换耗时与目标RTO的差距。
- 数据校验差异条数及修复时长。
- 演练发现的问题数量和闭环率。
- 备份恢复验证通过率。
这些指标每月上看板,比年底写总结有用。
常见坑
- 备而不用,备份文件从没恢复过。
- 只做机房级冗余,没考虑城市级灾害。
- 演练只走流程,不敢真切流量。
- 切换脚本长期不更新,生产架构变了脚本没变。
关于重要业务系统冗余容灾的常见问题
预算有限,先做哪一层?
先保数据,应用层可以降级运行,数据丢了很难补,优先做数据库备份恢复验证和同城主备,再逐步补应用双活。
云上灾备能完全替代自建机房吗?
对多数中小机构,云上灾备能覆盖大部分场景,但核心交易系统是否上云要看监管要求、网络延迟和系统耦合度,混合模式更常见。
演练切换失败怎么处理?
立即回切到原环境,保留现场日志,按预案排查,失败演练同样要记录耗时和卡点,问题闭环后再安排下一次,容灾能力是在一次次失败演练里磨出来的。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/783660.html

