中断后的恢复路径
复制中断时,两端数据出现差异,差异大小取决于中断时长与期间源端的写入量。恢复方式主要有两类。增量重同步(Incremental Resync)只把断连期间发生变化的块传到目标端,速度快、对业务影响小,但它依赖差异位图(Bitmap)完整保留,位图记录了断连期间被写过的块位置。全量重同步(Full Resync)把源端全部已用块重新复制一遍,不依赖位图,结果确定,但耗时可能从数小时到数十小时,期间链路与目标端阵列负载明显上升。
基本信息
| 常见中断原因 | 链路故障、控制器重启、计划维护、目标端空间不足 |
|---|---|
| 位图机制 | 记录断连期间被写入的块,用于增量同步 |
| 增量重同步 | 只传差异块,快、影响小,依赖位图完整 |
| 全量重同步 | 重传全部已用块,慢但结果确定 |
| 降级触发条件 | 位图丢失、中断时间过长、一致性校验失败 |
| 校验手段 | 位图比对、校验和比对、后台一致性校验 |
典型使用场景
- 链路割接或设备重启后重新建立复制,判断能否走增量路径
- 目标端扩容、重建或更换后需要重新同步数据
- 演练中主动断开链路,测量恢复时长与对业务的真实影响
- 计划内迁移前追平剩余差异,把切换窗口压到最短
- 复盘位图为何丢失,反过来推动流程与设备配置改进
- 大容量卷上线前评估全量同步窗口,提前与业务方约定
恢复方式对比
| 方式 | 传输量 | 耗时 | 主要风险 |
|---|---|---|---|
| 增量重同步 | 仅断连期间的差异块 | 较短,取决于差异量 | 位图不完整可能漏块 |
| 全量重同步 | 源端全部已用块 | 长,受带宽与目标端限制 | 期间无保护,业务负载上升 |
| 后台一致性校验 | 不传输或只修不一致块 | 与数据量正相关 | 与生产 IO 竞争资源 |
| 校验和比对 | 无数据传输 | 分钟到小时级 | 只能发现差异,不能修复 |
增量重同步是否可行,取决于差异位图是否完整保留。位图通常存放在易失内存或高速缓存中,控制器掉电重启、固件升级、位图区域容量不足都可能让它失效,从而把一次小中断变成一次全量重传。因此位图的持久化能力是选型与运维中需要单独确认的参数。
全量重同步期间业务处于无保护窗口,若此时源端再发生故障,可用恢复点将退回中断之前的状态。大容量卷的全量同步可能持续数十小时,必须在上线前明确该窗口是否可接受,并安排低峰期执行、提前通知业务方。
恢复决策链
恢复决策链
# 复制中断
# -> 位图是否完整保留?
# 否 -> 全量重同步(提前通知业务,安排低峰窗口)
# 是 -> 差异量是否在可接受范围内(时间与带宽)?
# 是 -> 增量重同步,并监控进度到完成
# 否 -> 等待低峰期再做,避免抢占业务带宽