简介
本文档介绍如何使用ISSU(服务中软件升级)方法在HA SSO中升级一对9800无线控制器。
要求
本文档包含操作步骤、限制、应采取的预防措施和升级说明。
Cisco 建议您了解以下主题:
- Catalyst 9800无线LAN控制器(WLC)
- 高可用性状态切换(HA SSO)
使用的组件
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。用于本文的所有设备从已清除的配置开始。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
ISSU工作原理
ISSU允许升级9800无线控制器,同时最大限度地减少停机时间。如果您拥有足够的覆盖范围,则升级是无缝的,并且无线客户端不得观察到任何停机时间。为此,ISSU具备一种机制,可一次升级一个控制器,并允许AP以交错方式升级。
以下是ISSU升级过程中不同步骤的简要概述:
- 目标映像(V2)下载到运行V1的主控制器并扩展为软件包。
- 然后通过RP连接将映像同步到热备份控制器。对于每种升级类型,该过程都相同
- 相应的AP映像(V2)预先下载到AP。预下载映像不会影响服务。
- 备用控制器重新加载并使用新映像(V2)加载。 此时,主用控制器运行V1,备用控制器运行V2,它们形成SSO对。这仅在ISSU升级期间才可能实现。
- 一旦HA对就绪(主用/备用热状态),就会执行切换。主用控制器现在运行V2,备用控制器运行V1。备用控制器重新加载并启动V2。在此阶段,两个控制器都在V2上,但AP仍运行V1。
- AP在激活步骤后需要将映像切换到V2,并以滚动的AP升级方式升级以最大限度地减少停机时间。这意味着每个周期会重新加载AP的子组,并且客户端可以连接到相邻AP。当AP重新加入时,它们会与V2重新加入。
- 最后一步是commit,使更改永久生效。

限制
在继续ISSU升级之前,您需要了解以下限制:
- 基本映像必须是Cisco IOS XE 17.3或更高版本
- ISSU仅在同一系列的主要版本之间可用。例如,不支持将16.x.x到17.x.x或17.x.x传输到下一个主系列
- Cisco Catalyst 9800系列无线控制器平台不支持ISSU降级
- ISSU升级仅支持安装模式下的控制器(不支持捆绑模式)
- issu升级所需的时间比标准升级所需的时间要长,因为在给定的时间内一个WLC自身在HA对中升级,然后以滚动升级方式升级AP以最大限度地减少停机时间。如果WAN链路后面的AP存在一定的延迟,则必须将AP映像下载时间降至最低,因为这样可以通过级联效应显着增加ISSU升级时间。了解有效的AP升级或HTTPS带外升级方法,以加快AP映像下载时间,并使ISSU总时间保持最小。
要求和验证
在使用ISSU继续升级9800无线控制器之前,需要做一些要求和验证,以确保控制器和接入点的顺利升级。
步骤 1:验证没有运行活动或未提交的版本
CLI命令:
show install summary
预期输出:
在“C”(激活和提交)状态中只能看到一个版本:
WLC#show install summary
[ Chassis 1/R0 2/R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG C 17.09.04a.0.6
步骤 2:验证控制器是否处于安装模式
确保主用和备用控制器均处于安装模式,并且从“bootflash:/packages.conf”启动(请参阅步骤3)。
CLI命令:
show version | i Installation mode
预期输出:
WLC#show version | i Installation mode
Installation mode is INSTALL
步骤 3:检查用于启动的文件("packages.conf")
如果控制器处于INSTALL模式,它必须从“packages.conf”文件启动。
CLI命令:
show boot
预期输出:
WLC#show boot
BOOT variable = bootflash:packages.conf,12;
CONFIG_FILE variable =
BOOTLDR variable does not exist
Configuration register is 0x102
Standby BOOT variable = bootflash:packages.conf,12;
Standby CONFIG_FILE variable =
Standby BOOTLDR variable does not exist
Standby Configuration register is 0x102
步骤 4:检查冗余状态
主用控制器必须处于ACTIVE状态,备用控制器必须处于STANDBY-HOT状态,这意味着通信处于UP状态,并且它们正在相互通信。
CLI命令:
show chassis rmi
show redundancy
预期输出:
WLC#show chassis rmi
Chassis/Stack Mac Address : 000c.29c4.caff - Local Mac Address
Mac persistency wait time: Indefinite
H/W Current
Chassis# Role Mac Address Priority Version State IP RMI-IP
--------------------------------------------------------------------------------------------------------
*1 Active 000c.29c4.caff 2 V02 Ready 169.254.10.9 198.19.10.9
2 Standby 000c.29d2.4018 1 V02 Ready 169.254.10.10 198.19.10.10
WLC#show redundancy
Redundant System Information :
------------------------------
...
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
...
Peer Processor Information :
----------------------------
Standby Location = slot 2
Current Software state = STANDBY HOT
...
步骤 5:检查bootflash中是否有足够的空间来存储新映像
*.bin映像大小约为1GB。在继续之前,请确保您在bootflash中有多个GB的可用空间。
CLI命令:
dir bootflash:/ | in free
预期输出:
WLC#dir bootflash:/ | in free
14785671168 bytes total (11446026240 bytes free)
步骤 6:检查是否没有其他升级正在进行
这是一个关键步骤,因为如果控制器在之前的升级中陷入停滞,则新的升级会失败。
CLI命令:
show issu state detail
预期输出:
WLC#show issu state detail
Current ISSU Status: Enabled
Previous ISSU Operation: N/A
=======================================================
System Check Status
-------------------------------------------------------
Platform ISSU Support Yes
Standby Online Yes
Autoboot Enabled Yes
SSO Mode Yes
Install Boot Yes
Valid Boot Media Yes
Operational Mode HA-REMOTE
=======================================================
No ISSU operation is in progress
升级 程序
通过所有检查后,我们现在可以继续升级无线控制器。您可以选择使用GUI或CLI升级控制器。这两种方法都有优点/缺点。CLI为您提供更大的控制权,因为您可以单独启动每个步骤,但这比通过GUI升级需要更多的工作。通过GUI升级控制器只需按一下按钮即可完成,所有步骤均自动完成。但是,如果在升级过程中发生故障,您需要进入CLI以重新启动发生故障的特定步骤。本指南仅显示CLI升级过程,因为GUI过程只需执行GUI指令即可完成。
ISSU CLI工作流程
本部分简要总结升级控制器时执行的命令。下面提供了每个命令和所有步骤的完整说明:
命令 |
描述 |
install add file <file> |
从CCO下载到bootflash的映像将加载到控制器并扩展为软件包 |
AP 映像预下载 |
与v2映像对应的AP映像预先下载到AP |
install activate issu [auto-abort-timer <30-1200>] |
ISSU协调一个WLC重新加载,然后另一个重新加载。激活触发器通过尽力保持客户端的连接以交错方式重置AP |
install commit(安装提交) |
commit使更改永久生效 |
完成程序
步骤 1:清除AP预下载统计信息
最好在升级之前清除这些统计信息,以便获得仅与当前升级相关的新输出。在开始升级之前,不得有任何预下载正在进行。
CLI命令:
clear ap predownload statistics
show ap image
预期输出:
WLC#show ap image
Total number of APs : 2
Number of APs
Initiated : 0
Downloading : 0
Predownloading : 0
...
Predownload in progress : No
步骤 2:删除以前的软件映像
如果bootflash中没有足够的空间,您可以始终考虑使用install remove inactive命令清理旧安装文件。
CLI命令:
install remove inactive
步骤 3:配置AP滚动升级百分比的值
您可以将此值设置为最大25%(最大值)。 请注意,如果您选择5%(最小值),每次迭代升级的AP会更少,且升级需要更长时间,但这也有助于减少全局停机时间。根据您的部署和无线接入点覆盖范围选择此值。
CLI命令:
conf t
ap upgrade staggered {5 | 15 | 25 | one-shot}
end
write memory
步骤 4:在控制器上下载.bin映像
Yon可以通过CLI或GUI上传此图像。通过GUI,当您启动升级过程时即可完成此操作。
CLI命令:
dir bootflash:*.bin
[OPTIONAL] copy ftp://:@/ bootflash:
步骤 5:安装镜像
此步骤将启动升级的第一阶段。控制器软件映像会添加到闪存并扩展为软件包。这必须花费几分钟的时间。完成安装添加过程后,请通过“show install summary”命令检查新映像是否显示为“Inactive”。
CLI命令:
install add file bootflash:
show install summary
预期输出:
WLC#show install summary
[ Chassis 1/R0 2/R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG C 17.09.04a.0.6
IMG I 17.12.02.0.2739
步骤 6:将映像预下载到AP
在激活映像之前,我们需要指示AP预下载当前处于非活动状态(V2)的映像。 如果未启动预下载,则ISSU升级会失败,因为这是最大限度地减少停机时间的必要步骤。此操作可能需要几分钟时间,具体取决于连接到控制器的AP数量和链路延迟。
CLI命令:
ap image predownload
show ap image
预期输出:
WLC#show ap image
Total number of APs : 2
Number of APs
Initiated : 0
Downloading : 0
Predownloading : 2
Completed downloading : 0
Completed predownloading : 0
Not Supported : 0
Failed to Predownload : 0
Predownload in progress : Yes
步骤 7:激活新映像
预下载完成后,您可以激活新映像。这是升级过程的最长步骤。它运行兼容性检查、安装软件包并更新软件包状态详细信息。或者,可以配置时间限制以取消添加新软件而不提交映像。有效值为30到1200分钟。默认值为360分钟(6小时)。 一旦您启动升级,整个ISSU流程就会发生:备用升级、切换,然后是新的备用升级,然后是AP交错升级。
CLI命令:
install activate issu [auto-abort-timer <30-1200 mins>]
预期输出:
WLC#install activate issu
install_activate: START Sun Jan 14 08:29:36 EST 2024
install_activate: Activating ISSU
NOTE: Going to start Activate ISSU install process
STAGE 0: System Level Sanity Check
===================================================
--- Verifying install_issu supported ---
--- Verifying standby is in Standby Hot state ---
--- Verifying booted from the valid media ---
--- Verifying AutoBoot mode is enabled ---
--- Verifying Platform specific ISSU admission criteria ---
--- Verifying Image ISSU Compatibility ---
Finished Initial System Level Sanity Check
STAGE 1: Installing software on Standby
===================================================
--- Starting install_remote ---
[2] install_remote package(s) on chassis 2/R0
WARNING: Found 1545 disjoint TDL objects.
[2] Finished install_remote on chassis 2/R0
install_remote: Passed on [2/R0]
Finished install_remote
STAGE 2: Restarting Standby
===================================================
--- Starting standby reload ---
Finished standby reload
--- Starting wait for Standby to reach terminal redundancy state ---
Finished wait for Standby to reach terminal redundancy state
STAGE 3: Installing software on Active
===================================================
--- Starting install_active ---
WARNING: Found 2969 disjoint TDL objects.
[1] install_active package(s) on chassis 1/R0
[1] Finished install_active on chassis 1/R0 install_active: Passed on [1/R0]
Finished install_active
STAGE 4: Restarting Active (switchover to standby)
===================================================
--- Starting active reload ---
New software will load after reboot process is completed
最好定期使用“show chassis rmi”和“show redundancy”命令监控升级的当前状态。这将显示控制器从HA对中移除后,以及恢复的时间,以及哪个版本。请注意,此过程大约需要20到30分钟。
升级完成后,您将看到映像处于活动状态,但“未提交”:
WLC#show install summary
[ Chassis 1/R0 2/R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG U 17.12.02.0.2739
--------------------------------------------------------------------------------
Auto abort timer: active , time before rollback - 05:23:37
--------------------------------------------------------------------------------
安装结束后,WLC将开始以交错方式重新加载AP。要监控AP交错升级,您可以使用GUI(在“软件升级”部分的“AP升级统计信息”下)或CLI命令“show ap uptime”,该命令将显示AP的CAPWAP正常运行时间。这可以指示已重新加载的AP。您还可以通过在控制器上使用“show logging”命令检查日志来检查AP升级是否已结束:
Jan 20 14:23:22.478: %UPGRADE-6-STAGGERED_UPGRADE_COMPLETE: Chassis 2 R0/0: wncmgrd: Staggered AP Upgrade completed succesfully
步骤 8::[可选]停止“自动中止”计时器
如果您需要比默认6小时更多的时间进行升级(当您有许多AP要升级并且希望确保在提交映像之前可以正常工作时),可以停止此计时器。这样,不会发生自动回滚。
CLI命令:
install auto-abort-timer stop
步骤 9:使新软件具有持久性
使用install commit命令提交激活更改,以便在重新加载过程中保持有效。这是正常升级过程的最后一步。install commit命令使软件在重新启动后保持永久性。
CLI命令:
install commit
预期输出:
WLC#show install summary
[ Chassis 1/R0 2/R0 ] Installed Package(s) Information:
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG C 17.12.02.0.2739
一旦提交版本,AP在新版本上重新加载,ISSU升级即完成。
其他操作
您可以找到在ISSU升级期间或之后可能需要执行的一些其他操作,例如中止升级或回滚到早期版本:
中止ISSU
此步骤会取消到目前为止已完成的升级过程,并以ISSU方式将设备返回到上一个安装状态(V1)。这适用于控制器和AP。如果您注意到升级带来的严重影响,并且尚未提交映像,则可以执行此操作。此命令和进程仅在尚未发出“install commit”时有效。提交映像后,您将无法以ISSU方式回滚。
CLI命令:
install abort issu
预期输出:
STAGE 1: Rolling Back software on Standby
===================================================
--Starting Deactivation at the standby --
--- Starting abort_standby ---
[1] abort_standby package(s) on chassis 1/R0
WARNING: Found 1545 disjoint TDL objects.
[1] Finished abort_standby on chassis 1/R0
abort_standby: Passed on [1/R0]
Finished abort_standby
STAGE 2: Restarting Standby
===================================================
--- Starting standby reload ---
Finished standby reload
--- Starting wait for Standby to reach terminal redundancy state ---
Finished wait for Standby to reach terminal redundancy state
STAGE 3: Rolling Back software on Active
===================================================
--Starting Deactivation at the active --
--- Starting abort_active ---
WARNING: Found 1545 disjoint TDL objects.
[2] abort_active package(s) on chassis 2/R0
[2] Finished abort_active on chassis 2/R0
abort_active: Passed on [2/R0]
Finished abort_active
STAGE 4: Restarting Active (switchover to standby)
===================================================
--- Starting active reload ---
New software will load after reboot process is completed
SUCCESS: install_abort Wed Jan 17 21:58:52 CET 2024
client_loop: send disconnect: Broken pipe
切换到“主”控制器
在生产环境中,如果希望使原始控制器重新激活,则可能需要执行此步骤。请记住,ISSU升级完成后,“辅助”设备即成为主用控制器。您始终可以通过执行手动切换返回到原始状态。您需要确保对等设备处于“热备用”状态,然后再继续。
CLI命令:
redundancy force-switchover
完成ISSU升级后,回滚到以前的状态
承诺升级后,Cisco Catalyst 9800系列无线控制器平台不支持ISSU降级。此时,回滚意味着无线控制器和AP都将因代码更改而重新加载,这将造成停机。首先检查可用的回退点,然后决定回退哪个回退点。
CLI命令:
show install rollback
show install rollback id
install rollback to id
预期输出:
WLC#sh install rollback
ID Label Description
-------------------------------------------------------
3 No Label No Description
2 No Label No Description
1 No Label No Description
WLC#sh install rollback id 2
Rollback id - 2 (Created on 2024-04-22 10:31:57.000000000 +0000)
Label: No Label
Description: No Description
Reload required: NO
State (St): I - Inactive, U - Activated & Uncommitted,
C - Activated & Committed, D - Deactivated & Uncommitted
--------------------------------------------------------------------------------
Type St Filename/Version
--------------------------------------------------------------------------------
IMG C 17.09.04a.0.6
WLC#install rollback to id 2
install_rollback: START Thu May 30 09:44:38 UTC 2024
install_rollback: Rolling back to id 2
This operation may require a reload of the system. Do you want to proceed? [y/n]y
--- Starting Rollback ---
Performing Rollback on all members
[2] Rollback package(s) on Chassis 2/R0
[1] Rollback package(s) on Chassis 1/R0
[2] Finished Rollback package(s) on Chassis 2/R0
Checking status of Rollback on [1/R0 2/R0]
Rollback: Passed on [1/R0 2/R0]
Finished Rollback operation
SUCCESS: install_rollback Thu May 30 09:45:40 UTC 2024
故障排除
如果您在使用ISSU升级9800无线控制器之前、期间或之后遇到问题,我们建议您阅读本文档,了解遇到的常见问题及其解决方案。
参考