目錄

簡介

需求

採用元件

ISSU的工作方式

限制

要求和核查

升級程式

ISSU CLI工作流程

完成程式

其他操作

疑難排解

參考資料

簡介

本檔案介紹如何使用ISSU （服務中軟體升級）方法在HA SSO中升級一對9800無線控制器。

需求

本文檔介紹了該過程、限制、應採取的預防措施和升級說明。

思科建議您瞭解以下主題：

- 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，以將停機時間降至最低。如果您的AP位於WAN鏈路後方，且存在一些延遲，則務必要將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」)

如果控制器處於安裝模式，它必須從「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：檢查冗餘狀態

作用中控制器必須位於 使用中 狀態，且待命控制器必須處於 熱備用 狀態，表示通訊處於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中是否有足夠的空間來儲存新映象

A *.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工作流程

本節簡短總結了為升級控制器所執行的指令。以下提供每個命令及所有步驟的完整說明：

指令

說明

安裝add file <file>

從CCO下載到bootflash的映像會載入到控制器並擴展為包

ap映像預下載

與v2映像對應的AP映像會預先下載到AP

安裝activate issu [自動中止計時器<30-1200>]

一個WLC重新載入後跟另一個WLC的ISSU協調。Activate觸發器會以交錯方式重置AP，並盡最大努力嘗試保持客戶端的連線

install 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將更少，並且升級需要更長時間，但這也有助於減少全局停機時間。根據您的部署和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分鐘。

升級完成後，您會看到映像處於活動狀態，但「未提交」(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，並且希望在提交映像之前確保可以正常工作），可以停止此計時器。這樣，將不會發生自動回滾。

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

此步驟會取消目前為止所執行的升級程式，並以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無線控制器升級之前、期間或之後遇到問題，我們建議您閱讀此文檔，該文檔介紹了遇到的常見問題及其解決方案。

參考資料

- 在Cisco Catalyst 9800無線控制器上使用修補和滾動AP升級實現高可用性

- 17.12.X配置指南