目录

简介

先决条件

要求

使用的组件

问题

解决方案

工作流程概念

使用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无线局域网控制器(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。

它需要WLANoller版本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版本，则不需要此升级路径(请查看9800版本说明以查看是否有升级路径。考虑从AireOS的来源就像从16.12 9800的来源一样)。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

问题

为了最大限度地减少升级过程中的停机时间，网络管理员通常依赖于AP预下载。此功能允许当控制器已下载新代码但尚未重新启动该新代码时，AP在仍为客户端提供服务时下载新代码。这意味着当WLC重新启动新代码时，AP仅重新启动一次，以便在该新代码上启动。

如果没有AP预下载，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下载部分，下载9120嵌入式无线控制器文件，以获得您选择的版本。它是一个包含每个AP型号的CAPWAP AP映像的.tar文件。只需将所有.tar内容提取到TFTP/SFTP服务器即可完成。

为代码下载操作配置WLAN轮询器文件

下载Mac或Windows版WLAN轮询器后，需要编辑几个文件，使其适应您的网络和配置。

运行WLANPoller时，它会连接到WLC，检查加入的AP以及连接到所有这些AP的SSH。然后，它会在WLC和AP上运行特定命令列表。

CMDlist_wlc.txt

此文件包含WLAN轮询器每次运行在AireOS WLC上运行的命令列表。默认情况下，我们不需要此文件中包含的所有命令，因此请将此文件内容缩减为以下两项：

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%

请使用您的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映像。前面给出的示例是在运行  ap1g5  映像文件。关键字%apimage%(包括百分比字符)是WLANoller的一个特殊关键字，用于替换为实际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-

此过滤器连接到所有加入名称以“Branch1 — ”开头的WLC的AP。

如果您想要更具体，您可以使用  aplist:  config.ini文件的字段。

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。

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轮询器版本

- 思科技术支持和下载