はじめに
このドキュメントでは、AireOSワイヤレスLANコントローラ(WLC)からCisco IOS® XEベースのCatalyst 9800 WLCへの移行の特定の使用例について説明します。
前提条件
要件
このドキュメントでは、AireOS WLCと9800 WLCの両方が設定済みで、移行の準備ができていることを前提としています。また、アクセスポイントから到達可能なTFTP/SFTPサーバがネットワーク内に設定されていることを前提としています。
これは、ネットワーク管理者がワイヤレスクライアントのダウンタイムをできるだけ最小限に抑えることを目指している移行です。この記事では、2つのコントローラモデル間での設定の移行については説明しません。コントローラの変更時にアクセスポイント(AP)が一度だけリブートするように、APプレダウンロードを自動化することだけに重点を置いています。
使用するコンポーネント
この記事は、8.10と17.4.1を実行する9800-Lと3504のシナリオに基づいて書かれていますが、9800-CL、9800-40、9800-80、5520、8540、vWLCおよび8510に対してだけでなく、すべてのソフトウェアバージョンにも同様に適用する必要があります。
WLANPollerバージョン3.1が必要です。
9800バージョン17.9では、以前のバージョンから入手した場合、およびAireOS 8.xソフトウェアから入手した場合、17.3.7を介したアップグレードパスが必要です。この記事を使用して8.5 WLCと17.9 9800の間でスムーズな移行を行い、単一のプレダウンロードを実現することはできません。この記事を使用して17.3.7へのプレダウンロードを実行し、その後は通常のプロセスを使用してAPがWLCから17.9をダウンロードできるようにする必要があります。
17.3.5/17.3.6/17.3.7より前のバージョンを実行しているときにAPが17.9コードをダウンロードすると、17.9イメージをインストールするのに十分なスペースがないという警告が表示されます。17.9よりも前の9800リリースに移行する場合は、このアップグレードパスは必要ありません(アップグレードパスについては、9800のリリースノートを確認してください)。AireOSからの着信は、16.12 9800からの着信と同じであると考えてください)。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
問題
アップグレード中のダウンタイムを最小限にするため、ネットワーク管理者は通常、APの事前ダウンロードに依存しています。この機能を使用すると、コントローラがすでに新しいコードをダウンロードしていても、その新しいコードでまだリブートしていない場合に、APがクライアントにサービスを提供している間に新しいコードをダウンロードできます。つまり、WLCが新しいコードでリブートすると、APはその新しいコードでブートするために1回だけリブートします。
APの事前ダウンロードがない場合、APは、WLCが新しいコードでオンラインに戻るのを待って加入を試み、新しいコードをダウンロードしてすべてのコードを同時にダウンロードし、リブートしてからもう一度加入する必要があることを認識する必要があります。
クライアントのダウンタイムの短縮に加えて、APのプレダウンロードは、ブランチのWAN接続が小さい場合や、WAN接続の遅延がこれらのAPの新しいコードのダウンロードに長時間を要する場合にも役立ちます。ダウンロードは、APがクライアントにサービスを提供している間に、APの事前ダウンロードを使用して行われます。
ただし、移行の場合の問題は、2つの個別のコントローラ(AireOSを実行するコントローラとCisco IOS XEを実行するコントローラ)を扱っていることであり、この状況では、APが別のコントローラからコードを事前ダウンロードするためにAP事前ダウンロードを使用する組み込みの手段はありません。このソリューションは、プログラマビリティと自動化にあります。
解決方法
ワークフローの概念
この記事では、簡単なプロセスの自動化(一般に公開されているWLAN Pollerツールを使用する。Enterprise WLAN-Poller Versionを参照)について説明します。
- SSHを介してAireOS WLCに参加しているすべてのAPまたは一部のAPに接続します。
- Cisco IOS XE APイメージの事前ダウンロードを
archive download-sw
コマンドを使用して、アップグレードを実行します。その後、APは、クライアントへのサービス提供と通常の運用を継続しながら、バックアップパーティションにイメージをダウンロードします。
- APを移行する準備ができたら、9800 WLCをAPのプライマリWLCとして設定し、リブートします。
- 新しい(Cisco IOS XE互換)コードでAPがただちにリブートし、リブートせずに9800 WLCに参加するため、ダウンタイムは1回のリブートサイクルに限定されます。
利点は、実際の移行/リブートからのコードのダウンロードの分離と、1回のリブートサイクルへの制限にあります。
APイメージを使用したファイルサーバの準備
最も簡単な方法は、特定のバージョンのすべてのAPイメージを含むAPバンドルファイルをダウンロードすることです。cisco.comのダウンロードセクションにアクセスし、ご希望のリリース用の9120 Embedded Wireless Controllerファイルをダウンロードしてください。これは、各APモデルのCAPWAP APイメージを含む.tarファイルです。すべての.tarコンテンツをTFTP/SFTPサーバに抽出するだけで完了です。
コードのダウンロード操作用のWLANポーラーファイルの設定
WLAN Poller for MacまたはWindowsをダウンロードした後、ネットワークと設定に適応させるために編集するファイルがいくつかあります。
WLANPollerが実行されると、WLCに接続し、参加している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シリーズのAPに送信されるコマンドのリスト(1800、2800、3800)が含まれています。
既存のコマンドセットを削除し、次のコマンドで置き換えます。
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は1800/2800/3800/1540/1560 APでコマンドを実行します。
これは、使用しているAPに応じて、これらのファイルの1つ以上にコマンドを記述する必要があることを意味します。
2つ目のテクニックは、適切なAPモデルに適切なAPイメージを指定する必要があることです。直前に示した例は、1815 AP上で実行され、 ap1g5
イメージファイル。キーワード%apimage%(含まれる文字の割合)は、WLANPollerが実際のAPイメージファイル名で置き換えるための特殊なキーワードです。
便宜上、APモデルとそれらが実行するイメージの表を次に示します。
1815/1540/1840 |
ap1g5 |
1810/1830/1850 |
ap1g4 |
2800/3800/4800/1560 |
ap3g3 |
1700/2700/3700 |
ap3g2(または、8.10リリースの3700APではc3700) |
9105 |
ap1g8 |
9115/9120 |
ap1g7 |
9117 |
ap1g6 |
9130 |
ap1g6a |
設定.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-
このフィルタは、名前が「Branch1 – 」で始まるWLCに加入しているすべてのAPに接続します。
より具体的に指定するには、 aplist:
フィールドを指定します。
サンプルのCSVファイルはwlanpollerに提供されており、スクリプトが接続する必要があるAP名とIPのリストを入力できます。
APコードのプレダウンロード操作の実行と確認
を実行します。 wlanpoller
script.次に、接続の詳細を表示し、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を確認します。
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スクリプト自体のtimestamped-logファイルがあります。
スクリプト自体は正常に実行された可能性がありますが、転送が失敗した可能性があります。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に移動すると、APは現在のパーティションに加入しようとします。コードが異なるが、バックアップパーティションに正しいコードバージョンがあることに注意して、リブートします。
このテキストファイルに「config boot path 2」コマンドを追加してから「%confirm% reload」コマンドを追加すると、数秒早く(最初の参加試行を保存できます)完了します。これにより、バックアップパーティションが新しいアクティブとして設定され、(9800 WLCへの加入を試行する時間を与えることなく)すぐにリブートされます。APがただちにリブートし、正しいコードバージョンで9800に加入します。
「 %confirm%
reloadコマンドのように、キーワードの後に「[confirm]」プロンプトが必要なコマンドを入力する場合は、キーワードが必要です。これにより、プロンプトが自動的に受け付けられます。
Cmdlist_cos.txt
show clock
capwap ap secondary-base dummy 192.168.2.1
capwap ap primary-base <9800 name> <9800 IP>
関連情報