簡介
本檔案介紹如何使用ISSU(服務中軟體升級)方法在HA SSO中升級一對9800無線控制器。
需求
本文檔包含操作步驟、限制、應採取的預防措施和升級說明。
思科建議您瞭解以下主題:
- 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重新連線。
- 最後一步是提交,即使更改永久生效。

限制
在進行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」)
如果控制器處於安裝模式,它必須從「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工作流程
本節簡短總結了為升級控制器所執行的命令。以下提供每個命令和所有步驟的完整說明:
指令 |
說明 |
安裝add file <file> |
從CCO下載到bootflash的映像將載入到控制器並擴展為軟體包 |
ap映像預先下載 |
與v2影象對應的AP影象預先下載到AP |
install activate issu [auto-abort-timer <30-1200>] |
ISSU協調一個WLC重新載入,然後另一個重新載入。啟用觸發器以交錯方式重置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會更少,並且升級需要更長時間,但這也有助於減少全域性停機時間。根據您的部署和無線接入點覆蓋範圍選擇此值。
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無線控制器升級之前、期間或之後如果您遇到問題,我們建議您仔細閱讀本文件,瞭解遇到的常見問題及其解決方案。
參考資料