演练要当成一次正式变更
链路切换演练的目的是取得可信的切换数据,而不是证明配置能用。做法是:先取业务与路由基线,再按预设方式注入故障(拔纤、关端口、屏蔽特定流量),同时用持续打流记录丢包窗口,等路由稳定后再恢复并核对。验收判据应以业务侧探测结果为准,设备自己报的收敛时间往往不等于业务实际中断时长。演练还要准备回退动作:一旦备用路径本身有问题,能快速恢复原状,避免演练变成事故。
基本信息
| 故障注入 | 切断光路、shutdown 端口、在链路上做条件性丢包 |
|---|---|
| 观测指标 | 丢包窗口时长、路由收敛时间、业务恢复时刻、切换次数 |
| 判据来源 | 业务侧持续探测结果,而非设备日志自报 |
| 前提 | 变更窗口、配置备份、回退方案三件齐全 |
| 产出 | 演练记录:注入时刻、切换时刻、恢复时刻与异常点 |
典型使用场景
- 新建双出口后的验收:验证切换是否达到设计目标
- 季度演练:确认冗余路径在真实场景下仍然可用
- 变更前预演:把即将实施的改动先在演练环境走一遍
- 事故后验证:确认修复措施在故障场景下有效
- SLA 对账:向业务方提供实际切换数据
演练记录示例
演练记录示例
# 注入前取基线
ping -c 100 -i 0.2 10.2.2.1 | tail -2 # 记录正常时延与丢包
show ip route 10.2.2.0 # 记录当前选路结果
# 实施故障注入并开始计时,持续打流观察丢包窗口
ping -i 0.2 10.2.2.1 | while read l; do echo "$(date +%T) $l"; done
# 恢复后核对
show ip bgp summary演练记录项
| 记录项 | 内容 | 用途 |
|---|---|---|
| 注入时刻 | 精确到秒的故障注入时间 | 作为切换窗口起点对齐日志 |
| 切换时刻 | 流量重新分布的观察点 | 计算实际切换时长 |
| 丢包数量 | 打流统计的成功与失败计数 | 换算业务中断时长 |
| 异常项 | 与预期不符的现象 | 作为后续优化输入 |
演练要覆盖单向故障:只断去程或只断回程的场景比整体断链更难发现,也更容易在真实事故中造成长时间中断。
注入故障前确认备用路径当前可用且有足够余量承载全部业务,否则演练本身会造成业务中断。