华为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
三个要点:
backup-ac ip <地址>配在 AP 组视图(wlan ap-group <组名>),不是单台 AP 视图——这样整组 AP 批量生效。priority决定谁是主:主机配高值(原文 7),备机"保持缺省配置即可"。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 新手踩坑与注意事项
- 以为配了 VRRP 就有高可用——症状:切了以后全网 AP 重连。避开:VRRP 只解决"地址不变”,业务无感要靠 HSB 或备份 AC。
- 两台 AC 的
hsb-service里 local/peer 没反过来写——症状:HSB 一直建不起来。避开:AC1 上 local 是 AC1、peer 是 AC2;AC2 上反过来。 - VRRP 优先级两台都不配——症状:两台都是 100,可能出现双主或者随机行为。避开:主机显式配高优先级。
- 忘记配抢占——症状:主机恢复后不自动抢回主。避开:配
preempt-mode,或在运维手册里写明"需要人工回切"。 - 两台 AC 的 WLAN 配置不一致——症状:切换后 SSID 变了、密码不对、AP 组会话异常。避开:主 AC 配好后,把业务配置完整复制到备 AC。
- 心跳链路和业务流量共用一条路——症状:业务高峰时 HSB 同步延迟大甚至中断。避开:心跳走独立 VLAN 或直连链路。
- CAPWAP 源接口用了主 AC 的真实地址——症状:切换后 AP 找不到 AC。避开:源接口、Option 43 全部指向 VIP。
- 从不做切换测试——症状:真出事时才发现高可用是坏的。避开:交付前必须做一次完整切换测试并留记录。
- 双主状态下没发现——症状:两台 AC 都在发配置,AP 行为混乱。避开:巡检项里加"定期查 VRRP 是否一台 Master 一台 Backup"。
- 把 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 自测题
- VRRP 和 HSB 各解决什么问题?只配 VRRP 会有什么后果?
- 为什么 AP 的 CAPWAP 源接口必须指向 VIP 而不是主 AC 的真实地址?
- 两台 AC 都显示
State: Master,这是什么状态?危险在哪? - 切换测试的优秀标准是什么(切换耗时、丢包、AP 与终端状态)?
- HSB 会同步两台 AC 的配置文件吗?
- VRRP 解决"AC 的对外地址在切换时保持不变"(AP 和终端看到的地址不变);HSB 解决"无线业务状态在切换时不丢失"(AP 隧道、终端关联、授权信息同步给备机)。只配 VRRP 的后果是:地址确实不变,但备 AC 没有业务状态,AP 必须重新 CAPWAP 上线、终端必须重新关联认证,用户会感知数秒到数十秒的断网。
- 因为主备切换时主 AC 的真实地址可能不可达或角色变化,若 AP 用主 AC 真实地址做 CAPWAP 源,切换后就找不到 AC 了。VIP 由 VRRP 保证始终可用,所以必须指向 VIP。
- 这是 “双主”(脑裂) 状态,说明两台 AC 之间的 VRRP 心跳断了,各自都以为自己该当 Master。危险在于两台会同时下发配置、同时响应请求,导致 AP 归属混乱、配置冲突,是 VRRP 组网里最严重的故障。
- 切换耗时 < 3 秒、终端 ping 丢包 ≤ 3 个、AP 不需要重新上线(保持 Normal/Run)、终端不需要重新认证。
- 不会。 HSB 同步的是运行状态(AP/终端连接状态等),不是配置文件。两台 AC 的配置文件必须人工保证一致(或在变更时同步到两边)。
关于本书:《华为 / H3C 网络设备典型功能配置详解》—— 面向国内高校/企业网络环境, 华为 VRP 与 H3C Comware 双厂商并排配置的实操教材,共 43 章。 全书所有命令尽量有官方出处,查不到的显式标注「待核实」。 返回系列目录
本人保留对侵权者及其全家发动因果律武器的权利
版权提醒
如无特殊申明,本站所有文章均是本人原创。转载请务必附上原文链接:https://www.elliot98.top/post/huawei-h3c-book/23/。
如有其它需要,请邮件联系!版权所有,违者必究!