目錄

簡介

必要條件

需求

採用元件

問題

解決方案

工作流概念

使用AP映像準備檔案伺服器

為代碼下載操作配置WLAN輪詢器檔案

CMDlist_wlc.txt

Cmdlist_cos.txt / Cmdlist_cos_bcm.txt / Cmdlist_cos_qca.txt

Config.ini

選擇受影響的AP

運行AP代碼預下載操作並驗證

如果在運行期間出現問題

為AP遷移操作配置WLAN輪詢器檔案

Cmdlist_cos.txt

相關資訊

簡介

本檔案介紹從AireOS無線LAN控制器(WLC)移轉至基於Cisco IOS® XE的Catalyst 9800 WLC的具體使用案例。

必要條件

需求

本檔案假設您已設定AireOS WLC和9800 WLC，兩者都可供移轉。另外還假設您在網路中設定了存取點可連線的TFTP/SFTP伺服器。

網路管理員希望儘可能縮短無線客戶端的停機時間。本文不介紹兩個控制器型號之間配置的遷移，只重點介紹自動預下載接入點(AP)，以便接入點(AP)在更改控制器時只重新啟動一次。

採用元件

本文是在9800-L和3504情境下編寫的，執行的是8.10和17.4.1，但是它必須同樣應用於所有軟體版本以及9800-CL、9800-40、9800-80、5520、8540、vWLC和8510。

它需要WLANPoller 3.1版。

9800版本17.9需要通往17.3.7的升級路徑（如果來自較早版本和來自AireOS 8.x軟體）。使用本文無法平穩過渡到8.5 WLC和17.9 9800來實現一次預下載，您需要使用本文執行到17.3.7的預下載，然後讓AP使用之前的常規過程從WLC下載17.9。

如果AP在運行17.3.5/17.3.6/17.3.7之前的版本時下載17.9代碼，它會抱怨沒有足夠的空間來安裝17.9映像。如果您要使用的版本低於17.9，則無需此升級路徑（請檢視9800發行版本說明，瞭解是否有升級路徑）。假設來自AireOS就像來自16.12 9800)。

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

問題

為了最大限度地減少升級過程中的停機時間，網路管理員通常依賴無線接入點預下載。當控制器已下載新代碼但尚未重新啟動該新代碼時，此功能允許AP在仍為客戶端服務的同時下載該新代碼。這表示當WLC以新程式碼重新開機時，AP只會重新開機一次，以便以新程式碼重新開機。

如果沒有存取點預先下載，存取點必須等待WLC重新使用新程式碼聯機才能嘗試加入存取點，然後才意識到他們需要下載新程式碼、同時下載所有新程式碼，然後重新啟動並重新嘗試加入。

AP預下載除了減少客戶端停機時間之外，對於分支機構的WAN連線較小或WAN連線上的延遲意味著要為這些AP下載新代碼的時間較長的情況也很有幫助。當使用AP預下載時，AP仍在為客戶端提供服務時，會發生下載。

但是，在遷移的情況下，問題在於您使用的是兩個獨立的控制器（一個運行AireOS，另一個運行Cisco IOS XE），在這種情況下，沒有內嵌的方法來使用AP預下載，從而使AP從另一個控制器預下載代碼。解決方案在於可程式設計性和自動化。

解決方案

工作流概念

本文說明一個簡單過程的自動化(使用公開的WLAN輪詢器工具，請參閱企業WLAN輪詢器版本):

- 通過SSH連線到所有已加入AireOS WLC的AP或其子集。

- 通過Cisco IOS XE AP  archive download-sw  指令。然後AP將映像下載到其備份分割槽，同時仍為客戶端提供服務並正常運行。

- 準備遷移AP時，將9800 WLC配置為這些AP的主WLC並重新啟動它們。

- AP立即重新啟動新的（與Cisco IOS XE相容）代碼，並加入9800 WLC而無需進一步重新啟動，將停機時間限制在一個重新啟動週期內。

優點在於解除了實際遷移/重新引導中的代碼下載的耦合性，以及對一個重新引導週期的限制。

使用AP映像準備檔案伺服器

最簡單的方法是下載包含給定版本的所有AP映像的AP捆綁檔案。前往cisco.com download區段，並下載9120嵌入式無線控制器檔案以取得您選擇的版本。它是一個包含每個AP型號的CAPWAP AP映像的.tar檔案。只需將所有.tar內容解壓到TFTP/SFTP伺服器即可完成。

為代碼下載操作配置WLAN輪詢器檔案

下載用於Mac或Windows的WLAN Poller後，需要編輯幾個檔案，使其適應您的網路和配置。

WLANPoller在運行時將連線到WLC，檢查所連線的AP並使用SSH連線到所有AP。接著在WLC和AP上執行特定命令清單。

CMDlist_wlc.txt

此檔案包含WLAN Poller每次在AireOS WLC上運行的命令清單。預設情況下，我們不需要此檔案中包含的所有命令，因此只需將此檔案內容縮減為以下兩項：

show time

show ap summary

此清單列出加入WLC的AP和時間，僅用於追蹤和記錄用途。

Cmdlist_cos.txt / Cmdlist_cos_bcm.txt / Cmdlist_cos_qca.txt

此檔案包含傳送到x800系列(1800、2800、3800)的AP的命令清單。

刪除現有命令集，並替換為以下命令：

show clock

archive download-sw /no-reload tftp://192.168.1.12/%apimage%

請將上一個示例中的IP地址替換為TFTP或SFTP伺服器詳細資訊的IP。

此步驟取決於您要跟蹤的幾級AP型號。

檔案cmdlist_cos_qca僅對9117和9130接入點執行命令。檔案cmdlist_cos_bcm僅對9115和9120接入點執行命令。

檔案cmdlist_cos對1800s/2800/3800/1540/1560 AP執行命令。

這表示您需要根據您使用的AP，將命令寫入其中的一個或多個檔案中。

第二個技巧是，您需要為正確的AP型號指定正確的AP映像。剛才提供的範例是在執行CLI的1815 AP上  ap1g5  影象檔案。關鍵字%apimage%(包括的百分比字元)是WLANPoller的特殊關鍵字，用於替換為實際ap映像檔名。

為方便起見，以下是AP型號及其運行映像的表：

1815/1540/1840

ap1g5

1810/1830/1850

ap1g4

2800/3800/4800/1560

ap3g3

1700/2700/3700

ap3g2（或c3700，用於8.10版中的3700AP）

9105

ap1g8

9115/9120

ap1g7

9117

ap1g6

9130

ap1g6a

Config.ini

config.ini是主配置檔案，必須針對某些欄位進行更改。本節僅介紹需要從預設值變更的欄位：

wlc_user: <enter the username of the AireOS WLC>

wlc_pasw: <enter the password of the AireOS WLC>

wlc_enable: <re-enter the username of the AireOS WLC>

ap_user: <enter the username for the AP SSH connection>

ap_pasw: <enter the password for the AP SSH connection>

ap_enable: <enter the enable password for the AP SSH connection>

ipaddr: <enter the IP address of the AireOS WLC>

選擇受影響的AP

預設情況下，如果您只是按照說明執行操作，則當前加入到AireOS WLC的所有AP都會受到指令碼的影響。

如果要通過一次批處理AP來做到這一點，有幾種方法。

在config.ini檔案中，您可以取消對  ap_name_filter =  欄位並鍵入AP名稱字首。

舉例來說：

ap_name_filter = Branch1-

此過濾器連線到所有與WLC連線的AP，這些AP的名稱以「Branch1 — 」開頭。

如果您想更具體，可以使用  aplist:  config.ini檔案的欄位。

隨Wlanpoller提供的示例CSV檔案，您可以輸入指令碼必須連線到其中的AP名稱和IP清單。

運行AP代碼預下載操作並驗證

運行 wlanpoller 指令碼。然後，它會顯示連線詳細資訊，並提供它在WLC上看到且能夠通過SSH進入的AP數量。任何錯誤都可能顯示在末尾的「錯誤」部分中。

Enterprise-WlanPoller-Mac-3.0-Bundle % ./wlanpoller

* Detected local address : 192.168.1.63

* Logging to syslog server : 192.168.1.63

* Logging to console enabled : False

* Logging to file : ./logs/20210125_wlanpoller.log

* Using TFTP address : 192.168.1.63

* Using TFTP IPv6 address : self

* Using FTP address : 192.168.1.63

* WLC Type AirOS[1] 9800[2] : 1

* Transfer mode : tftp

* Poller enable : True

* Event enable : False

* DFS trace enable : False

* WLC config backup : False

* WLC AP crash upload : False

* WLC Support Bundle upload : False

============================================================

Summary

============================================================

Total APs : 1

Processed APs : 1

Failed APs : 0

============================================================

Errors

============================================================

如果在運行期間出現問題

若要驗證指令碼運行是否正常，您可以檢查每個AP（如果備份映像是您的目標Cisco IOS XE代碼）。

A show version  在AP CLI上，如果所有操作都成功，此時將顯示以下示例：

AP Running Image : 8.10.142.0

Primary Boot Image : 8.10.142.0

Backup Boot Image : 17.4.1.6

在WLANpoller /logs資料夾中，如果發生任何錯誤，可以找到WLANpoller指令碼本身的時間戳日誌檔案。

指令碼可能已成功運行，但傳輸可能失敗。在Wlan Poller內的/data資料夾中，可以找到WLAN Poller建立到WLC和AP的SSH會話的結果，並且可以確定任何問題。以下是TFTP伺服器未連線的範例：

username % pwd

/Users/username/Downloads/Enterprise-WlanPoller-Mac-3.0-Bundle/data/2021/01/25

username % ls

cos_1815AP.log wlc_WLCNico.log

username % cat cos_1815AP.log

<run timestamp='2021-01-25T14:37:30.888559' device='cos' hostname='1815AP' model='AIR-AP1815I-E-K9' version='8.10.142.0'>

<cmd string='show clock'>

show clock

*13:38:02 UTC Mon Jan 25 2021

1815AP#

</cmd>

<cmd string='archive download-sw /no-reload tftp://192.168.1.12/ap1g5'>

archive download-sw /no-reload tftp://192.168.1.12/ap1g5

Starting download AP image tftp://192.168.1.12/ap1g5 ...

It may take a few minutes. If longer, please abort command, check network and try again.

-=O=- # # # #

curl: (28) Error

%Error opening tftp://192.168.1.12/ap1g5 (Error 28: Operation timeout)

Image transfer failed

1815AP#

</cmd>

</run>

username %

為AP遷移操作配置WLAN輪詢器檔案

如果您現在將AP移動到9800，它們會嘗試將其與當前的分割槽加入，請注意，代碼不同，但它們在備份分割槽中具有正確的代碼版本，然後重新啟動。

通過將「config boot path 2」和「%confirm% reload」命令新增到此文本檔案，您可以快幾秒鐘（儲存第一次加入嘗試）。這樣會將備份分割槽設定為新的活動分割槽並立即重新啟動（沒有時間嘗試加入9800 WLC）。AP將立即重新啟動，然後使用正確的代碼版本加入9800。

其  %confirm%  如果關鍵字後面的命令需要「[confirm]」提示（如reload命令需要），則需要關鍵字。此命令自動接受該命令。

Cmdlist_cos.txt

show clock

capwap ap secondary-base dummy 192.168.2.1

capwap ap primary-base <9800 name> <9800 IP>

相關資訊

- 企業WLAN-Poller版本

- 思科技術支援與下載