Einleitung
In diesem Dokument wird der spezifische Anwendungsfall einer Migration von einem AireOS Wireless LAN Controller (WLC) zu einem auf Cisco IOS® XE basierenden Catalyst 9800 WLC beschrieben.
Voraussetzungen
Anforderungen
In diesem Dokument wird davon ausgegangen, dass Sie über einen AireOS WLC und einen 9800 WLC verfügen, die beide bereits konfiguriert sind und migriert werden können. Außerdem wird davon ausgegangen, dass Sie in Ihrem Netzwerk einen TFTP-/SFTP-Server konfiguriert haben, der für die Access Points erreichbar ist.
Hierbei handelt es sich um eine Migration, bei der der Netzwerkadministrator die Ausfallzeiten für Wireless-Clients so gering wie möglich halten möchte. Dieser Artikel behandelt nicht die Migration der Konfiguration zwischen den beiden Controller-Modellen und konzentriert sich nur auf die Automatisierung des AP-Predownload, sodass die Access Points (AP) nur einmal neu starten, wenn der Controller gewechselt wird.
Verwendete Komponenten
Dieser Artikel wurde auf der Grundlage eines 9800-L und 3504 Szenario, läuft 8.10 und 17.4.1, aber es muss in ähnlicher Weise gelten für alle Software-Versionen sowie 9800-CL,9800-40,9800-80, 5520,85 40, vWLC und 8510.
Hierfür ist WLANPoller Version 3.1 erforderlich.
9800, Version 17.9, erfordert einen Upgrade-Pfad bis 17.3.7, wenn dieser von einer früheren Version und von der AireOS 8.x-Software stammt. Es ist nicht möglich, einen reibungslosen Übergang zwischen einem 8.5 WLC und einem 17.9 9800 mit diesem Artikel zu erreichen, um eine einzelne Pre-Download, müssen Sie diesen Artikel verwenden, um einen Pre-Download zu 17.3.7 zu tun und dann lassen Sie die APs 17.9 aus dem WLC mit dem üblichen Verfahren nach dem.
Wenn ein Access Point den 17.9-Code herunterlädt, während er eine ältere Version als 17.3.5/17.3.6/17.3.7 ausführt, beklagt er sich, dass er nicht über genügend Speicherplatz verfügt, um das 17.9-Image zu installieren. Dieser Upgrade-Pfad ist nicht erforderlich, wenn Sie zu einer früheren Version von 9800 als Version 17.9 wechseln (prüfen Sie in den Versionshinweisen von 9800, ob ein Upgrade-Pfad vorhanden ist. Stellen Sie sich vor, Sie kommen von AireOS wie von einem 16.12.9800).
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Problem
Um die Ausfallzeiten während eines Upgrades so gering wie möglich zu halten, verlässt sich der Netzwerkadministrator in der Regel auf die AP-Vorabversion. Wenn der Controller bereits einen neuen Code heruntergeladen hat, diesen jedoch noch nicht neu gestartet hat, können die APs den neuen Code bereits herunterladen, während die Clients weiterhin gewartet werden. Das bedeutet, dass beim Neustart des WLC im neuen Code die APs nur einmal neu gestartet werden, um diesen neuen Code zu starten.
Ohne AP-Pre-Download müssen die APs warten, bis der WLC den neuen Code wieder online stellt, um ihm beizutreten und erst dann zu erkennen, dass sie einen neuen Code herunterladen müssen, ihn gleichzeitig herunterladen müssen und dann neu starten und erneut versuchen, ihm beizutreten.
Das Herunterladen der APs ist nicht nur hilfreich, um die Ausfallzeiten der Clients zu reduzieren, sondern auch, wenn Zweigstellen über eine kleine WAN-Verbindung verfügen oder die Latenz der WAN-Verbindung bedeutet, dass der neue Code für diese APs lange heruntergeladen werden muss. Das Herunterladen erfolgt, während der Access Point die Clients noch bedient, während der Access Point das Vorabdownload verwendet.
Das Problem bei einer Migration besteht jedoch darin, dass Sie es mit zwei separaten Controllern zu tun haben (einem mit AireOS und einem mit Cisco IOS XE), und dass es in dieser Situation keine integrierte Möglichkeit gibt, AP-Pre-Download zu verwenden, damit der AP einen Code von einem anderen Controller vorab herunterladen kann. Die Lösung liegt in der Programmierbarkeit und Automatisierung.
Lösung
Workflow-Konzept
In diesem Artikel wird die Automatisierung (mit dem öffentlich verfügbaren WLAN Poller Tool, siehe Enterprise WLAN-Poller Version) eines einfachen Prozesses erklärt:
- Stellen Sie über SSH eine Verbindung zu allen oder einer Teilmenge der APs her, die dem AireOS WLC angehören.
- Starten Sie das Vorabdownload des Cisco IOS XE AP-Image über den
archive download-sw
Befehl. Der Access Point lädt das Image dann auf seine Backup-Partition herunter, ohne die Clients zu warten und normal zu arbeiten.
- Wenn Sie bereit sind, den AP zu migrieren, konfigurieren Sie den 9800 WLC als primären WLC für die APs, und starten Sie sie neu.
- APs werden auf dem neuen (mit Cisco IOS XE kompatiblen) Code sofort neu gestartet und treten dem 9800 WLC ohne weiteren Neustart bei, wodurch die Ausfallzeit auf einen Neustart-Zyklus begrenzt wird.
Der Vorteil liegt in der Entkopplung des Code-Downloads vom eigentlichen Migration/Reboot und der Beschränkung auf einen Reboot-Zyklus.
Dateiserver mit den AP-Images vorbereiten
Der einfachste Weg ist, die AP-Paketdatei herunterzuladen, die alle AP-Images für eine bestimmte Version enthält. Laden Sie unter cisco.com die Datei für den integrierten Wireless Controller 9120 herunter. Es handelt sich um eine TAR-Datei, die das CAPWAP-AP-Image für jedes AP-Modell enthält. Extrahieren Sie einfach alle .tar-Inhalte auf Ihren TFTP/SFTP-Server und schon sind Sie fertig.
Konfigurieren der WLAN-Abfragedateien für den Code-Download
Nach dem Herunterladen von WLAN Poller für Mac oder Windows, gibt es ein paar Dateien zu bearbeiten, um es an Ihr Netzwerk und Konfiguration anzupassen.
Wenn der WLANPoller ausgeführt wird, stellt er eine Verbindung mit dem WLC her, prüft, ob die APs verbunden sind und stellt eine SSH-Verbindung zu allen APs her. Anschließend wird eine spezifische Befehlsliste auf dem WLC und den APs ausgeführt.
CMDlist_wlc.txt
Diese Datei enthält die Liste der Befehle, die der WLAN-Poller auf dem AireOS-WLC bei jeder Ausführung ausführt. Wir benötigen nicht alle Befehle, die standardmäßig in dieser Datei enthalten sind. Reduzieren Sie daher diesen Dateiinhalt auf die folgenden 2:
show time
show ap summary
Hier werden die APs aufgelistet, die dem WLC hinzugefügt wurden, sowie deren Uhrzeit, nur zum Zweck der Nachverfolgung und Protokollierung.
Cmdlist_cos.txt / Cmdlist_cos_bcm.txt / Cmdlist_cos_qca.txt
Diese Datei enthält die Liste der Befehle, die an die APs der x800-Serie gesendet werden (1800, 2800, 3800).
Löschen Sie den vorhandenen Befehlssatz, und ersetzen Sie ihn durch die folgenden Befehle:
show clock
archive download-sw /no-reload tftp://192.168.1.12/%apimage%
Ersetzen Sie die IP-Adresse aus dem vorherigen Beispiel durch die IP-Adresse Ihres TFTP- oder SFTP-Servers.
Dieser Schritt hängt von mehreren Ebenen der AP-Modelle ab, die Sie anvisieren.
Die Datei cmdlist_cos_qca führt nur Befehle auf 9117- und 9130-Access Points aus. Die Datei cmdlist_cos_bcm führt nur Befehle auf 9115- und 9120-Access Points aus.
Die Datei cmdlist_cos führt Befehle auf 1800s/2800/3800/1540/1560 APs aus.
Anmerkung:
Ab WLAN Poller Version 3.2. werden 9105 APs mit cmdlist_cos ausgeführt, obwohl sie idealerweise mit cmdlist_cos_bcm ausgeführt werden sollten. Dies kann sich in den kommenden Versionen ändern.
Das bedeutet, dass Sie Ihre Befehle in eine oder mehrere dieser Dateien schreiben müssen, abhängig von den APs, die Sie haben.
Der zweite Trick besteht darin, dass Sie das richtige AP-Image für das richtige AP-Modell angeben müssen. Das Beispiel wurde auf einem Access Point 1815 ausgeführt, der dieap1g5
Bilddatei ausführt. Das Schlüsselwort %apimage% (einschließlich Prozentzeichen) ist ein spezielles Schlüsselwort für WLANPoller, das durch den tatsächlichen Dateinamen des App-Images ersetzt werden soll.
Der Einfachheit halber finden Sie hier eine Tabelle der AP-Modelle und das Image, das sie ausführen:
1815/1540/1840 |
ap1g5 |
1810/1830/1850 |
ap1g4 |
2800/3800/4800/1560 |
ap3g3 |
1700/2700/3700 |
ap3g2 (oder c3700 für den 3700AP in Version 8.10) |
9105 |
ap1g8 |
9115/9120 |
ap1g7 |
9117 |
ap1g6 |
9130 |
ap1g6a |
Config.ini
Die Datei config.ini ist die Hauptkonfigurationsdatei und muss für bestimmte Felder geändert werden. In diesem Abschnitt werden nur die Felder behandelt, die in der Standardeinstellung geändert werden müssen:
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>
Auswählen, welche APs betroffen sind
Wenn Sie die bisherigen Anweisungen nur befolgt haben, werden standardmäßig ALLE APs, die derzeit dem AireOS WLC beigetreten sind, vom Skript beeinflusst.
Wenn Sie dies für einen Stapel von Access Points gleichzeitig durchführen möchten, gibt es mehrere Möglichkeiten.
In der Datei config.ini können Sie den Kommentar des Felds aufheben ap_name_filter =
und ein AP-Namenspräfix eingeben.
Beispiele:
ap_name_filter = Branch1-
Dieser Filter stellt eine Verbindung zu allen APs her, die dem WLC angehören und deren Name mit "Branch1-" beginnt.
Wenn Sie genauer sein möchten, können Sie das aplist:
Feld der Datei config.ini verwenden.
Eine Beispiel-CSV-Datei wird mit wlanpoller bereitgestellt. Sie können die Liste der AP-Namen und IPs eingeben, mit denen das Skript eine Verbindung herstellen muss.
AP-Code vor dem Herunterladen ausführen und überprüfen
Führen Sie daswlanpoller
Skript aus. Anschließend werden die Verbindungsdetails angezeigt, und es wird die Anzahl der APs angezeigt, die auf dem WLC angezeigt wurden und auf die SSH zugreifen konnte. Jeder Fehler kann am Ende im Abschnitt Fehler angezeigt werden.
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
============================================================
Wenn während der Ausführung Probleme auftreten
Um zu überprüfen, ob das Skript bisher einwandfrei ausgeführt wurde, können Sie für jeden AP überprüfen, ob das Backup-Image Ihr Ziel-Cisco IOS XE-Code ist.
Einshow version
Symbol in der AP-CLI würde z. B. zu diesem Zeitpunkt angezeigt, wenn alle Optionen erfolgreich waren:
AP Running Image : 8.10.142.0
Primary Boot Image : 8.10.142.0
Backup Boot Image : 17.4.1.6
Im Ordner WLANpoller /logs finden Sie die mit einem Zeitstempel versehene Protokolldatei des WLANpoller-Skripts selbst, falls etwas schief gelaufen ist.
Das Skript wurde möglicherweise selbst erfolgreich ausgeführt, aber die Übertragung kann fehlgeschlagen sein. Im Ordner /data des WLAN-Pollers finden Sie das Ergebnis der vom WLAN-Poller eingerichteten SSH-Sitzungen mit dem WLC und den APs und können jedes Problem identifizieren. Das folgende Beispiel zeigt, dass der TFTP-Server nicht online war:
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 %
Konfigurieren der WLAN-Abfragedateien für die AP-Migration
Wenn Sie nun die APs auf den 9800 verschieben, versuchen sie, ihn mit ihrer aktuellen Partition zu verbinden. Beachten Sie, dass der Code anders ist, aber dass sie die richtige Codeversion in ihrer Backup-Partition haben, und starten dann neu.
Sie können einige Sekunden schneller sein (wenn Sie den ersten Verbindungsversuch speichern), indem Sie der Textdatei die Befehle "config boot path 2" und "%confirm% reload" hinzufügen. Dies würde dann die Backup-Partition als neue aktive Partition festlegen und sofort neu starten (ohne die Zeit zu geben, zu versuchen, dem 9800 WLC beizutreten). Der Access Point wird sofort neu gestartet und dann dem 9800 mit der richtigen Codeversion hinzugefügt.
Das%confirm%
Schlüsselwort ist erforderlich, wenn der Befehl nach dem Schlüsselwort eine "[confirm]"-Eingabeaufforderung erfordert, wie dies beim Befehl reload der Fall ist. Mit dieser Option wird die Aufforderung automatisch akzeptiert.
Cmdlist_cos.txt
show clock
capwap ap secondary-base dummy 192.168.2.1
capwap ap primary-base <9800 name> <9800 IP>
Zugehörige Informationen