想象你是一座百年图书馆的副馆长。你刚接手一项任务:为整座图书馆设计一份“流亡书架”计划。万一发生火灾、水灾甚至整栋楼倒塌,馆藏的上百万册书必须在最短时间内继续为读者借阅,同时把损失降到最低。你会怎么做?你会先问三个问题:等多久恢复算“可以接受”?能容忍丢失多少本最新入库的书?准备一间每天同步的书库、一间每周打包的仓库、还是一间季度封存的冷窖?这三个问题,恰好就是灾难恢复(Disaster Recovery,简称 DR)架构设计的灵魂。在 AI 云服务时代,你的模型、训练数据、推理服务都像那些书——它们不是存放在一台机器里,而是分布在整个区域的数据中心。当某个可用区(Availability Zone,相当于一栋图书馆分馆)遭遇大面积停电、光缆被挖断、甚至自然灾害时,云服务还能继续对外响应,靠的就是一份提前写好的“搬迁计划”。
对 AI 从业者而言,DR 架构设计决定了你交付的模型和平台在大规模故障时是“秒级恢复”还是“数据归零”。掌握这套知识,是从事 AI 云服务架构、MLOps 平台建设、企业级 AI 落地的必备能力——它让你的系统不仅“跑得动”,而且“扛得住”。
可视化演示
演示热备/温备/冷备三种DR架构的恢复链路,观察RTO/RPO目标与数据复制策略的权衡,点击步进按钮切换恢复阶段。
本节配有交互动效(进入视口后自动加载,约 3KB)。
灾难恢复DR架构 热备:数据实时同步,RTO最短 温备:定期复制,成本与性能折中 冷备:按需恢复,成本最低 RTO停机时间 + RPO数据丢失 恢复验证与演练自动化保障DR可用性
灾难恢复概述
图书馆的“流亡书架”计划,本质上有三件事:定目标——灾难后多快恢复、丢多少可接受;定方案——备份放在哪、怎么备;定流程——谁来启动、如何验证。阿澈和馆长开会时,馆长问的第一句话就是:“我们的服务承诺是几个九?”所谓“几个九”,指可用性(Availability)——一年里服务可用的时间占比。99.9% 对应每年约 8.76 小时的停机预算,99.99% 则只有 52.6 分钟。对 AI 云平台而言,模型推理 API 每宕机一分钟,背后是成千上万终端用户的排队等待。
在云计算语境下,DR 与高可用(HA)是互补关系。HA 解决的是“单台机器挂了,集群内自动切换”的局部问题,好比图书馆内一台复印机坏了,马上换用隔壁那台;DR 解决的是“整栋楼没了”的区域级灾难,靠的是跨地域的备用站点。你不可能用 HA 应对火山喷发,正如你不会在同一个房间里准备两份消防预案。
量化可用性的公式很朴素:系统一年中真正“开门营业”的时间比例。把一年总时间放在分母上,减去故障停机时间,就是可用性。一个训练平台如果每月例行维护 2 小时,一年就是 24 小时,可用性约为 99.73%——这离“三个九”还有距离。
回扣到比喻:阿澈认识到,DR 不是买一堆灭火器,而是先回答“我们承诺几天内把书重新摆上架”。没有指标,一切备份都是自我感动。
- 平均无故障时间 MTBF系统连续正常运行的平均时长,它衡量“多久才出一次问题”。
- 平均恢复时间 MTTR从故障发生到服务恢复的平均时长,它衡量“出事后多久能站起来”。
- 可用性比例把“健康时间”放在总时间的占比上,就得到了服务可用性的理论值。
RTO与RPO指标
阿澈在计划书的第二页画了一条时间轴。轴的最左端是灾难发生的瞬间,最右端是服务完全恢复的那一刻。这条轴上出现了两个关键刻度:RTO(Recovery Time Objective,恢复时间目标)——从“楼塌了”到“重新借书”允许经过多久;RPO(Recovery Point Objective,恢复点目标)——灾难发生时,可以容忍丢失最近多长时间的“新书入库记录”。RPO 好比保险的免赔额:免赔额越低,保费越贵;RPO 趋近于零,意味着每一笔交易都要实时备份。
在实际架构中,RTO 和 RPO 是设计一切的上游约束。若 RTO 为 1 小时,意味着你不能用“从磁带冷库里找回数据再重建服务”的慢方案;若 RPO 为 5 分钟,意味着你必须保证至少每 5 分钟有一次可恢复的增量备份点。二者共同决定了 DR 的技术选型:RPO 越小,复制频度越高;RTO 越小,切换自动化程度越高。它们还直接写在 SLA 里,成为对客户承诺的“数字契约”。
RPO 的量化判定可以写成约束式:实际丢失的数据时间窗口 L 必须小于等于声明的 RPO。图书馆的账本每隔 T 小时封存一次,那么火灾最多烧掉 T 小时内未封存的借阅记录。
阿澈把 RTO 和 RPO 写进了图书馆的章程:RTO = 4 小时,RPO = 15 分钟。这意味着每 15 分钟必须有一份增量封存,而且 4 小时内必须重新开门。指标一立,方案选择的边界立刻清晰了。
- 丢失窗口 L灾难发生时刻与最近一次成功备份时刻之间的距离,即“数据可能蒸发掉的那段时间”。
- 目标阈值 RPO业务方根据成本与体验确定的允许最大丢失窗口。
- 约束判定只有当 L 不超过 RPO 时,该备份策略才算合格。
热备温备冷备
方案选型是 DR 设计中最“肉疼”的部分,因为每一种方案都是金钱与速度的博弈。阿澈在计划书中画了三张椅子:热备(Hot Standby)像图书馆在另一个城市开了一家 24 小时同步的分馆——每一本新书入库,分馆立刻同步一本一模一样的。主馆倒下,分馆直接开门,RTO 分钟级,RPO 接近零。代价是成本几乎翻倍。温备(Warm Standby)像每周打包一次书箱送往异地仓库——恢复时需要先拆箱上架,RTO 小时级,RPO 取决于打包周期。冷备(Cold Standby)则像把书封存在地下室,平时不耗电不维护,真出事时要现买书架、现拆封,恢复以天为单位,但最省钱。
Cloud 环境中的典型对应是:热备 = 跨可用区部署双活集群,数据库同步复制;温备 = 定期把数据快照和 AMI 镜像复制到另一个区域,平时不启动实例;冷备 = 将备份归档到对象存储的冷存储层,或者定期把数据导出到离线介质。AI 训练平台常对模型权重做“多级备份”:最新权重在热备 NFS 上实时同步,每日快照做温备,每周打包进冷归档。
三种方案的核心权衡是一个三角:成本、速度、复杂度。热备运维复杂度和成本最高,冷备最低;热备恢复速度最快,冷备最慢。没有绝对的最优,只有匹配 RTO/RPO 的合适。阿澈画了一张对比表贴在会议室:
| 方案 | RTO 量级 | RPO 量级 | 成本 | 适用场景 |
|------|----------|----------|------|----------|
| 热备 | 分钟 | 秒级 | 高 | 核心交易、在线推理 |
| 温备 | 小时 | 小时级 | 中 | 常规业务、批量训练 |
| 冷备 | 天 | 天级 | 低 | 审计归档、历史数据 |
所以,选热备还是冷备不是拍脑袋——把 RTO/RPO 往表上一对照,答案就浮出水面。阿澈最终确定:在线推荐服务用热备,训练数据仓库用温备,历史日志走冷备。
数据复制策略
方案定了,接下来是最关键的工程细节:数据怎么复制过去。阿澈发现,即使是热备,也分“同步抄写”和“异步快递”两种做法。同步复制(Synchronous Replication)就像两位誊写员隔着窗口对喊:每本书抄完一页,必须等对方确认收到“这一页没错”,才能抄下一页。好处是主备数据完全一致,灾难发生时零丢失;坏处是每一次写操作都要等网络往返,延迟显著上升,吞吐量受限。异步复制(Asynchronous Replication)则像把书稿交给快递公司批量发运:本地写完直接入库,快递定期发出,主备之间可能存在几分钟到几十分钟的差异。好处是主站性能几乎不受影响;坏处是灾难发生的瞬间,快递在途的那批“书页”可能永远丢失。
在数据库层面,同步复制通常对应主库与备库之间的 semi-sync 或强同步模式,常用于金融交易、订单系统;异步复制对应 binlog 或 WAL 的异步回放,常用于日志、分析型业务。对 AI 基础设施来说,模型训练检查点的复制通常采用异步策略——因为训练本身是吞吐敏感型任务,每步迭代都等备端确认会严重拖慢训练速度。但推理服务的特征存储和用户状态数据则可能需要同步复制,以保证切换后体验一致。
复制频度与数据新鲜度的关系,本质上是在吞吐和安全之间走钢丝:
阿澈在计划中写下一句批注:“既要马儿跑得快,又要马儿不吃草”是异步复制的谎言。选择同步还是异步,本质是回答一个问题——你愿意为每一笔写入多付多少毫秒,来换取灾难时少丢几秒钟的数据?
- 写入耗时应用完成一次本地写入所需的时延,包含磁盘刷盘和事务提交。
- 传输耗时数据从主站点传到备份站点的网络时延。
- 同步间隙异步模式下备站排队等待回放的延迟,这是 RPO 的主要来源。
故障转移流程
方案和复制都就绪了,但“书架上摆满书”不等于“火灾时真能把书借出去”。阿澈开始设计故障转移(Failover)的标准操作流程。整个过程分为四步:检测、切换、拉起、验证。检测阶段,系统通过心跳探活、健康检查、仲裁节点等机制判断主站点是否真的挂了——注意“真的”两个字:网络抖动可能导致误判,所以生产环境常常引入“脑裂仲裁”或第三方探活,就像图书馆发生火警时不能只听一名保安的呼喊,要由消防控制中心统一确认。切换阶段,DNS 或负载均衡的流量入口从主站切到备站,数据库角色从备提升为主。拉起阶段,备站的应用实例启动、依赖服务就绪、缓存预热。验证阶段,系统自动执行冒烟测试,确认关键接口能返回正确结果——验证通过了才把完整流量放进来。
整个流程的耗时总和必须落在 RTO 之内,于是有了这个叠加关系:
回切(Failback)同样重要:当主站点修复后,不能简单把流量一刀切回去。要先把新数据同步回主站、验证一致性,再在低峰期灰度切回。阿澈把这个流程比喻为“搬家回来比搬出去更麻烦——你不光要搬书,还要确认没有把读者的借书卡丢在路上”。
- 检测时间从故障发生到系统确认“主站不可用”的耗时。
- 切换时间流量入口从主站切到备站、数据库角色变更的耗时。
- 拉起与验证时间备站应用从启动到完成冒烟测试的耗时。
自动化演练
DR 方案最反直觉的一点是:不演练,等于没有方案。阿澈在第一年春季做了第一次手动演练,结果发现备站数据库的密码已经过期、镜像里缺了最新的模型推理依赖、DNS 切换脚本有个变量名拼写错误——总共花了 9 个小时才恢复,远超 4 小时目标。这就是 DR 的残酷现实:预案写得再完美,不经过真实的故障注入演练,它只是一份“自我感觉良好的 Word 文档”。
自动化演练(DR Drill)的核心是故障注入:在生产环境或预发环境主动制造故障,比如拔掉一个可用区的网络、杀死数据库主节点、模拟对象存储超时。混沌工程(Chaos Engineering)更进一步,把随机故障注入变成常态化实验,持续验证系统在不可预测条件下的韧性。演练编排工具会提前定义“剧本”:何时注入故障、期望的检测时间、切换时间、验证结果,并在演练结束后生成报告,对比实测 RTO/RPO 与目标值。
阿澈在计划书中写下了演练的三个原则:一是常态化,每季度至少一次全量故障注入,每月一次局部故障注入;二是自动化,演练脚本由基础设施即代码(IaC)管理,一键发起、自动核验;三是持续改进,每次演练的失败项必须进入工单系统,在下一次演练前完成修复。他还在会议室贴了一句话:“混沌工程不是制造混乱,而是把混乱提前到你能控制的时候。”
监控持续优化
DR 架构不是建完就一劳永逸的静态工程。阿澈把最后的精力花在了“常年盯着”这件事上。复制链路需要实时监控:主备之间的同步延迟是多少、最近的 RPO 是否逼近红线、备份任务有没有悄悄失败。他把这些指标汇总到一块“健康看板”上,每天自动巡检。监控的核心有两点:一是测量,而不是猜测——复制延迟必须用真实数据说话,而不是靠“应该没问题”的判断;二是阈值告警——当同步延迟超过 RPO 的 50% 时就触发预警,而不是等灾难发生后再来复盘。
持续优化的另一面是成本治理。热备很贵,于是阿澈设计了分级策略:核心订单库保持同步复制,日志数据只做温备,训练产物走冷归档。他还发现,很多备份数据其实从未被恢复过——于是他设置了一个“季度恢复抽检”任务,随机挑选备份集做恢复测试,确保备份不是一堆不可用的冗余字节。这套机制在 AWS 上对应 EC2 AMI 的定期重建和恢复测试,在 Kubernetes 场景下对应 Velero 备份的演练任务。
最后,DR 预案本身也要“版本管理”。每一次架构变更——模型服务升级、数据库版本更新、网络拓扑调整——都可能影响原有的恢复路径,所以预案必须与代码库同步更新。阿澈在计划书末尾写道:“DR 不是一份文件,而是一个持续呼吸的生命体。它必须随着系统的每一次心跳而进化。”
AI 应用场景
金融风控系统的跨区域容灾
阶段:部署与运维 / 高可用架构
解决的问题:传统容灾靠人工备份数据库,恢复需要数小时甚至一天,且缺乏验证手段。AI 风控系统一旦停机,意味着每秒数千笔交易失去风险判定能力,直接造成资金损失和监管合规风险。
具体案例:某支付公司的风控模型部署在两个可用区,采用热备 + 同步复制。主区网络故障时,系统在 90 秒内完成仲裁检测,DNS 流量自动切换到备区,风控接口继续以相同延迟响应。每季度进行一次混沌演练,随机中断主区网络,验证推理服务无感切换,RPO 为零。
大模型训练集群的检查点保护
阶段:模型训练 / 数据保护
解决的问题:大规模分布式训练动辄数周,一旦单点故障导致训练中断,重新跑会浪费数百万 GPU 小时。训练检查点(Checkpoint)需要温备策略来保障可恢复性。
具体案例:某大模型团队使用异步复制将每 15 分钟生成的检查点文件同步到异地对象存储。一次机房制冷故障导致训练集群停机,团队从异地存储拉取最新检查点,在备用集群上恢复训练,仅损失 3 分钟训练进度,恢复耗时约 40 分钟,远低于 RTO 的 2 小时目标。
医疗影像 AI 服务的同城双活
阶段:在线推理 / 服务连续性
解决的问题:医疗影像 AI 辅助诊断服务要求高可用,乡镇医院依赖云端实时推理。同城双活(Active-Active)架构让两个可用区同时服务,用户无感知切换。
具体案例:某医疗 AI 平台在同一个城市两个可用区部署双活推理服务,患者影像上传后两个区各处理一份,结果写入同步复制的数据库。当一个可用区因电力检修停机时,另一个区继续承接全部流量,医院端零感知,符合医疗系统对诊断服务连续性的严格要求。
Python 演示
import timeimport random class DRConfig: """模拟一个灾难恢复配置项,绑定 RTO 与 RPO 目标。""" def __init__(self, name, rto_sec, rpo_sec, mode="warm"): self.name = name self.rto_sec = rto_sec self.rpo_sec = rpo_sec self.mode = mode self.drill_count = 0 self.pass_count = 0 def run_drill(self, detect, switch, startup, verify, last_backup_lag): """执行一次自动演练,检查恢复总时间是否达标。""" self.drill_count += 1 total = detect + switch + startup + verify ok_time = total <= self.rto_sec ok_data = last_backup_lag <= self.rpo_sec if ok_time and ok_data: self.pass_count += 1 result = "PASS" else: result = "FAIL" print(f"[{self.name}] 恢复耗时={total}s " f"RTO={self.rto_sec}s 数据延迟={last_backup_lag}s " f"RPO={self.rpo_sec}s -> {result}") return result def report(self): rate = self.pass_count / max(self.drill_count, 1) * 100 print(f"== {self.name} 演练通过率: {rate:.1f}% " f"({self.pass_count}/{self.drill_count}) ==") def simulate_latency(): """模拟一次演练中各阶段的耗时抖动。""" return { "detect": random.uniform(5, 20), "switch": random.uniform(10, 40), "startup": random.uniform(30, 90), "verify": random.uniform(5, 15), "lag": random.uniform(0, 120), } def main(): cfg = DRConfig("在线推理服务", rto_sec=120, rpo_sec=30, mode="hot") for i in range(1, 6): print(f"--- 第 {i} 次故障注入演练 ---") m = simulate_latency() cfg.run_drill(m["detect"], m["switch"], m["startup"], m["verify"], m["lag"]) time.sleep(0.1) cfg.report() if __name__ == "__main__": main()
class DRConfig定义了一个“灾备方案”对象,像阿澈为每类服务建立的档案卡,上面写着名字、RTO、RPO 和方案类型。def run_drill(self, detect, switch, startup, verify, last_backup_lag)每次演练的核心入口,把四段时间和小数据延迟一起传进来,模拟一次完整的故障恢复过程。total = detect + switch + startup + verify对应恢复时间叠加公式,把四段耗时加总。ok_time = total <= self.rto_sec检查恢复总时间是否在 RTO 红线之内。ok_data = last_backup_lag <= self.rpo_sec检查数据丢失窗口是否在 RPO 红线之内。rate = self.pass_count / max(self.drill_count, 1) * 100计算演练通过率,用max避免除零。def simulate_latency()模拟每次演练中网络和系统的随机抖动,让测试更接近真实环境。
常见误区
误区很多初学者认为只要部署了热备站点,灾难发生时就会自动切换流量,不需要任何额外配置。
正解热备只表示数据实时同步到备站,不代表“切换”这件事是自动的。就像你有一个 24 小时营业的分馆,但分馆的门钥匙在馆长抽屉里锁着,真出事时还得有人去开门。自动切换需要额外的能力:健康检查、仲裁逻辑、DNS 或负载均衡的动态更新。许多生产事故恰恰是“热备数据很新,但切换脚本半年没跑过,一执行就报错”。
为何常见:因为云服务商宣传高可用时经常把“多可用区”简化为“自动故障转移”,让人误以为数据同步完成就等于切换完成。
误区“我用了同步复制,RPO 就是零,所以灾难时一条数据都不会丢。”这是最常见也最危险的自信。
正解同步复制只是把“已确认的写操作”复制到备站。但在灾难瞬间,主站内存里还有一批“尚未落盘、尚未发送”的数据,这些数据照样会丢。RPO=0 的真正含义是“已提交事务零丢失”,而不是“内存中一切变更零丢失”。图书馆的同步誊写只覆盖已经登记在册的书,誊写员手边那页刚写完还没交出去的书,照样可能被火烧掉。
为何常见:人们对“同步”二字的直觉是“完全一致”,容易忽略复制的边界是已提交的数据,而非运行中的一切状态。
误区写了详细的 DR 文档、配置了跨区域备份,就觉得万事大吉,“应该能恢复吧”。
正解没有经过真实故障注入验证的 DR 方案,本质上只是一份愿景。备份可能过期、恢复脚本可能依赖已被删掉的工具、备站实例可能没有齐全的依赖——这些问题只有演练才能暴露。阿澈的教训是:第一次手动演练用了 9 小时,是目标值的两倍多,问题全出在“以为准备好了”的细节上。混沌工程的意义就是让故障在可控的时候提前发生。
为何常见:因为演练本身有成本,会打断正常业务节奏,所以团队倾向于“相信预案”而不是“验证预案”。
面试题
Q1. 灾难恢复(DR)与高可用(HA)的主要区别是什么?
- A.DR 只针对数据库,HA 针对整个系统
- B.HA 应对局部故障,DR 应对区域级灾难← 正确答案
- C.DR 不需要跨地域部署
- D.HA 不需要冗余资源
答案:B。HA 解决的是单机或单可用区内的局部故障,比如一台机器下线后集群内自动切换;DR 解决的是整栋楼没了这种区域级灾难,必须依赖跨地域的备用站点。类比图书馆:HA 是复印机坏了换旁边一台,DR 是整栋楼烧了启用异地分馆。
Q2. RTO(恢复时间目标)的定义是?
- A.灾难发生后允许丢失的最大数据量
- B.从故障发生到服务恢复所允许的最大时长← 正确答案
- C.数据备份的完整周期
- D.系统无故障运行的最长时间
答案:B。RTO 是恢复时间目标,关注的是“多久恢复”;RPO 才是“丢多少数据”。类比图书馆计划:RTO 是“火灾后必须在 4 小时内重新开门”,RPO 是“最多能容忍烧掉最近 15 分钟的借阅记录”。
Q3. 以下哪种备份方案的 RTO 通常最短?
- A.冷备
- B.温备
- C.热备← 正确答案
- D.磁带归档
答案:C。热备因为数据实时同步、备站随时可用,RTO 以分钟计,是三种方案中恢复最快的。冷备需要现买书架上架,温备要拆箱整理,磁带归档更慢。类比图书馆,热备是异地 24 小时同步分馆,直接开门就能借书。
Q4. 同步复制相对于异步复制的主要代价是什么?
- A.数据丢失更严重
- B.每次写入需等待备站确认,延迟升高← 正确答案
- C.无法实现跨区域备份
- D.不需要额外带宽
答案:B。同步复制每次写操作都要等备站确认“已收到”,延迟因此显著上升;但它换来了 RPO 更接近零。类比两位誊写员对喊抄写,每页都要等对方确认才能继续,速度自然慢。异步仿比更快,但存在在途数据丢失的风险。
Q5. 在故障转移流程中,防止“脑裂”(主备同时认为自己是主)的关键手段是?
- A.增加备份频率
- B.使用仲裁节点或第三方探活← 正确答案
- C.缩小 RTO
- D.禁用同步复制
答案:B。脑裂发生在网络抖动导致主备互相无法通信时,两边都以为对方挂了、都抢着当主。仲裁节点或第三方探活机制就像图书馆的消防控制中心,由它统一确认“主馆到底是否真的失火”,而不是听分馆保安的一面之词。
Q6. 某 AI 平台的 RPO 为 5 分钟,这意味着什么?
- A.灾难发生后系统必须在 5 分钟内恢复
- B.最多可以接受丢失最近 5 分钟的数据← 正确答案
- C.每隔 5 小时做一次备份
- D.备份数据必须保留 5 天
答案:B。RPO 关注的是“数据能丢多少”, 5 分钟的 RPO 意味着备份新鲜度至少每 5 分钟一次。如果最后一次备份在故障前 6 分钟完成,那就有 1 分钟的数据可能丢失,就违约了。RTO 才对应“多久恢复”。
Q7. 某系统要求 RTO=30 分钟,实测各阶段耗时分别为:检测 8 分钟、切换 15 分钟、启动 12 分钟、验证 5 分钟。以下哪种优化方式最有效?
- A.降低备份频率
- B.引入自动化切换脚本减少切换时间← 正确答案
- C.改用冷备方案
- D.取消验证步骤
答案:B。当前总耗时为 40 分钟,超出 RTO 10 分钟。切换阶段占 15 分钟且有自动化优化空间,是性价比最高的改进点。取消验证会带来巨大风险,降低备份频率与 RTO 无关,冷备只会让恢复更慢。总耗时公式 T=检测+切换+启动+验证 告诉我们,优化最长的短板才是关键。
Q8. 以下哪些措施属于自动化演练的范畴?
- A.每季度在生产环境主动中断一个可用区网络← 正确答案
- B.编写 IaC 脚本一键发起故障注入← 正确答案
- C.演练后自动对比实测 RTO/RPO 与目标值← 正确答案
- D.只在文档中记录预案,不执行测试
答案:ABC。自动化演练的核心是“主动注入故障+脚本编排+结果核验”,A、B、C 分别对应这三个环节。D 恰恰是演练要避免的“纸上谈兵”——没执行过的预案等于没有预案,阿澈的教训就是第一次手动演练发现了大量文档中没有覆盖的问题。
Q9. 关于异步复制,以下说法正确的是?
- A.主站性能几乎不受影响← 正确答案
- B.灾难时可能丢失在途数据← 正确答案
- C.RPO 一定为零
- D.适合吞吐敏感型的训练检查点备份← 正确答案
答案:ABD。异步复制本地写完直接返回,性能好,但备站存在回放延迟,故障瞬间在途数据可能丢失,RPO 不为零。它对吞吐敏感的训练检查点备份是合适选择,因为每步迭代都等同步确认会拖垮训练。C 是典型误区,RPO 为零是同步复制的理想特征。
Q10. 设计 DR 方案时,RTO 和 RPO 如何影响技术与成本决策?
- A.RTO 越小,切换自动化要求越高← 正确答案
- B.RPO 越小,复制频度要求越高← 正确答案
- C.RTO/RPO 越严格,系统成本通常越高← 正确答案
- D.RPO 不影响备份方案选择
答案:ABC。RTO 决定恢复流程能容忍多慢,越小越需要自动化检测与切换;RPO 决定备份必须多新鲜,越小复制频度越高。两者约束越严格,需要的资源与技术栈越复杂,成本自然上升。D 完全错误——RPO 正是选择同步还是异步复制的核心依据。类比图书馆:要求 30 分钟恢复就是要有随时开门的分馆,要求零丢失就要全部实时同步,都意味着预算大涨。