目录

简介

要求

使用的组件

ISSU的工作原理

限制

要求和验证

升级 程序

ISSU CLI工作流程

完成程序

其他操作

故障排除

参考

简介

本文档介绍如何使用ISSU（服务中软件升级）方法在HA SSO中升级一对9800无线控制器。

要求

本文档介绍操作步骤、限制、注意事项，以及升级说明。

Cisco 建议您了解以下主题：

- Catalyst 9800无线LAN控制器(WLC)

- 高可用性状态化切换(HA SSO)

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。用于本文的所有设备从已清除的配置开始。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

ISSU的工作原理

ISSU功能允许升级9800无线控制器，并将停机时间降至最低。如果您拥有足够的覆盖范围，则升级是无缝的，并且无线客户端不能观察到任何停机时间。为此，ISSU提供了一种机制，一次升级一个控制器，并允许AP交错升级。

下面简要概述ISSU升级过程中的不同步骤：

1. 目标映像(V2)下载到运行V1的主控制器并扩展为包。

2. 然后，映像将通过RP连接同步到热备用控制器。对于每种升级类型，该过程都相同

3. 相应的AP映像(V2)会预先下载到AP。预下载映像不会影响服务。

4. 备用控制器重新加载并使用新映像(V2)加载。此时，主用控制器运行V1，备用控制器运行V2，它们形成SSO对。这仅在ISSU升级期间才可能实现。

5. 一旦HA对就绪（主用/备用热状态），就会执行切换。主用控制器现在运行V2，备用控制器运行V1。备用控制器重新加载并启动V2。在此阶段，两个控制器均在V2上，但AP仍在运行V1。

6. AP在激活步骤后需要将映像切换到V2，并以滚动式AP升级方式升级，以最大限度地减少停机时间。这意味着AP的子组在每个周期重新加载，并且客户端可以连接到相邻AP。当AP重新加入时，它们与V2重新加入。

7. 最后一步是提交，它使更改永久生效。

限制

在继续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步：验证是否没有运行的活动或未提交的版本

命令行界面命令：

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）。

命令行界面命令：

show version | i Installation mode

预期输出：

WLC#show version | i Installation mode

Installation mode is INSTALL

第3步：检查用于引导的文件("packages.conf")

如果控制器处于安装模式，它必须从“packages.conf”文件启动。

命令行界面命令：

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步：检查冗余状态

活动控制器必须位于 主用 状态和备用控制器必须处于 STANDBY-HOT 状态，这意味着通信处于UP状态且它们正在相互通信。

命令行界面命令：

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中是否有足够的空间来存储新镜像

A *.bin 镜像大小约为1GB。在继续之前，请确保bootflash中有多个GB的可用空间。

命令行界面命令：

dir bootflash:/ | in free

预期输出：

WLC#dir bootflash:/ | in free

14785671168 bytes total (11446026240 bytes free)

第6步：检查是否没有其他升级正在进行

这是一个关键步骤，因为如果控制器在之前的升级中受阻，则新的升级将失败。

命令行界面命令：

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 [自动中止计时器<30-1200>]

一个WLC重新加载后另一个WLC重新加载的ISSU协调。激活触发器执行AP交错重置，尽最大努力保持客户端连接

install commit（安装提交）

提交将使更改永久生效

完成程序

第1步：清除AP预下载统计信息

最好在升级之前清除这些统计信息，以便获得仅与当前升级相关的新输出。在开始升级之前，不得进行任何预下载。

命令行界面命令：

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命令清理旧安装文件。

命令行界面命令：

install remove inactive

第3步：配置AP滚动升级百分比的值

您可以将此值设置为最高25%（最大值）。请注意，如果您选择5%（最小值），每次迭代升级的AP将更少，且升级时间更长，但这也有助于减少全局停机时间。根据您的部署和AP覆盖范围选择此值。

命令行界面命令：

conf t

ap upgrade staggered {5 | 15 | 25 | one-shot}

end

write memory

第4步：在控制器上下载.bin映像

Yon可以通过CLI或GUI上传此映像。通过GUI，当您启动升级过程时即可完成此操作。

命令行界面命令：

dir bootflash:*.bin

[OPTIONAL] copy ftp://

:

@

/

bootflash:

第5步：安装映像

此步骤将启动升级的第一阶段。控制器软件映像将添加到闪存并扩展为软件包。这得花几分钟的时间 完成安装添加过程后，通过show install summary命令检查新映像是否显示为“Inactive”。

命令行界面命令：

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数量和链路延迟。

命令行界面命令：

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交错升级。

命令行界面命令：

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分钟。

升级完成后，您会看到映像处于活动状态，但“未提交”(Uncommitted)：

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步：[可选]停止“auto-abort”计时器

如果您需要比默认的6小时更长的时间进行升级（当您有许多AP要升级并且希望在提交映像之前可以确保运行正常时），您可以停止此计时器。这样，不会发生自动回滚。

命令行界面命令：

install auto-abort-timer stop

第9步：使新软件具有持久性

使用install commit命令提交激活更改，使其在重新加载过程中保持不变。这是正常升级过程的最后一步。install commit命令使软件在重新启动后保持不变。

命令行界面命令：

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方式回滚。

命令行界面命令：

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升级完成，“辅助”设备即成为主用控制器。您始终可以通过执行手动切换来返回到原始状态。在继续之前，您需要确保对等设备处于“热备用”状态。

命令行界面命令：

redundancy force-switchover

完成ISSU升级后，回滚到以前的状态

提交升级后，Cisco Catalyst 9800系列无线控制器平台不支持ISSU降级。此时，回滚意味着无线控制器和AP都将由于代码更改而重新加载，这将导致停机。首先检查可用的回退点，然后决定回退到哪个回退点。

命令行界面命令：

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无线控制器之前、期间或之后遇到问题，我们建议您阅读此文档，该文档将介绍遇到的常见问题及其解决方案。

参考

- 在Cisco Catalyst 9800无线控制器上使用修补和循环AP升级实现高可用性

- 17.12.X配置指南