Introdução
Este documento descreve o caso de uso específico de uma migração de uma controladora Wireless LAN (WLC) AireOS para uma WLC Catalyst 9800 baseada no Cisco IOS® XE.
Pré-requisitos
Requisitos
Este documento pressupõe que você tenha uma WLC AireOS e uma WLC 9800 já configuradas e prontas para migração. Ele também pressupõe que você tenha configurado um servidor TFTP/SFTP em sua rede que possa ser acessado pelos pontos de acesso.
Essa é uma migração em que o administrador de rede procura minimizar o tempo de inatividade para clientes sem fio o máximo possível. Este artigo não aborda a migração da configuração entre os dois modelos de controlador e se concentra apenas na automatização do pré-download do AP, de modo que os access points (AP) sejam reinicializados apenas uma vez durante a troca do controlador.
Componentes Utilizados
Este artigo foi escrito com base em um cenário 9800-L e 3504, executando 8.10 e 17.4.1, no entanto, ele deve ser aplicado de forma semelhante a todas as versões de software, bem como a 9800-CL,9800-40,9800-80, 5520,8540, vWLC e 8510.
Requer WLANPoller versão 3.1.
A versão 17.9 do 9800 requer um caminho de atualização até a versão 17.3.7, se for proveniente de uma versão anterior e do software AireOS 8.x. Não é possível ter uma transição suave entre uma WLC 8.5 e uma 17.9 9800 usando este artigo para obter um único pré-download, você precisa usar este artigo para fazer um pré-download para 17.3.7 e, em seguida, deixar que os APs baixem 17.9 da WLC usando o processo habitual depois disso.
Se um AP faz o download do código 17.9 ao executar uma versão anterior a 17.3.5/17.3.6/17.3.7, ele reclama que não há espaço suficiente para instalar a imagem 17.9. Esse caminho de atualização não é necessário se você estiver indo para uma versão 9800 anterior à 17.9 (verifique as notas de versão 9800 para ver se há um caminho de atualização. Considere que vir do AireOS é como vir de um 16.12.9800).
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Problema
Para minimizar o tempo de inatividade durante uma atualização, o administrador de rede normalmente depende do pré-download do AP. Esse recurso permite que, quando a controladora já tiver baixado um novo código, mas ainda não tiver reinicializado nesse novo código, os APs baixem o novo código já enquanto ainda estão atendendo os clientes. Isso significa que quando a WLC reinicializa no novo código, os APs reinicializam apenas uma vez para inicializar nesse novo código.
Sem o pré-download do AP, os APs têm que esperar que a WLC volte a ficar on-line no novo código para tentar ingressar nele e perceber apenas então que precisam baixar um novo código, baixá-lo todo ao mesmo tempo e reinicializar e tentar ingressar novamente.
O pré-download de AP, além de reduzir o tempo de inatividade do cliente, também é útil para situações em que as filiais têm uma pequena conexão WAN ou a latência na conexão WAN significa um longo tempo para fazer o download do novo código para esses APs. O download acontece enquanto o AP ainda está servindo os clientes ao usar o pré-download do AP.
No entanto, o problema no caso de uma migração é que você está lidando com dois controladores separados (um executando o AireOS e outro executando o Cisco IOS XE) e não há meios incorporados para usar o pré-download de AP nessa situação para que o AP faça o pré-download de um código de outro controlador. A solução está na capacidade de programação e automação.
Solução
Conceito de fluxo de trabalho
Este artigo explica a automação (usando a ferramenta de pesquisa de WLAN disponível publicamente, consulte Versão de pesquisa de WLAN corporativa) de um processo simples:
- Conecte-se a todos, ou a um subconjunto de, APs unidos à WLC AireOS via SSH.
- Inicie o pré-download da imagem do AP Cisco IOS XE através do
archive download-sw
comando. Em seguida, o AP faz o download da imagem para sua partição de backup enquanto ainda atende aos clientes e opera normalmente.
- Quando estiver pronto para migrar o AP, configure a WLC 9800 como WLC primária para os APs e reinicialize-os.
- Os APs reinicializam no novo código (compatível com o Cisco IOS XE) imediatamente e se juntam à WLC 9800 sem nenhuma reinicialização adicional, limitando o tempo de inatividade a um ciclo de reinicialização.
A vantagem está na dissociação do download de código da migração/reinicialização real e na limitação a um ciclo de reinicialização.
Preparar o servidor de arquivos com as imagens do AP
A maneira mais fácil é fazer o download do arquivo de pacote AP que contém todas as imagens de AP para uma determinada versão. Acesse a seção de download cisco.com e faça o download do arquivo 9120 Embedded Wireless Controller para obter a versão de sua preferência. É um arquivo .tar que contém a imagem CAPWAP AP para cada modelo de AP. Basta extrair todo o conteúdo .tar para o servidor TFTP/SFTP e pronto.
Configurar arquivos de pesquisa WLAN para a operação de download de código
Depois de baixar WLAN Poller para Mac ou Windows, há alguns arquivos para editar para adaptá-lo à sua rede e configuração.
O WLANPoller, quando executado, se conecta à WLC, verifica os APs unidos e o SSH para todos eles. Em seguida, ele executa uma lista específica de comandos na WLC e nos APs.
CMDlist_wlc.txt
Esse arquivo contém a lista de comandos que a WLAN Poller executa no AireOS WLC sempre que ele é executado. Não precisamos de todos os comandos que estão neste arquivo por padrão, portanto, reduza o conteúdo deste arquivo para apenas estes 2:
show time
show ap summary
Isso lista os APs unidos à WLC e o tempo, apenas para fins de rastreamento e registro.
Cmdlist_cos.txt / Cmdlist_cos_bcm.txt / Cmdlist_cos_qca.txt
Esse arquivo contém a lista de comandos que são enviados aos APs da série x800 (1800,2800,3800).
Exclua o conjunto existente de comandos e substitua por estes comandos:
show clock
archive download-sw /no-reload tftp://192.168.1.12/%apimage%
Substitua o endereço IP do exemplo anterior pelo IP dos detalhes do seu servidor TFTP ou SFTP.
Esta etapa depende de vários níveis dos modelos de AP que você está buscando.
O arquivo cmdlist_cos_qca executa somente comandos nos pontos de acesso 9117 e 9130. O arquivo cmdlist_cos_bcm só executa comandos nos pontos de acesso 9115 e 9120.
o arquivo cmdlist_cos executa comandos em APs 1800s/2800/3800/1540/1560.
Note:
A partir da versão 3.2 da pesquisa de WLAN, os APs 9105 são executados com cmdlist_cos, embora o ideal seja executá-los com cmdlist_cos_bcm. Isso pode mudar nas próximas versões.
Isso significa que você precisa gravar seus comandos em um ou mais desses arquivos, dependendo dos APs que você tem.
O segundo truque é que você precisa especificar a imagem do AP certo para o modelo do AP certo. O exemplo dado pouco antes foi executado em um AP 1815 que executa o arquivo deap1g5
imagem. A palavra-chave %apimage% (caracteres percentuais incluídos) é uma palavra-chave especial para WLANPoller substituir pelo nome de arquivo de imagem ap real.
Por conveniência, esta é uma tabela de modelos de AP e a imagem que eles executam:
1815/1540/1840 |
ap1g5 |
1810/1830/1850 |
ap1g4 |
2800/3800/4800/1560 |
ap3g3 |
1700/2700/3700 |
ap3g2 (ou c3700 para o 3700AP na versão 8.10) |
9105 |
ap1g8 |
9115/9120 |
ap1g7 |
9117 |
ap1g6 |
9130 |
ap1g6a |
Config.ini
O config.ini é o arquivo de configuração principal e deve ser alterado para determinados campos. Esta seção abrange apenas os campos que precisam ser alterados em relação ao padrão:
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>
Selecione quais APs são afetados
Por padrão, se você apenas seguiu as instruções até agora, TODOS os APs atualmente conectados à WLC AireOS serão afetados pelo script.
Se você quiser fazer isso por lote de APs de uma vez, há várias maneiras.
No arquivo config.ini, você pode descomentar o campo e digitar um prefixo de nome de APap_name_filter =
.
Por exemplo:
ap_name_filter = Branch1-
Esse filtro se conecta a todos os APs unidos à WLC cujo nome começa com "Branch1-".
Se quiser ser mais específico, você pode usar o campo aplist:
do arquivo config.ini.
Um arquivo CSV de exemplo é fornecido com wlanpoller, você pode digitar a lista de nomes de AP e IPs aos quais o script deve se conectar.
Execute a operação de pré-download do código AP e verifique
Execute owlanpoller
script. Em seguida, ele exibe os detalhes da conexão e fornece a quantidade de APs vistos na WLC e nos quais foi possível executar SSH. Qualquer erro pode ser exibido na seção Erro no final.
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
============================================================
Se houver problemas durante a execução
Para verificar se o script foi executado corretamente até agora, você pode verificar cada AP se a imagem de backup é o código do Cisco IOS XE de destino.
Umshow version
no AP CLI seria exibido, por exemplo, neste ponto se tudo fosse bem-sucedido:
AP Running Image : 8.10.142.0
Primary Boot Image : 8.10.142.0
Backup Boot Image : 17.4.1.6
Na pasta WLANpoller /logs, você encontrará o arquivo timestamp-log do próprio script WLANpoller se algo der errado.
O próprio script pode ter sido executado com êxito, mas a transferência pode ter falhado. Na pasta /data dentro da Wlan Poller, você encontrará o resultado das sessões de SSH estabelecidas pela WLAN Poller em relação à WLC e aos APs e pode identificar qualquer problema. Aqui está um exemplo em que o servidor TFTP não estava on-line:
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 %
Configurar arquivos de pesquisa WLAN para a operação de migração AP
Se agora você mover os APs para o 9800, eles tentam uni-lo com sua partição atual, observe que o código é diferente, mas que eles têm a versão de código correta em sua partição de backup e, em seguida, reinicializar.
Você pode ser alguns segundos mais rápido (salvando a primeira tentativa de junção) adicionando um comando "config boot path 2" e depois "%confirm% reload" a este arquivo de texto. Isso definiria a partição de backup como a nova partição ativa e reinicializaria imediatamente (sem dar tempo para tentar se unir à WLC 9800). O AP será imediatamente reinicializado e, em seguida, ingressará no 9800 com a versão de código correta.
A palavra-chave%confirm%
é necessária quando o comando depois da palavra-chave requer um prompt "[confirm]", como o comando reload. Isso aceita automaticamente o prompt.
Cmdlist_cos.txt
show clock
capwap ap secondary-base dummy 192.168.2.1
capwap ap primary-base <9800 name> <9800 IP>
Informações Relacionadas