交换机之间那根线断了半天才有人发现?华为BFD毫秒级链路检测配起来

本文整理自华为官方发布的典型配置案例,命令与步骤均按原始文档呈现,供现场实施参考。

两台核心交换机之间一根直连线,平时谁也不盯它。线被踩松、光模块老化、上联口被误关——这些故障发生时,如果上层业务恰好走了别的路径,可能几天都没人察觉;等到真正需要这条链路时才发现它早就死了,备份形同虚设。靠人巡检靠不住,得让设备自己"把脉":华为交换机的 BFD(双向转发检测)就是专门干这个的,两个设备之间周期性互发探测报文,连续几个周期收不到对方回音,立刻判定链路故障,检测周期可以做到毫秒级,比任何心跳脚本都快。

本文场景很典型:SwitchA 和 SwitchB 通过二层接口直连,要求对这条链路做快速故障检测。BFD 单跳检测二层链路的配置不依赖接口 IP,对端地址直接用缺省组播地址,两边各建一个会话即可。

先配 SwitchA。第一步全局使能 BFD 功能:

<HUAWEI> system-view
[HUAWEI] sysname SwitchA
[SwitchA] bfd
[SwitchA-bfd] quit

第二步创建 BFD 会话。会话名 atob,绑定本端接口 GE1/0/1,本地标识符 1、远端标识符 2:

[SwitchA] bfd atob bind peer-ip default-ip interface gigabitethernet 1/0/1
[SwitchA-bfd-session-atob] discriminator local 1
[SwitchA-bfd-session-atob] discriminator remote 2
[SwitchA-bfd-session-atob] commit
[SwitchA-bfd-session-atob] quit

SwitchB 对称照做,注意标识符要互换:本地 2、远端 1,两边的 local/remote 正好互为镜像,这是 BFD 会话能协商起来的关键:

<HUAWEI> system-view
[HUAWEI] sysname SwitchB
[SwitchB] bfd
[SwitchB-bfd] quit
[SwitchB] bfd btoa bind peer-ip default-ip interface gigabitethernet 1/0/1
[SwitchB-bfd-session-btoa] discriminator local 2
[SwitchB-bfd-session-btoa] discriminator remote 1
[SwitchB-bfd-session-btoa] commit
[SwitchB-bfd-session-btoa] quit

配完必做两件事:验证正常状态,再模拟故障验证检测真的生效。先看会话状态:

[SwitchA] display bfd session all verbose
--------------------------------------------------------------------------------
Session MIndex : 4097      (One Hop) State : Up        Name : atob
--------------------------------------------------------------------------------
  Local Discriminator    : 1              Remote Discriminator   : 2
  Session Detect Mode    : Asynchronous Mode Without Echo Function
  BFD Bind Type          : Interface(GigabitEthernet1/0/1)
  Bind Session Type      : Static
  Bind Peer IP Address   : 224.0.0.184
  NextHop Ip Address     : 224.0.0.184
  Bind Interface         : GigabitEthernet1/0/1
  FSM Board Id           : 0                TOS-EXP                : 7
  Min Tx Interval (ms)   : 1000             Min Rx Interval (ms)   : 1000
  Actual Tx Interval (ms): 1000             Actual Rx Interval (ms): 1000
  Local Detect Multi     : 3                Detect Interval (ms)   : 3000
  Echo Passive           : Disable          Acl Number             : -
  Destination Port       : 3784             TTL                    : 255 
  Proc Interface Status  : Disable          Process PST            : Disable
  WTR Interval (ms)      : -                  
  Active Multi           : 3                DSCP                   : - 
  Last Local Diagnostic  : No Diagnostic
  Bind Application       : No Application Bind
  Session TX TmrID       : -                Session Detect TmrID   : -
  Session Init TmrID     : -                Session WTR TmrID      : -
  Session Echo Tx TmrID  : -
  PDT Index              : FSM-0 | RCV-0 | IF-0 | TOKEN-0
  Session Description    : -
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 1/0

State 是 Up,检测周期 1000 毫秒、3 倍检定,约 3 秒内可判故障(周期可按需调小)。然后动手拔"线"——对接口做 shutdown 模拟链路故障:

[SwitchA] interface gigabitethernet 1/0/1
[SwitchA-GigabitEthernet1/0/1] shutdown
[SwitchA-GigabitEthernet1/0/1] quit

再查一次,会话状态应变为 Down,Last Local Diagnostic 显示检测超时:

[SwitchA] display bfd session all verbose
--------------------------------------------------------------------------------
Session MIndex : 4097      (One Hop) State : Down        Name : atob
--------------------------------------------------------------------------------
  Local Discriminator    : 1              Remote Discriminator   : 2
  Session Detect Mode    : Asynchronous Mode Without Echo Function
  BFD Bind Type          : Interface(GigabitEthernet1/0/1)
  Bind Session Type      : Static
  Bind Peer IP Address   : 224.0.0.184
  NextHop Ip Address     : 224.0.0.184
  Bind Interface         : GigabitEthernet1/0/1
  FSM Board Id           : 0                TOS-EXP                : 7
  Min Tx Interval (ms)   : 1000             Min Rx Interval (ms)   : 1000
  Actual Tx Interval (ms): 13000            Actual Rx Interval (ms): 13000
  Local Detect Multi     : 3                Detect Interval (ms)   : -
  Echo Passive           : Disable          Acl Number             : -
  Destination Port       : 3784             TTL                    : 255 
  Proc Interface Status  : Disable          Process PST            : Disable
  WTR Interval (ms)      : -                  
  Active Multi           : 3                DSCP                   : - 
  Last Local Diagnostic  : Control Detection Time Expired
  Bind Application       : No Application Bind
  Session TX TmrID       : 16402            Session Detect TmrID   : -
  Session Init TmrID     : -                Session WTR TmrID      : -
  Session Echo Tx TmrID  : -
  PDT Index              : FSM-0 | RCV-0 | IF-0 | TOKEN-0
  Session Description    : -
--------------------------------------------------------------------------------
     Total UP/DOWN Session Number : 0/1

有 Up 有 Down,说明检测机制闭环可用。实际部署时 BFD 很少单打独斗,通常和静态路由、VRRP 等联动,链路一断立刻触发主备切换,业务无感。中小企业做双链路、双设备高可用改造时,BFD 是必配的底层保障,具体联动设计欢迎找贵州诚鑫致达科技这样的本地服务商协助评估。

企业存储选型参考|贵州诚鑫致达

做机房存储、虚拟化或监控归档,群晖机型参考:FS6400(全闪存阵列) · SA3610 · SA3410。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。

服务区域|贵州诚鑫致达

贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。兴义(黔西南):群晖 NAS、信创云盘与数据管理集成服务。