はじめに
このドキュメントでは、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の間の移行を円滑に行い、1回のプレダウンロードを実現することはできません。この記事を使用して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ツールの使用については、『エンタープライズWLANポーラーバージョン』を参照)について説明します。
- SSHを介してAireOS WLCに参加しているすべてのAPまたは一部のAPに接続します。
archive download-sw
コマンドを使用して、Cisco IOS XE APイメージのプレダウンロードを開始します。その後、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ポーラーファイルの設定
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シリーズの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上でコマンドを実行します。
注:
WLAN Pollerバージョン3.2以降、9105 APは、理想的にはcmdlist_cos_bcmで実行する必要がありますが、cmdlist_cosで実行されます。これは今後のリリースで変更される可能性があります。
つまり、使用している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 |
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に接続します。
より具体的に指定する場合は、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
」と表示されます(たとえば、「all」が表示されます)。
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に移動すると、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>
関連情報