概要
このドキュメントでは、AireOSワイヤレスLANコントローラ(WLC)からCisco IOS XEベースのCatalyst 9800 WLCへの移行の特定の使用例について説明します。
要件
これは、ネットワーク管理者がワイヤレスクライアントのダウンタイムをできるだけ最小限に抑えることを目的とした移行です。この記事では、2つのコントローラモデル間での設定の移行については説明しません。また、アクセスポイント(AP)がコントローラの変更時に一度だけリブートするように、APプレダウンロードを自動化することだけに焦点を当てています。
使用するコンポーネント
この記事は、8.10と17.4.1を実行する9800-Lと3504のシナリオに基づいて書かれていますが、9800-CL、9800-40、9800-80、5520、8540、vWLCおよび8510と同様に、すべてのソフトウェアバージョンに適用する必要があります。
WLANPollerバージョン3.1が必要です。
前提条件
このドキュメントでは、AireOS WLCと9800 WLCの両方が設定済みで、移行の準備ができていることを前提としています。また、アクセスポイントから到達可能なTFTP/SFTPサーバがネットワークに設定されていることを前提としています。
問題
アップグレード中のダウンタイムを最小限に抑えるため、ネットワーク管理者は通常、APの事前ダウンロードを利用します。この機能を使用すると、コントローラがすでに新しいコードをダウンロードしていても、その新しいコードでまだリブートしていない場合に、APがクライアントにサービスを提供している間に新しいコードをダウンロードできます。つまり、WLCが新しいコードでリブートすると、APはその新しいコードでブートするために1回だけリブートします。
APの事前ダウンロードがない場合、APはWLCが新しいコードでオンラインに戻るのを待って加入を試みる必要があります。その後で、新しいコードをダウンロードしてすべてのコードを同時にダウンロードし、リブートしてからもう一度加入する必要があることを認識します。
クライアントのダウンタイムの短縮に加えて、APのプレダウンロードは、ブランチのWAN接続が小さい場合や、WAN接続の遅延によりこれらのAPの新しいコードのダウンロードに時間がかかる場合にも役立ちます。ダウンロードは、APがクライアントにサービスを提供している間に、APの事前ダウンロードを使用して行われます。
ただし、移行の場合の問題は、2台の独立したコントローラ(AireOSを実行するコントローラとCisco IOS XEを実行するコントローラ)を扱っていることであり、この状況でAPのプレダウンロードを使用してAPが別のコントローラからコードをプレダウンロードする組み込みの手段はありません。ソリューションは、プログラマビリティと自動化にあります。
解決方法
ワークフローの概念
この記事では、(https://community.cisco.com/t5/wireless-mobility-documents/enterprise-wlan-poller-version/ta-p/4010526で公開されているWLAN Pollerツールを使用して)簡単なプロセスの自動化について説明します。
- SSH経由でAireOS WLCに参加しているすべてのAPまたは一部のAPに接続します。
- archive download-swコマンドを使用して、Cisco IOS-XE APイメージのプレダウンロードを開始します。その後、APはクライアントにサービスを提供し、正常に動作しながら、バックアップパーティションにイメージをダウンロードします
- APを移行する準備ができたら、9800 WLCをAPのプライマリWLCとして設定し、リブートします
- APは新しい(Cisco IOS-XE互換)コードで即座にリブートし、リブートを行わずに9800 WLCに参加するため、ダウンタイムは1回のリブートサイクルに制限されます。
利点は、実際の移行/リブートからのコードダウンロードの分離と、1回のリブートサイクルに対する制限にあります
APイメージを含むファイルサーバの準備
最も簡単な方法は、特定のバージョンのすべてのAPイメージを含むAPバンドルファイルをダウンロードすることです。cisco.comのダウンロードセクションにアクセスし、選択したリリースの9120エンベデッドワイヤレスコントローラファイルをダウンロードします。これは、各APモデルのCAPWAP APイメージを含む.tarファイルです。すべての.tarコンテンツをTFTP/SFTPサーバに抽出するだけで完了です。
コードダウンロード操作用のWLANポーラーファイルの設定
MacまたはWindows用のWLANポーラーをダウンロードした後、ネットワークと設定に適応させるために編集するファイルがいくつかあります。
WLANPollerを実行すると、WLCに接続し、参加しているAPとそのすべてのAPへのSSHを確認します。次に、WLCとAPで特定のコマンドリストを実行します。
CMDlist_wlc.txt
このファイルには、AireOS WLCを実行するたびにWLAN Pollerが実行するコマンドのリストが含まれています。デフォルトでは、このファイルに含まれているすべてのコマンドは必要ありません。したがって、このファイルの内容を次の2つだけに減らします。
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に応じて、これらのファイルの1つ以上にコマンドを記述する必要があります。
2つ目のテクニックは、適切なAPモデルに適切なAPイメージを指定する必要があることです。直前に示した例は、「ap1g5」イメージファイルを実行する1815 APで実行されました。キーワード%apimage%(含まれる文字数の割合)は、WLANPollerを実際のapイメージファイル名で置き換えるための特別なキーワードです。
便宜上、次の表にAPモデルとそれらが実行するイメージを示します。
1815/1540/1840 |
ap1g5 |
1810/1830/1850 |
ap1g4 |
2800/3800/4800/1560 |
ap3g3 |
|
|
9105 |
ap1g8 |
9115/9120 |
ap1g7 |
9117 |
ap1g6 |
9130 |
ap1g6a |
Config.ini
config.iniはメインの設定ファイルであり、特定のフィールドに対して変更する必要があります。このセクションでは、デフォルトから変更する必要があるフィールドのみを取り上げます(デフォルトは100です)。
wlc_user:
wlc_pasw:
wlc_enable:
ap_user:
ap_pasw:
ap_enable:
ipaddr:
影響を受けるAPを選択する方法
デフォルトでは、上記の手順に従った場合、現在AireOS WLCに加入しているすべてのAPがこのスクリプトの影響を受けます。
一度に複数のAPをバッチ処理する場合は、いくつかの方法があります。
config.iniファイルで、[ap_name_filter =] フィールドのコメントを解除し、AP名プレフィックスを入力できます。
以下に、いくつかの例を示します。
ap_name_filter = Branch1-
このフィルタは、名前が「Branch1 – 」で始まるWLCに加入しているすべてのAPに接続します
より具体的に説明する場合は、config.iniファイルの「aplist:」フィールドを使用します。
サンプルCSVファイルはwlanpollerに付属しています。スクリプトが接続する必要がある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
============================================================
実行中の問題
スクリプトがここまで正常に実行されたかどうかを確認するには、バックアップイメージがターゲットCisco IOS-XEコードである場合に、各APを確認します。
すべてが成功した場合、AP CLIの「show version」は次のように表示されます。
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サーバがオンラインでない例を示します(TFTPサーバがオンラインでない場合)。
ndarchis@NDARCHIS-M-J3HN 25 % pwd
/Users/ndarchis/Downloads/Enterprise-WlanPoller-Mac-3.0-Bundle/data/2021/01/25
ndarchis@NDARCHIS-M-J3HN 25 % ls
cos_1815AP.log wlc_WLCNico.log
ndarchis@NDARCHIS-M-J3HN 25 % cat cos_1815AP.log
show clock *13:38:02 UTC Mon Jan 25 2021 1815AP#
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#
ndarchis@NDARCHIS-M-J3HN 25 %
AP移行操作用のWLANポーラーファイルの設定
Cmdlist_cos.txt
show clock
capwap ap secondary-base dummy 192.0.2.1
capwap ap primary-base <9800 name> <9800 IP>
%confirm% reload
キーワードの後のコマンドでreloadコマンドのように「[confirm]」プロンプトが必要な場合は、%confirm%キーワードが必要です。これにより、プロンプトが自動的に受け入れられます。
このコマンドセットは、9800をプライマリWLCとして設定し、APのリロードをトリガーします。
参考資料
https://community.cisco.com/t5/wireless-mobility-documents/enterprise-wlan-poller-version/ta-p/4010526