简介
本文档介绍如何在Catalyst 9800 WLC上以RP+RMI方式配置高可用性状态切换(SSO)。
先决条件
要求
思科建议您了解
- Catalyst无线9800配置型号。
- HA SSO指南中介绍的高可用性概念。
使用的组件
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
虽然HA SSO配置仅需要其中的3个,但此处的4个IP地址来自与无线管理接口(WMI)相同的网络,用于简化对控制器GUI的访问。
背景信息
无线控制器上的高可用性SSO功能允许接入点与主用无线控制器和主用无线控制器建立CAPWAP隧道,以便与备用无线控制器共享AP和客户端数据库的镜像副本。发生切换时(即主用控制器发生故障,因此由备用控制器控制),加入的AP不会进入发现状态,客户端也不会断开连接。在AP和处于活动状态的无线控制器之间,一次仅维护一个CAPWAP隧道。
两个单元通过专用RP端口(或VM的虚拟接口)形成对等连接,并且两个控制器在管理接口上共享相同的IP地址。RP接口用于在运行时同步批量配置和增量配置,并确保HA对的两个控制器的运行状态。此外,当使用RMI + RP时,备用和主用控制器都有一个冗余管理接口(RMI),为其分配了IP地址,即用于确保网关的可达性。处于运行状态的接入点的CAPWAP状态也从主用无线控制器同步到热备用无线控制器,这样在主用无线控制器发生故障时接入点可以进行状态完全切换。当主用无线控制器发生故障时,AP不会进入“发现”状态,备用无线控制器会接管主用无线控制器的角色,为网络提供服务。
配置
网络图
注意:橙色突出显示了指定为WLC2的9800-CL控制器的虚拟接口GigabitEthernet 2的临时IP地址。此IP地址被临时定义为WLC2的WMI,并允许访问此实例的GUI以简化HA SSO配置。配置HA SSO后,由于只有一个WMI用于HA SSO控制器对,因此释放此地址。
配置
在本示例中,高可用性(HA)状态切换(SSO)配置在运行相同Cisco IOS软件版本的两个9800-CL实例之间,这些实例已配置有独立的WMI,且可在以下位置访问GUI:
- 第一个地址为IP地址10.48.39.130,称为WLC1;
- 第二个地址为IP地址10.48.39.133,称为WLC2。
除了这些IP地址外,还使用同一子网(和VLAN)中的另外2个地址,即10.48.39.131和10.48.39.132.这些是分别用于机箱1(WLC1)和机箱2(WLC2)的冗余管理接口(RMI)IP地址。
注意:一旦在两个控制器之间配置了HA,10.48.39.133将被释放,10.48.39.130将成为我配置的唯一WMI。因此,在配置后,只使用了3个IP地址,即WMI和RMI中的一个。
两台设备在启动HA配置之前的接口配置必须与本示例中提供的接口配置类似。
WLC1#show running-config | s interface
interface GigabitEthernet1
shutdown
negotiation auto
no mop enabled
no mop sysid
interface GigabitEthernet2
switchport trunk allowed vlan 39
switchport mode trunk
negotiation auto
no mop enabled
no mop sysid
interface GigabitEthernet3
negotiation auto
no mop enabled
no mop sysid
interface Vlan1
no ip address
shutdown
no mop enabled
no mop sysid
interface Vlan39
ip address 10.48.39.130 255.255.255.0
no mop enabled
no mop sysid
wireless management interface Vlan39
WLC2#show running-config | s interface
interface GigabitEthernet1
shutdown
negotiation auto
no mop enabled
no mop sysid
interface GigabitEthernet2
switchport trunk allowed vlan 39
switchport mode trunk
negotiation auto
no mop enabled
no mop sysid
interface GigabitEthernet3
negotiation auto
no mop enabled
no mop sysid
interface Vlan1
no ip address
shutdown
no mop enabled
no mop sysid
interface Vlan39
ip address 10.48.39.133 255.255.255.0
no mop enabled
no mop sysid
wireless management interface Vlan39
在本示例中,WLC1指定为主控制器(即机箱1),而WLC2指定为辅助控制器(即机箱2)。这意味着两个控制器的HA对使用WLC1的配置,并且WLC2中的一个在进程后丢失。
步骤1.(可选)备份控制器的启动配置和运行配置文件。
错误处理可能会发生并导致配置丢失。为避免这种情况,强烈建议从HA配置中使用的两个控制器备份启动配置和运行配置。这可以通过9800 GUI或CLI轻松完成。
从 GUI:
从9800 GUI的Administration → Management → Backup & Restore选项卡(请参阅屏幕截图),可以下载控制器当前使用的启动和运行配置。
在本例中,启动(左侧)和配置(右侧)都通过HTTP直接下载到承载浏览器以访问WLC GUI的设备上。使用Transfer Mode字段,可以轻松调整要备份的文件的传输模式和目标。
在CLI中:
WLCx#copy running-config tftp://
/run-backup_x.cfg Address or name of remote host [
]? Destination filename [run-backup_x.cfg]? !! 19826 bytes copied in 1.585 secs (12509 bytes/sec) WLCx#copy startup-config tftp://
/start-backup_x.cfg Address or name of remote host [
]? Destination filename [start-backup_x.cfg]? !! 20482 bytes copied in 0.084 secs (243833 bytes/sec)
使用将
启动/运行配置文件复制到的TFTP服务器IP替换。
步骤2.(可选)确保网络连接。
从两个WLC GUI或CLI,您可以执行简单的连接测试,即从两个设备ping网关和ping它们之间的设备.这可确保两个控制器都具有配置HA所需的连接。
从 GUI:
如图所示,9800 GUI的故障排除选项卡中的Ping和Traceroute工具可用于测试控制器自身之间以及每个WLC与其网络网关之间的连接。
在CLI中:
WLCx#ping 10.48.39.133
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.48.39.133, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
WLCx#ping 10.48.39.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.48.39.254, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
第三步:使用RMI + RP配对类型配置冗余。
在确保每个设备之间的连接的情况下,可以在控制器之间配置冗余。此屏幕截图显示如何从9800 GUI的Administration→ Device页的Redundancy选项卡进行配置。
警告:在本示例中,WLC1已被指定为主控制器,这意味着这是其配置被复制到另一个控制器的控制器。确保应用正确的机箱优先级/重新编号,以便对HA对使用正确的配置,而不会丢失任何部分。
我们来了解一下配置的字段及其用途
- 冗余配置:必须启用此配置才能在WLC之间使用冗余。
- 冗余配对类型:由于本指南涵盖使用RMI配置的HA SSO,因此配置的配对类型必须是RMI + RP,同时使用冗余管理接口和冗余端口。您还可以选择仅使用冗余端口配置冗余。但是,如果选择RP only,则不检查网关的可达性,只有冗余WLC状态是
- 机箱1/2的RMI IP:这些字段将提供的IP地址分配给两个实例的指定冗余接口。在本示例中,机箱1和机箱2的RMI IP已分别配置为10.48.39.131和10.48.39.132,如前所述,如网络图所示。
- HA接口:使用虚拟设备时,虚拟机监控程序的虚拟网络接口卡(vNIC)与虚拟机的网络接口之间的映射可以采用不同方式进行配置。因此,用于冗余的接口可配置用于Cisco Catalyst 9800-CL。在此,已按照9800-CL部署指南的建议使用GigabitEthernet 3。
注:使用物理C9800设备时,HA和RP中使用的接口是默认接口,不可配置。实际上,硬件9800 WLC有一个与网络接口分离的专用冗余接口。
-
管理网关故障切换:如HA SSO配置指南中所述,此冗余方法通过定期向网关发送互联网控制消息协议(ICMP)ping来实施默认网关检查。主用和备用控制器都使用RMI IP作为这些检查的源IP。 这些消息以1秒的间隔发送。
-
Gateway Failure Interval:这表示在网关声明为不可达之前,网关检查必须连续失败的时间长度。默认情况下,配置为8秒。由于网关检查每秒发送一次,因此这意味着在到达网关时连续发生8次失败。
-
本地/远程IP: 这些是为机箱1和2配置的RP IP。这些IP地址自动生成为169.254.x.x,其中x.x从管理接口的最后两个二进制八位数派生。
-
保持连接计时器:如HA SSO配置指南中详细介绍的,主用和备用机箱相互发送保持连接消息,以确保两者仍然可用。keep alive timer是每个机箱之间发送2个keepalive消息的时间间隔。默认情况下,每100毫秒发送一次keep-alive消息。通常建议使用9800-CL增加此值,以避免在虚拟机基础设施引入小延迟(快照等……等)时发生滥用切换
-
Keep Alive Retries:此字段配置对等体保持连接重试值,然后它声明对等体已关闭。如果同时使用了保持连接计时器和重试默认值,则如果以100毫秒时间间隔发送的5条保持连接消息未获应答(即如果冗余链路中断了500毫秒),则声明对等体已关闭。
-
机箱重新编号:设备必须使用的机箱编号(1或2)。
-
活动机箱优先级:用于定义HA对必须使用哪些配置的优先级。具有最高优先级的设备是复制到另一个的设备。因此具有最低优先级的机箱的配置会丢失。
完成这些配置后,请使用Apply按钮将配置应用到控制器。
从CLI
首先,在虚拟接口中配置一个辅助IP地址,用于在两台设备上配置RMI。
WLC1#configure terminal
WLC1(config)#interface vlan 39
WLC1(config-if)# ip address 10.48.39.131 255.255.255.0 secondary
WLC1(config-if)# end
WLC2#configure terminal
WLC2(config)#interface vlan 39
WLC2(config-if)# ip address 10.48.39.132 255.255.255.0 secondary
WLC2(config-if)# end
然后,在两台设备上启用冗余
WLC1#configure terminal
WLC1(config)#redundancy
WLC1(config-red)#mode sso
WLC1(config-red)#end
WLC2#configure terminal
WLC2(config)#redundancy
WLC2(config-red)#mode sso
WLC2(config-red)#end
配置机箱优先级,例如WLC1成为主控制器
WLC1#show chassis
Chassis/Stack Mac Address : 0001.0202.aabb - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP
-------------------------------------------------------------------------------------
*1 Active 0001.0202.aabb 1 V02 Ready 169.254.39.131
WLC1#chassis 1 priority 2
WLC1#show chassis
Chassis/Stack Mac Address : 0001.0202.aabb - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP
-------------------------------------------------------------------------------------
*1 Active 0001.0202.aabb 2 V02 Ready 169.254.39.131
对WLC2的机箱进行重新编号,使其成为辅助控制器
WLC2#show chassis
Chassis/Stack Mac Address : 0001.0202.aabb - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP
-------------------------------------------------------------------------------------
*1 Active 0001.0202.aabb 1 V02 Ready 169.254.39.132
WLC2#chassis 1 renumber 2
WLC2#show chassis
Chassis/Stack Mac Address : 0001.0202.aabb - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP
-------------------------------------------------------------------------------------
*2 Active 0001.0202.aabb 1 V02 Ready 169.254.39.132
最后,在两台设备上配置RMI
WLC1#chassis redundancy ha-interface GigabitEthernet 3
WLC1#configure terminal
WLC1(config)#redun-management interface Vlan39 chassis 1 address 10.48.39.131 chassis 2 address 10.48.39.132
WLC1(config)#end
WLC2#chassis redundancy ha-interface GigabitEthernet 3
WLC2#configure terminal
WLC2(config)#redun-management interface Vlan39 chassis 1 address 10.48.39.131 chassis 2 address 10.48.39.132
WLC2(config)#end
注:对于GUI配置,在虚拟Catalyst 9800上,必须在可用的接口之间选择控制器使用的接口。根据建议,此处使用GigabitEthernet3,并通过命令进行配chassis redundancy ha-interface GigabitEthernet 3
置。此命令不是运行配置的一部分,但可以在实例ROMMON环境变量中看到HA使用的接口。使用命令可以看到这些show romvar
信息。
第四步:重新加载控制器。
为了形成HA对并使配置生效,必须在保存第3步中进行的配置后同时重新加载两个控制器。
从GUI:
可以使用两个GUI的Administration Reload页面重新启动控制器,如本屏幕截图中所示。
从CLI:
WLCx#reload
Reload command is being issued on Active unit, this will reload the whole stack
Proceed with reload? [confirm]
验证
HA对的两个控制器相互发现并创建所需的HA对后,一个控制器(主要)能够从GUI或CLI监控两个机箱。
从GUI:
要从9800 GUI监控冗余配置,请从Monitoring > General > System页导航到Redundancy选项卡,如本屏幕截图所示。
从CLI:
WLC#show chassis rmi
Chassis/Stack Mac Address : 0050.568d.cdf4 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP RMI-IP
--------------------------------------------------------------------------------------------------------
*1 Active 0050.568d.cdf4 2 V02 Ready 169.254.39.131 10.48.39.131
2 Standby 0050.568d.2a93 1 V02 Ready 169.254.39.132 10.48.39.132
WLC#show redundancy
Redundant System Information :
------------------------------
Available system uptime = 22 minutes
Switchovers system experienced = 0
Standby failures = 0
Last switchover reason = none
Hardware Mode = Duplex
Configured Redundancy Mode = sso
Operating Redundancy Mode = sso
Maintenance Mode = Disabled
Communications = Up
Current Processor Information :
-------------------------------
Active Location = slot 1
Current Software state = ACTIVE
Uptime in current state = 22 minutes
Image Version = Cisco IOS Software [Cupertino], C9800-CL Software (C9800-CL-K9_IOSXE), Version 17.9.2, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
Compiled Wed 02-Nov-22 15:12 by mcpre
BOOT = bootflash:packages.conf,12;
CONFIG_FILE =
Configuration register = 0x102
Recovery mode = Not Applicable
Fast Switchover = Enabled
Initial Garp = Enabled
Peer Processor Information :
----------------------------
Standby Location = slot 2
Current Software state = STANDBY HOT
Uptime in current state = 20 minutes
Image Version = Cisco IOS Software [Cupertino], C9800-CL Software (C9800-CL-K9_IOSXE), Version 17.9.2, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
Compiled Wed 02-Nov-22 15:12 by mcpre
BOOT = bootflash:packages.conf,12;
CONFIG_FILE =
Configuration register = 0x102
故障排除
一站式反射
通常不show tech wireless
包含允许正确了解HA对的HA故障切换或其当前状态的命令。收集此命令,以便在单个操作中包含大多数与HA相关的命令:
WLC#show tech wireless redundancy
显示命令
对于冗余端口的状态,可以使用以下命令。
WLC#show chassis detail
Chassis/Stack Mac Address : 0050.568d.2a93 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP
-------------------------------------------------------------------------------------
1 Standby aaaa.aaaa.aaaa 2 V02 Ready 169.254.39.131
*2 Active bbbb.bbbb.bbbb 1 V02 Ready 169.254.39.132
Stack Port Status Neighbors
Chassis# Port 1 Port 2 Port 1 Port 2
--------------------------------------------------------
1 OK OK 2 2
2 OK OK 1 1
WLC#show chassis rmi
Chassis/Stack Mac Address : 0050.568d.2a93 - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP RMI-IP
--------------------------------------------------------------------------------------------------------
1 Standby aaaa.aaaa.aaaa 2 V02 Ready 169.254.39.131 10.48.39.131
*2 Active bbbb.bbbb.bbbb 1 V02 Ready 169.254.39.132 10.48.39.132
此命令显示机箱编号和冗余端口状态,作为第一步故障排除很有用。
要验证keepalive端口上的keepalive计数器,可以使用以下命令。
WLC#show platform software stack-mgr chassis active R0 sdp-counters
Stack Discovery Protocol (SDP) Counters
---------------------------------------
Message Tx Success Tx Fail Rx Success Rx Fail
------------------------------------------------------------------------------
Discovery 162054 2 28 0
Neighbor 23 3 12 0
Keepalive 189856 1665 187970 0
SEPPUKU 0 0 0 0
Standby Elect Req 2 0 0 0
Standby Elect Ack 0 0 2 0
Standby IOS State 0 0 4 0
Reload Req 0 0 0 0
Reload Ack 0 0 0 0
SESA Mesg 0 0 0 0
RTU Msg 0 0 0 0
Disc Timer Stop 1 0 2 0
---------------------------------------
WLC#show platform software stack-mgr chassis standby R0 sdp-counters
Stack Discovery Protocol (SDP) Counters
---------------------------------------
Message Tx Success Tx Fail Rx Success Rx Fail
------------------------------------------------------------------------------
Discovery 14 2 19 0
Neighbor 6 2 5 0
Keepalive 175905 0 176196 0
SEPPUKU 0 0 0 0
Standby Elect Req 0 0 1 0
Standby Elect Ack 1 0 0 0
Standby IOS State 2 0 0 0
Reload Req 0 0 0 0
Reload Ack 0 0 0 0
SESA Mesg 0 0 0 0
RTU Msg 0 0 0 0
Disc Timer Stop 1 0 0 0
---------------------------------------
WLC#show platform software stack-mgr chassis standby R0 peer-timeout
Peer Chassis Peer-timeout (ms) 50% Mark 75% Mark
--------------------------------------------------------------------------
2 500 0 0
其他命令
可以使用以下命令在控制器的冗余端口上捕获数据包
WLC#test wireless redundancy packetdump start
Redundancy Port PacketDump Start
Packet capture started on RP port.
WLC#test wireless redundancy packetdump stop
Redundancy Port PacketDump Stop
Packet capture stopped on RP port.
使用这些命令获得的捕获将保存bootflash:
在控制器的名称下,即名称haIntCaptureLo.pcap
下。
您还可以使用此命令在冗余端口上运行保持连接测试。
WLC#test wireless redundancy rping
Redundancy Port ping
PING 169.254.39.131 (169.254.39.131) 56(84) bytes of data.
64 bytes from 169.254.39.131: icmp_seq=1 ttl=64 time=0.316 ms
64 bytes from 169.254.39.131: icmp_seq=2 ttl=64 time=0.324 ms
64 bytes from 169.254.39.131: icmp_seq=3 ttl=64 time=0.407 ms
--- 169.254.39.131 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2025ms
rtt min/avg/max/mdev = 0.316/0.349/0.407/0.041 ms
了解更多详情
要查看ROMMON变量配置(该配置向我们显示实际配置如何反映在变量上),可以使用此命令。
WLC#show romvar
ROMMON variables:
MCP_STARTUP_TRACEFLAGS = 00000000:00000000
SWITCH_NUMBER = 2
CONFIG_FILE =
BOOTLDR =
STACK_1_1 = 0_0
BOOT = bootflash:packages.conf,12;
LICENSE_SUITE =
CHASSIS_HA_IFNAME = GigabitEthernet3
CHASSIS_HA_IFMAC = 00:50:56:8D:2A:93
SWITCH_PRIORITY = 1
RMI_INTERFACE_NAME = Vlan39
RMI_CHASSIS_LOCAL_IP = 10.48.39.132
RMI_CHASSIS_REMOTE_IP = 10.48.39.131
CHASSIS_HA_LOCAL_IP = 169.254.39.132
CHASSIS_HA_REMOTE_IP = 169.254.39.131
CHASSIS_HA_LOCAL_MASK = 255.255.255.0
RET_2_RTS =
LICENSE_BOOT_LEVEL = ,csr1000v:csr1000v;
BSI = 0
RET_2_RCALTS =
RANDOM_NUM = 193112462
此命令显示机箱的优先级,包括RMI和RP详细信息、对等体超时以及更多有用的详细信息。
我们还可以监控在WLC上运行HA SSO的进程,这两个进程是stack_mgr和rif_mgr。
为此,请使用命令收集到文本文件的永远在线跟踪,此处的时间参数可以调整以覆盖我们要进行故障排除的时间范围。
show logging process stack_mgr start last 30 minutes to-file bootflash:stack_mgr_logs.txt
show logging process rif_mgr start last 30 minutes to-file bootflash:rif_mgr_logs.txt
注:请注意,当控制器作为备用时,备用WLC的服务端口已停用且无法访问。
典型场景
用户强制
如果查看切换历史记录,您可以看到“用户强制”,当用户使用命令在控制器之间发起切换时,出现redundancy force-switchover
此现象。
WLC#show redundancy switchover history
Index Previous Current Switchover Switchover
active active reason time
----- -------- ------- ---------- ----------
1 1 2 user forced 11:38:23 Central Fri Mar 10 2023
已删除主用设备
如果您查看切换历史记录,可以看到“活动单元已移除”,这表示两个控制器之间的冗余端口上发生通信丢失。
WLC#show redundancy switchover history
Index Previous Current Switchover Switchover
active active reason time
----- -------- ------- ---------- ----------
2 2 1 active unit removed 11:55:36 Central Fri Mar 10 2023
如果两个控制器之间的链路断开,则可能会发生这种情况;但是如果一个WLC单元突然断开(电源故障)或崩溃,也可能会发生这种情况。监控两个WLC以了解它们是否具有指示意外崩溃/重新启动的系统报告,这一点很有趣。
活动丢失GW
如果您查看切换历史记录,可以看到“活动丢失GW”,这表示与RMI端口上的网关失去通信。
WLC#show redundancy switchover history
Index Previous Current Switchover Switchover
active active reason time
----- -------- ------- ---------- ----------
3 1 2 Active lost GW 12:00:26 Central Fri Mar 10 2023
如果活动控制器与其网关之间的链路断开,就会发生这种情况。
参考