跳到正文
Lutong's Homepage

华为H3C实战 | 第23章 AC 高可用

📚 本系列共 43 篇(第 23 / 43 篇) · 第三卷 无线篇 —— 把网络甩到空中

← 上一篇:第 22 章 无线漫游与优化  下一篇:第 24 章 WLAN 故障排查专题 →


本章导读:一台 AC 管着全楼 AP,它一挂、几百台 AP 就成了没头苍蝇。本章讲清华为 VRRP+HSB 双机热备与 H3C 双机热备/IRF 两套路子,以及"切换一次到底会不会掉线"这个真问题。

本章结构:

  • 23.1 功能原理与业务场景 —— 把 VRRP(地址不变)和 HSB(状态不丢)两件事拆开;负载分担怎么分工、AC 摆在哪心跳怎么走、什么规模的网该上高可用
  • 23.2 华为设备配置详解 —— hrp 心跳、VRRP 备份组、HSB 服务批量的完整模板,外加"一台 AC 挂了究竟发生了什么"的逐步推演、回切策略
  • 23.3 H3C 设备配置详解 —— H3C 双机热备模型与模板,以及 IRF 堆叠这条替代路线
  • 23.4 华为 / H3C 命令对照表
  • 23.5 配置验证 —— 验 VRRP 角色、验 HSB 状态、验 AP 主备归属,最后一定要真拔一次线做切换测试
  • 23.6 排错与故障树 —— 双主故障的完整处置流程
  • 23.7 新手踩坑与注意事项
  • 23.8 本章小结

重点提示:配之前先看 23.1.1 那张「VRRP vs HSB」的对比表——只配 VRRP 不配 HSB,切换后 AP 全部重上线;上生产前 23.5.4 的切换测试不能省,没打这一枪就等于没验证。出现双主直接跳 23.6.1。 关联章节:VRRP 原理与抢占见第 7 章;AP 上线与 CAPWAP 发现见第 19 章;无线故障现象(AP 掉线、漫游失败)见第 24 章。

23.1 功能原理与业务场景

23.1.1 这功能是干嘛的(通俗版)

一栋办公楼有 60 台 AP、上千个终端,全靠一台 AC 管着。你可以把 AC 想成这个无线网的"总导演":所有 AP 听它指挥,所有 SSID、信道、密码都是它下发的。

问题是:导演只有一个,他要是病了,整个剧组就停摆了。

  • AC 硬件坏了 → 全网 AP 失去控制,已连终端可能还能用一会儿,但新终端上不了线,漫游失效,配置再也没法改。
  • AC 升级重启 → 全网无线中断几分钟,几千人在办公室里集体"断网"。
  • AC 电源跳闸 → 同上。

这在现代办公环境里是不可接受的。AC 高可用要解决的,就是"主演请假,替身上场,观众感觉不到"这件事。

生活化比喻:一家连锁餐厅,店长突然住院了,如果事先安排了副店长,副店长立刻接手,顾客点菜、上菜一切照旧;如果没安排,就得到处找人、临时接管,中间一阵混乱。高可用的本质就是"事前准备好一个随时能接手的副店长"。

23.1.2 在网络里怎么落地(设计视角)

(1)先把两个"高可用"分清楚(很多人在这里糊成一团)

“AC 高可用"其实包含两件完全不同的事,必须分开理解和配置:

高可用目标 解决什么问题 关键技术 配错的表现
AC 设备本身的高可用 AC 的 IP 地址不能变,终端/AP 看到的网关和 AC 地址要继续可达 VRRP(虚拟路由器冗余协议) AP 切换后找不到 AC、终端断网
无线业务状态的高可用 AP 与终端的连接状态不能在切换时丢失 HSB(热备份,Hot Standby)/ 会话同步 AP 仍需重新上线、终端集体掉线重连

打个比方:VRRP 是"两个店长共用一个对外电话分机号”(所以外面打进来永远能接通),HSB 是"副店长一直在旁边看着店长的账本和客人名单"(所以接过来立刻就能点菜)。

两者缺一不可:

  • 只配 VRRP 不配 HSB → AC 切换了,但 AP 全部要重新上线,终端全部掉线重连,体验很差。
  • 只配 HSB 不配 VRRP → 业务状态同步了,但外部看到的 AC 地址变了,AP 还是找不到。

(2)VRRP 是什么,为什么无线场景特别需要它

VRRP 用生活语言讲就是**“两人共用一个电话号码”**:

   主 AC (Master) 172.16.30.2   ──┐
                                  ├── 虚拟 IP(VIP):172.16.30.10
   备 AC (Backup) 172.16.30.3   ──┘

   AP / 终端 / 交换机 都只认 172.16.30.10 这个地址
   主 AC 活着:VIP 由它响应
   主 AC 挂了:备 AC 在几秒内接管 VIP,外部无感

关键点:AP 的 CAPWAP 源接口、Option 43 下发的地址、终端的网关,全部指向 VIP,而不是指向主 AC 的真实地址。 这样无论主备怎么切,外部看到的地址永远不变。

(3)HSB 是什么,为什么要"同步状态"

AP 上和终端上的很多状态是"活的",不是配置文件里的东西:

  • AP 的 CAPWAP 隧道状态(AP 已上线、连接在哪台 AC 上)
  • 终端的关联状态(AP、射频、信号、加密密钥)
  • 802.1X 认证后的授权信息(VLAN、ACL)
  • 漫游过程中终端的位置信息

这些状态如果不同步,主 AC 一挂,备 AC 一脸茫然:它不知道谁是哪台 AP、谁连在哪个终端上,只能让所有 AP 重新上线、所有终端重新认证。这就是"虽然没断网,但全公司重连了一次"。

HSB 做的就是:主 AC 不断把这些"活的状态"同步给备 AC,备份 AC 始终有一份最新的副本。主 AC 一挂,备 AC 无缝接管,AP 和终端几乎感觉不到。

(4)AP 双链路备份:AP 怎么知道该找谁

即使两边 AC 都配好了,AP 也得知道"主挂了我去找谁"。这就是 AP 双链路备份:

   AP 的发现列表:
   [主 AC 的地址] → 连不上? → [备 AC 的地址] → 连上了!

AP 知道备份 AC 地址的方式有几种:

  • Option 43 里下发多个 AC 地址(部分版本支持)
  • AC 在 AP 系统模板里配置备份 AC 地址
  • DHCP 下发两个 AC 地址(需要 DHCP 服务器与 AP 配合)

不同厂商、不同版本的支持程度差异很大,具体命令以设备手册为准。

(5)主备切换会发生什么(这是本章最该讲清楚的部分)

场景 AP 的体验 终端的体验 恢复时间
配了 VRRP + HSB AP 几乎无感(隧道状态已同步) 基本无感(关联状态已同步) 秒级
只配 VRRP AP 需重新 CAPWAP 建连 需重新关联+认证 十几秒到几十秒
什么都没配 AP 全部掉线重新发现 全部断网重连 数分钟,且可能起不来

所以,“配了高可用"和"配对了高可用"是两件事。很多项目配了个 VRRP 就号称有高可用,实际上切换时全网 AP 重新上线,用户照样投诉。

(6)主备模式的两种设计思路

模式 说明 资源占用 适用场景
主备(Active/Standby) 主 AC 干活,备 AC 只同步不干活 备份 AC 平时闲置 最常见,投资翻倍但简单
主备负载分担(Active-Active) 两台 AC 各管一部分 AP,互相备份 两台都干活 大规模场景,AP 数量多

本 Part 以主备模式为主讲(最常见),负载分担的要点在 22.1.3 补一句。

23.1.3 负载分担模式下"谁备份谁”

主备负载分担的场景里,AP 会被分成两半:一半的主 AC 是 AC1、备 AC 是 AC2;另一半反过来。这样两台 AC 都在干活,任一台挂了,另一台承担全部。

代价是配置复杂度上升:两台 AC 都要同时维护"主角色"和"备角色"两套配置。对中小规模(单台 AC 够用)来说,老老实实用主备更稳。

适用版本:华为 VRP V200R019 及以上(AC6005/AC6605);H3C Comware V7(R2609 及以上,WX3540H 等)。VRRP 为通用三层协议,两家命令差异不大;HSB 与 AP 双链路备份为厂商私有实现,各版本命令差异较大。

23.1.4 组网形态:AC 放在哪里,心跳走哪里

高可用的组网形态直接决定了"心跳链路该怎么走"。常见的两种:

   形态一:AC 旁挂在核心交换机(本 Part 主线)

          [核心交换机]
           /        \
       [AC1]        [AC2]
         \           /
          \         /      ← 心跳可以走核心交换机(VLAN 300),
           \       /         也可以 AC1/AC2 之间直连一根线
           [心跳链路]

   形态二:AC 直连(串联在 AP 上行的必经路径)

          [核心交换机]
               |
            [AC1]---[AC2]   ← 心跳直连
               |
          [接入交换机]
               |
             [AP]

心跳链路的选择原则:

方案 优点 缺点 建议
走核心交换机(一个心跳 VLAN) 不用额外接线,组网简单 与业务共享带宽;核心故障时心跳一起断 中小项目常用
AC1/AC2 之间直连 心跳专用、延迟低、不受核心影响 多占一个接口 推荐,成本很低
借管理网走心跳 省事 管理网抖动会影响 HSB 不推荐

心跳链路一定要用独立 VLAN,不要和 AP 管理 VLAN、业务 VLAN 混在一起。原因是 HSB 同步的是高频业务状态,如果和业务流量抢带宽,高峰时会导致同步延迟,切换时"备机手里的状态是旧的"。

23.1.5 什么样的网络"必须"上 AC 高可用

不是所有场景都需要双 AC。判断标准可以看这张表:

场景 AP 数 是否需要高可用 理由
家庭、小店铺 1~3 不需要 AC 挂在路由器里,整体故障口径小
小型办公室 3~10 可选 一台 AC 够用,坏了停半天也能接受
中型办公/医院/学校单栋楼 10~60 建议上 无线是主要上网手段,断网影响大
大型园区/多栋楼 60+ 必须上(或负载分担) 单点故障影响面太大
有强实时业务(医院 PDA、工厂 AGV、酒店入住系统) 不限 必须上 断网直接影响业务

“不需要"不等于"不用管”:小规模场景即使不做双 AC,也至少要做到"AC 配置有备份、AC 电源有保障、AC 坏了 30 分钟内能换一台顶上"。这是"低成本高可用"。

23.1.6 一个容易被忽略的问题:DHCP 与 AC 的关系

高可用场景里,DHCP 服务器要不要也高可用?

DHCP 部署位置 高可用处理
核心交换机(推荐) 核心本身可能已经在 VRRP/堆叠里,DHCP 随之高可用
AC 上 不推荐:AC 一挂,AP 连地址都拿不到,即使备 AC 接管也没用
独立服务器 服务器侧自己做主备/DHCP 集群

这就是为什么本 Part 的案例把 DHCP 放在核心交换机上,而不是 AC 上。 AC 上做 DHCP 看着省事,但在高可用设计里是个隐患:AP 的管理地址是由 DHCP 分配的,如果 DHCP 服务和 AC 绑在一起,主 AC 一挂,新上线的 AP(或重启的 AP)连地址都拿不到,备 AC 也救不回来。

高可用设计的第一原则:任何单点都要问一句"它挂了会怎样"。 DHCP、核心链路、心跳链路、管理 VLAN,都要过一遍这个检查。

23.2 华为设备配置详解

23.2.1 命令行基础速览

命令 所在视图 作用 核实状态
vrrp vrid 1 virtual-ip 172.16.30.10 Vlanif 接口视图 配置 VRRP 虚拟 IP ✅ 通用
vrrp vrid 1 priority 120 Vlanif 接口视图 配置 VRRP 优先级 ✅ 通用
vrrp vrid 1 preempt-mode Vlanif 接口视图 开抢占 ✅ 通用
hsb-service 0 系统视图 创建 HSB 主备服务 ✅ 已核实(V200R023 手册)
service-ip-port local-ip X peer-ip Y local-data-port N peer-data-port N hsb-service 视图 配置主备备份通道的 IP 与端口 ✅ 已核实
key cipher <密钥>(可选) hsb-service 视图 HSB 两端共享密钥,必须先于 service-ip-port 配 ✅ 已核实
service-keep-alive detect retransmit N interval S(可选) hsb-service 视图 HSB 报文重传次数与间隔(缺省 5 次 / 3 秒) ✅ 已核实
hsb-service-type ap hsb-service 0 系统视图 WLAN 业务绑定 HSB 主备服务 ✅ 已核实
hsb-service-type access-user hsb-service 0 系统视图 NAC(认证用户)业务绑定 HSB ✅ 已核实
ap-system-profile name X → primary-access / backup-access wlan 视图 → 模板视图 指定优选 AC / 备选 AC(双链路备份) ✅ 已核实
ac protect enable wlan 视图 启用双链路备份功能 ✅ 已核实
ap-reset all wlan 视图 让双链路备份对已在线 AP 生效 ✅ 已核实
display hsb-service 0 任意视图 查 HSB 主备服务信息 ✅ 已核实
display ac protect 任意视图 查双链路备份信息 ✅ 已核实
display ap-system-profile all 任意视图 查优选/备选 AC 配置 ✅ 已核实
display vrrp 任意视图 查 VRRP 状态 ✅ 通用

23.2.2 完整配置模板(AC1 主机)

前提:先按第 17~19 章把 AC1 的 WLAN 业务配好,再叠加高可用。

# 进入系统视图
system-view

# 设备名
sysname AC1

# ---------- 第一步:VRRP ----------
# AC1 与 AC2 互联的 VLAN 300 三层接口
interface Vlanif300
 ip address 172.16.30.2 255.255.255.0
 # 虚拟 IP:对外只有它就够了
 vrrp vrid 1 virtual-ip 172.16.30.10
 # 优先级 120(高于缺省 100),让 AC1 成为 Master
 vrrp vrid 1 priority 120
 # 开抢占:AC1 恢复后重新抢回主
 vrrp vrid 1 preempt-mode
 quit

# ---------- 第二步:HSB 主备服务(状态同步通道) ----------
hsb-service 0
 # 本端 IP / 对端 IP / 本地数据端口 / 对端数据端口
 service-ip-port local-ip 172.16.30.2 peer-ip 172.16.30.3 local-data-port 10241 peer-data-port 10241
 quit

# ---------- 第三步:让 WLAN 业务(AP 表项)和认证用户表项绑定 HSB ----------
hsb-service-type ap hsb-service 0
hsb-service-type access-user hsb-service 0

# 保存
save

(2)AC2 备机配置

AC2 的配置与 AC1 几乎一模一样,只有两处不同:IP 用 172.16.30.3,VRRP 优先级不用配(保持缺省 100,成为 Backup)。

# 进入系统视图
system-view

# 设备名
sysname AC2

# ---------- 第一步:VRRP(备机) ----------
interface Vlanif300
 ip address 172.16.30.3 255.255.255.0
 vrrp vrid 1 virtual-ip 172.16.30.10
 # 不配优先级,缺省 100,低于 AC1 的 120,自动成为 Backup
 vrrp vrid 1 preempt-mode
 quit

# ---------- 第二步:HSB 服务(local 与 peer 反过来) ----------
hsb-service 0
 service-ip-port local-ip 172.16.30.3 peer-ip 172.16.30.2 local-data-port 10241 peer-data-port 10241
 quit

# ---------- 第三步:绑定 HSB(两侧完全一样) ----------
hsb-service-type ap hsb-service 0
hsb-service-type access-user hsb-service 0

save

(3)两台 AC 的 WLAN 部分要"配置一致"

高可用的一个硬性要求是:两台 AC 的 WLAN 业务配置必须一致(同样的 SSID 模板、安全模板、VAP、AP 组、AP 白名单)。否则切换后 AP 会拿到"不一样的配置"。

最省事的做法是:把 AC1 的配置全配好 → 导出 → 在 AC2 上照着配一份(IP 相关的部分改成 AC2 的地址)。

# 在 AC1 上导出配置(用于对照在 AC2 上重建)
display current-configuration

(4)AP 双链路备份(让 AP 知道备机在哪)

华为的"AP 双链路备份"是通过 AP 系统模板(ap-system-profile) 里指定"优选 AC"和"备选 AC"来实现的,一套 AP 会同时与主备两台 AC 建链路:

# 进入 WLAN 视图
wlan

# 创建 AP 系统模板
ap-system-profile name ha-profile

# 优选 AC(主 AC 的 CAPWAP 源接口地址)
primary-access ip-address 172.16.30.10

# 备选 AC(备 AC 的 CAPWAP 源接口地址)
backup-access ip-address 172.16.30.11
quit

# 把模板应用到 AP 组
ap-group name ap-group-office
 ap-system-profile ha-profile
 quit
quit
# 启用双链路备份功能(主备两台 AC 上都要执行)
wlan
ac protect enable
# 让已经上线的 AP 也生效(必须复位 AP)
wlan
ap-reset all

这里有几个官方明确说明的关键限制,必须注意:

  • primary-access 和 backup-access 必须同时配置才生效,且两个地址不能相同。
  • 这两个地址应当是 CAPWAP 源地址;如果和 AP 实际使用的 CAPWAP 源地址都不一致,就只能当"无线配置同步"用,不能作为主备 AC 选择依据。
  • 两个地址不能与 priority 或 protect-ac 同时配置。
  • 配置完成后需要重启 AP 才生效。
  • 如果用的是 VRRP 热备份(本节 22.2.2 的写法),AP 侧无需 primary-access/backup-access,AP 只认 VIP 即可;primary-access/backup-access 是"双链路备份"这条技术路线的做法,与 VRRP 热备份是并列的两套方案,不要混用。

⚠ 版本差异:以上 ap-system-profile / primary-access / backup-access / ac protect enable / ap-reset 命令依据华为官方《配置双链路热备份》(AC6000 V200R023C00 手册)核实。更早的 V200R019 手册中同类功能的具体命令名可能略有不同,请以设备 ? 补全为准。

23.2.3 逐行讲解

命令 作用 为什么这么填 / 新手常填错的地方
vrrp vrid 1 virtual-ip 172.16.30.10 虚拟 IP 两台 AC 必须配同一个 vrid + 同一个 virtual-ip
vrrp vrid 1 priority 120 主机优先级 高于对端才能当 Master;不配就等于两台都是 100,可能都抢或都不抢
vrrp vrid 1 preempt-mode 抢占 不配的话主机恢复后不会自动抢回主角色,长期处于"备机干活"状态
hsb-service 0 HSB 服务 0 是服务编号,两台一致
local-ip 172.16.30.2 peer-ip 172.16.30.3 心跳地址 两台 AC 上要反过来写,写反了就同步不了
local-data-port 10241 peer-data-port 10241 数据同步端口 两边一致;建议用独立 VLAN/直连链路承载心跳,避免业务流量干扰
hsb-service-type ap hsb-service 0 WLAN 业务绑 HSB 让 AP 表项(STA 动态表)走 HSB 同步
hsb-service-type access-user hsb-service 0 认证用户绑 HSB 让 802.1X/Portal 的用户表项也同步,切换后不用重认证
key cipher <密钥>(可选) HSB 共享密钥 必须两端一致;且必须先于 service-ip-port 配,顺序反了配不上

23.2.4 一台 AC 挂了,到底发生了什么(逐步推演)

这是理解高可用最容易打结的地方,我们按时间顺序推演一遍"配了 VRRP + HSB"时的完整过程:

   T+0s    AC1 电源故障,宕机
              |
   T+1s    AC2 收不到 VRRP 通告,开始计时(Master_Down_Interval)
              |
   T+1~3s  AC2 判定主 AC 失效,宣告自己成为 Master,接管 VIP 172.16.30.10
              |
   T+3s    外部设备(AP、终端)看到 VIP 仍然可达(只是背后换人了)
              |
   T+3s    AC2 用 HSB 同步过来的 AP 隧道状态,直接接续与 AP 的 CAPWAP 连接
              |
   T+3s~   终端关联状态、密钥、授权信息都在 AC2 内存中 → 终端几乎无感
              |
   T+5s    网络恢复正常,用户只感觉到轻微卡顿

如果只配了 VRRP 没配 HSB,同一场景会变成:

   T+3s    AC2 接管 VIP
              |
   T+3s~   AC2 不知道任何 AP 的隧道状态
              |
   T+3s+   AP 的 CAPWAP 心跳超时,开始重新发现 AC
              |
   T+10~30s AP 重新上线(取决于 AP 数量与 AC 处理能力)
              |
   T+30s   终端重新关联、重新认证(802.1X 又要走一遍)
              |
   T+40s+  用户终于能上网 —— 已经过去半分钟

这半分钟的差别,就是 HSB 的全部价值。 对医院、工厂、酒店这类场景,半分钟断网是有人要写报告的。

23.2.5 主备切换的"回切"策略:什么情况下不要自动回切

很多工程师默认"主 AC 恢复了就该立刻抢回主角色",但实际运维中不一定。

策略 做法 适用场景
自动抢占(preempt) 主 AC 恢复后自动抢回 主机性能明显强于备机、要求主备固定角色
手动回切(no preempt) 主 AC 恢复后保持备角色,人工决定何时回切 主 AC 刚恢复还可能有隐患,不想马上把业务压回去

建议:重要场景用"不抢占 + 人工回切"。理由是:主 AC 刚恢复(比如刚重启完),系统可能还没稳定,这时候把全部 AP 和终端切回它,等于把风险叠加。等观察一段时间、确认主机健康,再选个业务低谷手动切回去更稳妥。

华为的 vrrp vrid 1 preempt-mode 缺省是开启抢占;如果希望手动回切,可以改成 undo vrrp vrid 1 preempt-mode。H3C 同理。

23.2.6 配置一致性怎么保证(非常实际的工程问题)

高可用最烦的一点是:两台 AC 的配置必须一致,但系统不会帮你同步配置文件。 你改了主 AC 的一个 SSID,忘了改备 AC,下次切换后就出问题。

工程上的三种处理方式:

方式 做法 优点 缺点
人工双改 每次变更在两台上都敲一遍 简单 容易漏,人一累就忘
配置导出/导入 主 AC 改完,导出配置,在备 AC 上对比后合并 有对比凭据 操作繁琐,容易覆盖 IP 等差异项
脚本化 diff 用脚本定期 diff 两台 AC 的 display current-configuration,发现差异告警 有自动化,能发现漂移 需要开发与维护

最低成本的底线做法:把"两台 AC 配置一致性检查"写进每周巡检项——定期在两台上执行 display current-configuration 导出,用文本对比工具(如 WinMerge/diff)比一下 WLAN 业务相关段落。

# 华为:导出当前配置(在终端软件里开启"记录会话"保存到文件)
display current-configuration
# H3C:导出当前配置
display current-configuration

对比时重点看这几段:wlan 相关(ssid-profile、security-profile、vap-profile、ap-group、ap 白名单、射频模板)、radius-server/aaa、interface Vlanif(IP 差异是正常的,其他不该有差异)。

23.3 H3C 设备配置详解

23.3.1 H3C 的双机热备模型

H3C WX 系列的高可用主要有两条路:

方案 说明 优缺点
VRRP + 双机热备(备份 AC) 两台 WX 各自独立,通过 VRRP 做网关冗余,AP 在主备 AC 间切换 组网清晰,配置直观;需要 AP 侧知道备份 AC
IRF 堆叠 两台 WX 堆叠成一台逻辑设备 管理简单(一台逻辑设备),但堆叠本身是另一个复杂话题

本节以 VRRP + 备份 AC 为主线。

23.3.2 完整配置模板

(1)AC1(主)

# 进入系统视图
system-view

# 设备名
sysname WX1

# ---------- 第一步:VRRP ----------
interface Vlan-interface300
 ip address 172.16.30.2 255.255.255.0
 # VRRP 备份组 1,虚拟 IP
 vrrp vrid 1 virtual-ip 172.16.30.10
 # 优先级高于对端,成为 Master
 vrrp vrid 1 priority 120
 # 开抢占
 vrrp vrid 1 preempt-mode
 quit

# ---------- 第二步:双链路备份(在 AP 组视图下配) ----------
# 关键:backup-ac 配在 AP 组视图,不是单台 AP 视图
wlan ap-group ap-group-office
 # AP 连接的优先级,主 AC 上的组配高值
 priority 7
 # 指定备份 AC 的 IP(填备 AC 的真实地址,不是 VIP)
 backup-ac ip 172.16.30.3
 # 开启 CAPWAP 隧道抢占:主 AC 恢复后 AP 能自动切回来
 wlan tunnel-preempt enable
 # 把 AP 纳入这个组
 ap ap1f-01
 quit

# 保存
save force

(2)AC2(备)

# 进入系统视图
system-view

# 设备名
sysname WX2

interface Vlan-interface300
 ip address 172.16.30.3 255.255.255.0
 vrrp vrid 1 virtual-ip 172.16.30.10
 # 不配 priority,缺省 100 成为 Backup
 vrrp vrid 1 preempt-mode
 quit

# ---------- 第二步:双链路备份(备机上指向主 AC) ----------
wlan ap-group ap-group-office
 # 备机上的组优先级保持缺省即可(低于主机的 7)
 backup-ac ip 172.16.30.2
 wlan tunnel-preempt enable
 ap ap1f-01
 quit

save force

✅ 已核实(H3C 官方配置举例原文):以上写法来自 H3C《无线控制器双链路备份和 AP license 共享典型配置举例》,原文即:

[AC1] wlan ap-group group1
[AC1-wlan-ap-group-group1] priority 7
[AC1-wlan-ap-group-group1] backup-ac ip 10.1.1.2
[AC1-wlan-ap-group-group1] wlan tunnel-preempt enable
[AC1-wlan-ap-group-group1] ap ap1

出处:https://www.h3c.com/cn/d_202304/1831792_30005_0.htm

三个要点:

  1. backup-ac ip <地址> 配在 AP 组视图(wlan ap-group <组名>),不是单台 AP 视图——这样整组 AP 批量生效。
  2. priority 决定谁是主:主机配高值(原文 7),备机"保持缺省配置即可"。
  3. wlan tunnel-preempt enable 是回切开关:不开,主 AC 恢复后 AP 不会自动切回来。

官方还给了切换时长参考:模拟主 AC 故障后,“等待一段时间(根据 CAPWAP 隧道保活时间而定,默认为 30 秒,集中转发模式时,期间流量会中断),AP 会切换至 AC 2 上线”。这就是为什么 H3C 双链路备份的切换体感明显慢于华为 VRRP+HSB——半分钟的量级。

23.3.3 逐行讲解

命令 作用 为什么这么填 / 新手常填错的地方
vrrp vrid 1 virtual-ip 172.16.30.10 虚拟 IP 两台必须一致
vrrp vrid 1 priority 120 优先级 只在主 AC 上配;配了却忘开抢占会导致切换后不回切
backup-ac ip 172.16.30.3 备份 AC 地址 填备 AC 的真实地址,不是 VIP
save force 保存 H3C 的 save force 免交互,批量配置后直接保存

23.3.4 H3C 双机热备的另一条路:IRF 堆叠

除了 VRRP + 备份 AC,H3C 还有一个很常用的形态:把两台 WX 用 IRF(智能弹性架构)堆叠成一台逻辑设备。

   两台物理 WX 堆叠:
   [WX1 Master] ── IRF 链路 ── [WX2 Standby]
        │                           │
        └──── 对外表现为"一台 AC" ────┘
对比项 VRRP + 备份 AC IRF 堆叠
对外表现为 两台设备 + 一个 VIP 一台逻辑设备
配置管理 两台都要配、要保证一致 只配一次(配置同步到两台)
AP 归属 需要 AP 知道备份 AC AP 只见一台 AC,切换对它透明
故障域 心跳/VRRP 分离 IRF 链路故障有双主风险,需配 MAD 检测
适用规模 中小 中小到大型都可用

IRF 的最大好处是"配置只配一遍",省掉了 22.2.6 里那个烦人的"配置一致性"问题。代价是引入了堆叠链路本身的可靠性要求(必须配 MAD 多活跃检测,防止脑裂)。

⚠ 版本差异:IRF 的配置命令(irf member、irf-port、irf-port-configuration active、mad detect mode 等)属于 Comware 通用命令,与交换机堆叠一致,请对照本机手册。IRF 是另一个较大的话题,本章只讲它作为 AC 高可用的一种选项,不展开完整配置。

23.3.5 H3C 上也别忘了"配置一致性"

如果采用 VRRP + 备份 AC 方案,H3C 同样面临 22.2.6 提到的问题:两台 WX 的 WLAN 配置必须人工保证一致。

H3C 的一个便利是 display wlan ap all running-configuration verbose 可以导出某台 AP 的完整生效配置,可以用来对比两台 AC 下发给同一台 AP 的配置是否一致——这比对比整机配置更聚焦,因为 WLAN 相关才是关键。

23.4 华为 / H3C 命令对照表

功能 华为(VRP) H3C(Comware V7) 差异说明
VRRP 虚拟 IP vrrp vrid 1 virtual-ip X vrrp vrid 1 virtual-ip X 相同
VRRP 优先级 vrrp vrid 1 priority 120 vrrp vrid 1 priority 120 相同
VRRP 抢占 vrrp vrid 1 preempt-mode vrrp vrid 1 preempt-mode 相同
状态同步通道 hsb-service 0 + service-ip-port ... 无 HSB,靠备份 AC 重新上线 华为有会话热备,H3C 主备更"粗粒度"
业务绑定 HSB hsb-service-type ap hsb-service 0 无 HSB 对应 华为独有
AP 指定备份 AC 各版本命令不同(待核实) backup-ac ip X(待核实) 两家都需核实
查 VRRP display vrrp display vrrp 相同
查 HSB display hsb-service 0 无 华为独有
保存 save save force H3C 免交互

23.5 配置验证

23.5.1 验证 VRRP 角色

在 AC1 上:

# 查看 VRRP 状态
display vrrp
VRID: 1    Virtual IP: 172.16.30.10
  State: Master
  Priority: 120
  PreemptMode: YES
  Local IP: 172.16.30.2

在 AC2 上:

VRID: 1    Virtual IP: 172.16.30.10
  State: Backup
  Priority: 100
  Local IP: 172.16.30.3

正常状态:一台 Master、一台 Backup,两台优先级一高一低。 如果两台都是 Master,说明心跳断了,两台都以为自己该干活——这叫"双主",是 VRRP 最危险的状态(后果见 22.6)。

23.5.2 验证 HSB 状态(华为)

先看 HSB 主备服务是否已建立:

# 查看 HSB 主备服务信息
display hsb-service 0

重点看主备通道是否已建立、本地/对端地址与端口是否与规划一致。通道没建立起来(显示未连接或地址不符),后面的业务同步无从谈起。

再查双链路备份与优选/备选 AC 的配置是否真的生效了:

# 查看双链路备份信息
display ac protect
# 查看 AP 系统模板里的优选/备选 AC 配置
display ap-system-profile all

display ac protect 能看到每台 AP 当前用的是主链路还是备链路;display ap-system-profile all 能确认 primary-access / backup-access 两个地址都配上了、且没有和 priority/protect-ac 冲突。

23.5.3 验证 AP 的主备归属

AP 当前挂在主 AC 还是备 AC,决定了切换时的表现。华为侧用下面的命令查看:

# 华为:看 AP 当前的主备状态
display ap all

H3C 的 display wlan ap all 输出里,State 列直接带主备标记,这是 H3C 比华为更直观的地方:

# H3C:看 AP 状态,State 列的 M/B 就是主备归属
display wlan ap all
     State :  I = Idle,      J = Join,       JA = JoinAck,   IL = ImageLoad
              C = Config,    DC = DataCheck,  R  = Run,   M  = Master,   B  = Backup

AP name                        APID  State Model           Serial ID
ap1                            1     R/M   WA6320          219801A28N819CE0002T

怎么读这个 R/M:

值 含义
R/M Run + Master——AP 已上线,且由**本机(主 AC)**管理
R/B Run + Backup——AP 已上线,但走的是备份隧道(备用 AC 侧看就是这个)

验证双链路备份是否成功,标准动作是"两台 AC 各看一眼":

   在 AC1(主)执行 display wlan ap all  →  期望看到 R/M
   在 AC2(备)执行 display wlan ap all  →  期望看到 R/B

两边对得上,才说明双链路备份真正建立起来了。如果备 AC 上压根看不到这台 AP,说明 backup-ac ip 没配对或隧道没建起来——这正是最常见的"以为配了高可用,其实只有单机"。

再补一条查 AC 间热备份状态的命令:

# H3C:看 AC 间连接状态
display hot-backup state

✅ 已核实(H3C 官方原文):R/M、R/B 的含义与"在 AC1 看 R/M、在 AC2 看 R/B"的验证方法,均来自 H3C 官方配置举例原文(“通过 display wlan ap all 命令在 AC 1 查看 AP 的状态为 R/M……在 AC 2 查看 AP 的状态为 R/B”)。出处:https://www.h3c.com/cn/d_202304/1831792_30005_0.htm

23.5.4 切换测试:不打这一枪,你永远不知道能不能用

高可用最关键的验证不是"看配置",而是"真的一次切换"。 一套没做过切换测试的高可用,等于没有高可用。

测试前的准备:

   ① 通知用户(选在业务低谷,如晚上或周末)
   ② 确认两台 AC 配置一致
   ③ 准备一台终端持续 ping 网关 192.168.10.1
   ④ 准备一台终端持续 ping 互联网(看是否断)
   ⑤ 记录切换前 AP 的归属(display wlan ap all)

测试步骤(以华为为例):

步 动作 期望结果 记录
1 终端持续 ping 网关与互联网 全通 基线
2 在 AC1 上 shutdown 掉 Vlanif300 VRRP 切到 AC2 记录切换时刻
3 观察 AP 状态 AP 保持 Normal/Run(HSB 正常) 记录是否掉线
4 观察终端 ping 丢包 ≤ 3 个为优秀;≤ 10 个可接受 记录丢包数
5 在 AC2 上 display wlan ap name ap1f-01 verbose Backup type : Backup 确认归属
6 恢复 AC1 的 Vlanif300(undo shutdown) VRRP 抢占,AC1 重新 Master 记录回切时刻
7 观察 AP 与终端 再次验证是否无感 记录
8 断网线(真的拔掉 AC1 上行)重复 2~7 与 shutdown 相同的表现 更贴近真实故障

判据表(你可以拿这张表向客户证明"高可用是有效的"):

指标 优秀 可接受 不可接受
切换耗时 < 3 秒 3~10 秒 > 10 秒
终端 ping 丢包 ≤ 3 4~10 > 10
AP 是否需重新上线 不需要 部分重连 全部重连
终端是否需重新认证 不需要 少量 全部

“全部重连/全部重新认证"是可接受的底线之外——它意味着 HSB 没生效,用户会明显感知"网络断了一分多钟”。

23.5.5 切换测试要"记录成文档"

做完切换测试之后,一定要把过程和结果写下来存档。原因很实际:

  • 一年后有人说"我们高可用是好的",你可以拿这份文档证明"上次切换耗时 2.8 秒、丢包 0"。
  • 下次有人改了两台 AC 的配置,你可以对照测试基线判断"这次改动是否影响切换"。
  • 事故复盘时,测试记录是判断"高可用设计是否达标"的依据。

推荐的记录模板:

   ============================================================
   AC 高可用切换测试记录
   测试日期:______    测试人:______    版本:______
   ------------------------------------------------------------
   设备:主 AC ______(地址 ______)  备 AC ______(地址 ______)
   VIP:______   心跳:VLAN ____ / 端口 ____
   ------------------------------------------------------------
   测试项                     耗时        丢包      结论
   ------------------------------------------------------------
   1. shutdown 主 AC 上行      ___ 秒     ___ 个
   2. 断开主 AC 电源           ___ 秒     ___ 个
   3. 拔掉心跳线               ___ 秒     ___ 个
   4. 恢复主 AC(是否回切)    ___ 秒     ___ 个
   ------------------------------------------------------------
   AP 是否重连:□ 否  □ 部分  □ 全部
   终端是否重认证:□ 否 □ 部分 □ 全部
   ------------------------------------------------------------
   结论:□ 优秀(<3s,丢包≤3)  □ 可接受(3~10s)
         □ 不可接受(>10s)
   ============================================================

“拔掉心跳线"这一项特别值得单独测,因为它直接关系到"双主"风险:心跳一断,两台会不会同时抢 VIP?正常情况下应该是一台 Master 一台 Backup(或者至少有一台能检测到对端离线)。如果拔心跳线后立刻变成双主,说明 VRRP 配置有问题,需要检查是否有额外的心跳保活机制。

23.5.6 监控:别等高可用失效了才知道

高可用是"配了就不管"的东西吗?不是。最危险的状态不是"主 AC 挂了”,而是"高可用早就坏了但没人知道",等主 AC 真挂了才发现备 AC 也是坏的。

巡检监控清单:

监控项 检查方式 频率
VRRP 角色 一台 Master、一台 Backup 每周/自动
HSB 同步状态 Synchronization: Normal 每周/自动
两台 AC 配置一致性 导出对比 每次变更后 + 每月
备 AC 的 AP 数量 应为 0(主备模式)或符合负载分担预期 每周
RADIUS 服务器可达 AC 上 ping 每周
AC 温度/电源/风扇 设备告警 自动(SNMP)

最好的方式是把这些做成网管系统的巡检项,自动报警,而不是靠人记得去查。

23.6 排错与故障树

症状 可能原因 排查命令 定位方法
两台 AC 都是 Master 心跳链路断开、VRRP 报文被过滤 display vrrp 检查两台之间的三层互通;检查是否有 ACL 阻断 VRRP(组播 224.0.0.18)
两台 AC 都是 Backup 优先级都低于对方或都没配 display vrrp 至少一台要配更高优先级
切换后 AP 全部重连 HSB 未生效 / 只配了 VRRP display hsb-service 0 看主备通道是否建立、是否正常收发
切换后 AP 找不到 AC AP 的 CAPWAP 源接口用了主 AC 真实地址 display capwap config 源接口应指向 VIP
切换后终端全部重认证 802.1X 状态未同步 / RADIUS 会话丢失 看 RADIUS 服务器日志 部分模式下 RADIUS 会话不会同步,属已知限制
主机恢复后不回切 未配 preempt-mode display vrrp 补配抢占
切换后配置不一致 两台 AC 配置不同步 对比 display current-configuration 高可用不自动同步配置文件,需人工保证一致
HSB 同步异常 数据端口不通 / 对端 IP 写反 / 密钥不一致 display hsb-service 0 检查 local-ip/peer-ip 是否在两台 AC 上互为反写;若配了 key 必须两端一致

23.6.1 双主故障的完整处置流程

双主(VRRP 脑裂)是 AC 高可用里最严重的故障,处置有标准流程,千万不要两边同时乱改。

(1)先判断是不是双主

在两台 AC 上分别执行:

# 在两台 AC 上分别查看
display vrrp

如果两台都显示 State: Master,就是双主。

(2)立刻止血

双主时两台都在响应 VIP、都在给 AP 下发配置,AP 的行为可能随机变化。止血优先于找根因:

# 在主 AC 上临时关闭 VRRP(或 shutdown 接口),让它退出竞争
interface Vlanif300
 undo vrrp vrid 1
 quit

等到确认只剩一台 Master 之后,再慢慢查根因。“稳住了再查"永远比"边查边乱"好。

(3)查根因

检查项 命令 判断
两台之间三层是否通 ping 对端管理地址 不通就是网络问题
VRRP 报文是否被过滤 检查 ACL 有没有规则阻断 224.0.0.18 或协议号 112
心跳接口是否 Down display interface brief 接口 Down 会立即导致双主
优先级是否错误 display vrrp 两台优先级相同且都配抢占可能互相抢

(4)恢复验证

修好之后,按 22.5.4 的切换测试流程重新做一遍,并重点验证"拔心跳线"不再产生双主。

23.7 新手踩坑与注意事项

  1. 以为配了 VRRP 就有高可用——症状:切了以后全网 AP 重连。避开:VRRP 只解决"地址不变”,业务无感要靠 HSB 或备份 AC。
  2. 两台 AC 的 hsb-service 里 local/peer 没反过来写——症状:HSB 一直建不起来。避开:AC1 上 local 是 AC1、peer 是 AC2;AC2 上反过来。
  3. VRRP 优先级两台都不配——症状:两台都是 100,可能出现双主或者随机行为。避开:主机显式配高优先级。
  4. 忘记配抢占——症状:主机恢复后不自动抢回主。避开:配 preempt-mode,或在运维手册里写明"需要人工回切"。
  5. 两台 AC 的 WLAN 配置不一致——症状:切换后 SSID 变了、密码不对、AP 组会话异常。避开:主 AC 配好后,把业务配置完整复制到备 AC。
  6. 心跳链路和业务流量共用一条路——症状:业务高峰时 HSB 同步延迟大甚至中断。避开:心跳走独立 VLAN 或直连链路。
  7. CAPWAP 源接口用了主 AC 的真实地址——症状:切换后 AP 找不到 AC。避开:源接口、Option 43 全部指向 VIP。
  8. 从不做切换测试——症状:真出事时才发现高可用是坏的。避开:交付前必须做一次完整切换测试并留记录。
  9. 双主状态下没发现——症状:两台 AC 都在发配置,AP 行为混乱。避开:巡检项里加"定期查 VRRP 是否一台 Master 一台 Backup"。
  10. 把 HSB 当成"配置同步"——症状:以为配了一台另一台就自动一样。避开:HSB 同步的是运行状态,不是配置文件;配置文件必须人工保证一致。

23.8 本章小结

23.8.1 要点清单

  • AC 高可用包含两件事:AC 设备高可用(VRRP 保证地址不变)+ 无线业务高可用(HSB 同步状态)。
  • VRRP 是"两人共用一个电话号":VIP 不会变,AP/终端只认 VIP。
  • HSB 是"副店长一直在看账本":AP 隧道状态、终端关联状态都实时同步给备机。
  • AP 双链路备份让 AP 知道主挂了去找谁。
  • 两台 AC 的业务配置必须一致,HSB 不负责同步配置文件。
  • 切换测试是唯一能证明高可用有效的方法:优秀标准是切换 < 3 秒、丢包 ≤ 3、AP 不重连、终端不重认证。
  • 双主是最危险的故障状态,要靠巡检及早发现。

23.8.2 自测题

  1. VRRP 和 HSB 各解决什么问题?只配 VRRP 会有什么后果?
  2. 为什么 AP 的 CAPWAP 源接口必须指向 VIP 而不是主 AC 的真实地址?
  3. 两台 AC 都显示 State: Master,这是什么状态?危险在哪?
  4. 切换测试的优秀标准是什么(切换耗时、丢包、AP 与终端状态)?
  5. HSB 会同步两台 AC 的配置文件吗?
  1. VRRP 解决"AC 的对外地址在切换时保持不变"(AP 和终端看到的地址不变);HSB 解决"无线业务状态在切换时不丢失"(AP 隧道、终端关联、授权信息同步给备机)。只配 VRRP 的后果是:地址确实不变,但备 AC 没有业务状态,AP 必须重新 CAPWAP 上线、终端必须重新关联认证,用户会感知数秒到数十秒的断网。
  2. 因为主备切换时主 AC 的真实地址可能不可达或角色变化,若 AP 用主 AC 真实地址做 CAPWAP 源,切换后就找不到 AC 了。VIP 由 VRRP 保证始终可用,所以必须指向 VIP。
  3. 这是 “双主”(脑裂) 状态,说明两台 AC 之间的 VRRP 心跳断了,各自都以为自己该当 Master。危险在于两台会同时下发配置、同时响应请求,导致 AP 归属混乱、配置冲突,是 VRRP 组网里最严重的故障。
  4. 切换耗时 < 3 秒、终端 ping 丢包 ≤ 3 个、AP 不需要重新上线(保持 Normal/Run)、终端不需要重新认证。
  5. 不会。 HSB 同步的是运行状态(AP/终端连接状态等),不是配置文件。两台 AC 的配置文件必须人工保证一致(或在变更时同步到两边)。

关于本书:《华为 / H3C 网络设备典型功能配置详解》—— 面向国内高校/企业网络环境, 华为 VRP 与 H3C Comware 双厂商并排配置的实操教材,共 43 章。 全书所有命令尽量有官方出处,查不到的显式标注「待核实」。 返回系列目录