Introdução
Este documento descreve como lidar com problemas de corrupção de flash relatados nos Pontos de Acesso (AP) do Cisco IOS.
Pré-requisitos
Requisitos
A Cisco recomenda que você tenha conhecimento básico de:
- Controlador LAN sem fio (WLC) AireOS
- APs leves
- Python 2. 7 (nada mais alto)
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
- Access points internos Cisco Aironet 1040, 1140, 1250, 1260, 1600, 1700, 2600, 2700, 3500, 3600, 3700, 700, AP801 e AP802 Series
- Pontos de acesso sem fio industriais e externos Cisco Aironet 1520 (1522, 1524), 1530, 1550 (1552), 1570 e Industrial Wireless 3700 Series
Observação: há uma prevalência muito maior em modelos AP Wave1 como 1700/2700/3700 e 2600/3600 neste problema em comparação com outros tipos de AP devido ao tipo de HW flash.
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.
Informações de Apoio
De acordo com FN70330 - O AP do Cisco IOS ficou retido devido a um problema de corrupção de flash, devido a uma série de bugs de software em um AP em operação normal, o sistema de arquivos flash em alguns APs do Cisco IOS pode se tornar corrompido com o tempo. Isso é visto especialmente depois que um upgrade é executado para a WLC, mas não necessariamente limitado a esse cenário.
O AP funciona e atende o cliente enquanto estiver nesse estado de problema que não é facilmente detectável.
Solução
Corrigir antes da atualização do WLC
Para identificar os APs afetados na rede e corrigi-los antes de uma atualização. Você precisa executar a pesquisa de WLAN.
Cuidado: antes de atualizar, leia todo este documento.
Lógica da pesquisa de WLAN
Cada vez que o script é executado, ele verifica se uma flash AP está acessível ou não.
Se estiver acessível, ele executará o comando fsck flash:
Se tudo estiver OK, vá para o próximo AP.
- caso contrário, repita o comando até 4 vezes. Se houver uma falha, o script pode relatá-la no relatório final e este AP está qualificado para ser recuperado.
se estiver inacessível
- o script sinaliza o AP em seu relatório final e este AP é elegível para ser recuperado.
Se estiver acessível, o AP pode verificar os valores MD5 para arquivos críticos.
Se todos os valores forem bons, vá para o próximo AP.
- caso contrário, o script pode relatar isso no relatório final e este AP é elegível para ser recuperado.
O script precisa ser executado três vezes.
- Executar
- O script cria o banco de dados MD5 com base no valor de checksum MD5 para cada arquivo no AP. O valor MD5 final de um arquivo específico é aquele que tem mais acertos na mesma família de APs no WLC.
- Executar
- O script compara os valores da soma de verificação MD5 com seu banco de dados. Se o valor for correspondente, o arquivo estará OK; caso contrário, o AP será sinalizado para ser recuperado na terceira execução.
- Executar
- O script aciona o comando test capwap image capwap somente para os APs que foram sinalizados durante as duas etapas anteriores.
Observação: esse método de recuperação faz com que o AP seja recarregado depois que a imagem for baixada e instalada. Certifique-se de executá-lo em uma janela de manutenção.
Instalar/Preparar pesquisa de WLAN
1. Descarregue a ferramenta WLAN Poller.
Observação: se você baixar a versão mais recente da ferramenta WLAN Poller do link anterior, ignore as etapas 2 e 3. Esta versão pode instalar automaticamente todos os componentes necessários para sua ferramenta de pesquisa de WLAN. Se você tiver uma versão mais antiga (.rar) de WLAN Poller, execute as próximas etapas 2 e 3.
2. Mova o arquivo para uma pasta específica na qual você deseja armazenar os arquivos da Sondagem de WLAN.
3. Para obter instruções sobre como instalar o script, consulte o próximo link:
Para obter um guia passo a passo sobre uma máquina com Windows 10, clique aqui.
Para obter um guia passo a passo sobre o MAC OS, clique aqui.
4. Prepare o arquivo config.ini.
Quando a instalação estiver concluída e os arquivos forem gerados. Você precisa editar o arquivo config.ini.
Especificar o modo de conexão WLC/AP:
; config global mode for WLC and AP connection: "ssh" or "telnet"
mode: ssh
ap_mode: ssh
Especificar credenciais de WLC/AP:
; set global WLC credentials
wlc_user: <wlc_user>
wlc_pasw: <wlc_pasw>
; set global AP credentials
ap_user: <ap_user>
ap_pasw: <ap_pasw>
ap_enable: <ap_enable>
Para a verificação/recuperação flash, estas são as opções.
Para identificar os APs afetados, use:
; ap file system checks (WARNING: recover can force Cisco IOS image download and AP reload)
ap_fs_check: True
ap_fs_recover: False
Para recuperar APs, use:
; ap file system checks (WARNING: recover can force Cisco IOS image download and AP reload)
ap_fs_check: True
ap_fs_recover: True
Especificar informações de WLC
Neste exemplo, o nome da WLC é 2504-WLC. Você pode encontrar essas informações na página Monitor de WLC.
; WLC sections must be named as [WLC-<wlcname>]
[WLC-2504-Rafis]
active: True
ipaddr: <wlc-ip-addr>
Você pode adicionar várias WLCs. Para fazer isso, copie/cole a sintaxe anterior com as novas informações da WLC.
Observação: você não precisa especificar nenhuma lista de APs. O script seleciona o AP da WLC.
Executar pesquisa de WLAN
A partir do diretório em que os arquivos de configuração foram criados (seção anterior, etapa 3). Use este comando: wlanpoller --cli-logging .
Quando o script estiver pronto, ele fornecerá este resumo:
============================================================
Summary
============================================================
Total APs : 1
Processed APs : 1
Failed APs : 0
============================================================
Errors
============================================================
AP MD5 checksum mismatch : 2
AP FSCK recover : 1
============================================================
Observação: lembre-se de que o script precisa ser executado duas vezes para ter informações precisas sobre quantos APs são afetados.
Saída da pesquisa de WLAN
No caminho em que o script foi executado. Ele cria esses arquivos.
- ap_md5_db.json: banco de dados MD5
- Log de Pastas
- Ele armazena toda a exibição de saída pela pesquisa da WLAN no terminal.
- Dados da pasta
- Ele divide os relatórios neste caminho: <ano> / <mês> / <dia>
File: <timestamp>_ap_fs.csv - Resumo das verificações executadas em APs e seus resultados.
Descrição das colunas
- ap_name: O nome do AP.
- ap_type: modelo AP.
- ap_uptime: Tempo de atividade para o AP (dias).
- ap_ios_ver: versão do Cisco IOS.
- fs_free_bytes: número de bytes livres no sistema de arquivos flash.
- flash_issue: True se alguma corrupção de flash tiver sido observada.
- fs_zero_size: True quando o flash suspenso tiver sido detectado sistema de arquivos mostrando "-" - (show file system - comando).
- fsck_fail: Verdadeiro se a verificação do sistema de arquivos falhou. - (comando fsck flash: -).
- fsck_busy: Dispositivo verdadeiro ou recurso ocupado quando é flash fsck.
- fsck_recover: Verdadeiro quando um erro ocorreu no fsck, mas é corrigido no próximo fsck.
- fsck_attempts: Número de tentativas do fsck de recuperar o AP (máx. 4).
- md5_fail: verdadeiro quando md5 pelo menos um arquivo é diferente do armazenado no banco de dados.
- rcv_trigger: Verdadeiro quando o AP tentou baixar a imagem da WLC quando o problema foi detectado e a recuperação foi habilitada.
File: <timestamp>_ap_md5.csv Detalhes dos valores de checksum MD5 de todos os arquivos (em todos os APs).
Descrição das colunas
- ap_name: O nome do AP.
- ap_type: modelo AP.
- ap_uptime: Tempo de atividade para o AP (dias).
- nome do arquivo: nome do arquivo de imagem do Cisco IOS.
- md5_hash: valor md5 para nome de arquivo.
- is_good: O valor md5 verdadeiro corresponde ao valor armazenado em db. Incompatibilidade md5 falsa observada para este arquivo.
- is_zero_bytes: Verdadeiro quando o nome do arquivo tem 0 bytes com base em md5checksum de modo que o arquivo está incorreto.
- md5_error: Mensagem de erro ao recuperar o valor md5 se não for possível obter md5 para o nome de arquivo.
Observação: pode haver situações em que o script de recuperação Poller da WLAN não consegue recuperar determinado AP e esse AP permanece sinalizado como falha no relatório. Nesses cenários, recomenda-se a recuperação manual do AP por telnet/SSH/console na CLI do AP. Abra o TAC SR se precisar de assistência nesse processo. Anexe toda a saída gerada da pesquisa de WLAN ao caso.
AP Stranded
Se a conexão SSH/telnet
Você pode executar as próximas etapas para tentar recuperar o AP:
AP# debug capwap console cli
AP# debug capwap client no-reload
- Formate a memória flash em caso de sucesso e, em seguida, você poderá prosseguir para a próxima etapa senão sair.
AP# format flash:
- Carregar uma imagem de recuperação. A imagem de recuperação pode ser encontrada aqui.
archive download-sw /overwrite tftp://<IP address>/<file name>
- Verifique MD5 na imagem de recuperação carregada, se estiver correto, continue na próxima etapa
AP# verify /md5 flash:/<image directory>/<image file>
Você pode comparar o valor da CLI com o valor na página da Web da Cisco.
- Definir variável de inicialização para imagem de Recuperação recém-baixada:
AP#show boot
AP(config)#boot system flash:/RCV/RCV-image
Se o status do AP Rommon
Você pode tentar o mesmo que o anterior, mas a partir dos comandos boot. Estes são os comandos que você pode usar:
ap: tftp_init
ap: ether_init
ap: flash_init
ap: format flash:
ap: set IP_ADDR <IP Address>
ap: set NETMASK <mask>
ap: set DEFAULT_ROUTER < default router >
ap: tar -xtract tftp://<IP address>/<file name> flash:
ap: set BOOT flash:/<file name>
ap: boot
Não é possível executar SSH/Telnet
Porta de switch de devolução, algumas vezes, verifique se isso ajuda.
Guia passo a passo para instalar a pesquisa de WLAN no Windows 10
Observação: se você baixar a versão mais recente da ferramenta WLAN Poller, poderá ignorar esta seção.
- Baixe e instale o Python 2.7.14 neste link.
- Descarregue e instale o Compilador C++ para clientes Python para Windows neste link.
- Após a instalação, vá para Configurações do sistema no Painel de controle e selecione Configurações avançadas do sistema (certifique-se de que todos os terminais do Windows estejam fechados):
- Na janela exibida, selecione Environment Variables (Variáveis de ambiente).
- Nesse local, selecione a variável Caminho nas variáveis do sistema e clique em Editar.
- Nessa janela, adicione o caminho ao diretório base onde você instalou o Python 2.7.14.0 e o C:\<Diretório base>\Scripts para que a linha de comando do laptop reconheça os comandos python. Clique em New e adicione o caminho manualmente.
Feche todas as janelas de configurações e os terminais (prompt de comando) abertos, se houver.
- Verifique se o pip está instalado, abra um novo terminal e digite pip —version:
Outra opção é verificar se há um arquivo chamado pip ou pip2 ou pip2.7 na pasta: C:\Python27\Scripts :
- Se tudo estiver OK, vá para a seção upgrade pip, Etapa 8.
- Se você receber um erro ou não encontrar a pasta/os arquivos continuam a ler.
Instalar PIP
- Feche o terminal e instale o pip a partir do próximo link.
- Baixe e salve o arquivo get-pip.py. No site, procure:
- Copie o arquivo get-pip-py para a pasta C:\Python27.
Observação: se você copiar e colar o conteúdo do site, certifique-se de que ele não tenha a extensão py.txt, verifique isso com um diretório na pasta C:\Python27, se isso acontecer, renomeie o arquivo do terminal.
Renomeie o arquivo com o próximo comando:
- Na mesma pasta C:\Python27 execute python get-pip.py.
- Atualize o PIP para a versão mais recente com o próximo comando: pip install —upgrade pip.
- As etapas anteriores podem instalar todos os pacotes necessários. Agora abra uma linha de comando para o Windows e vá para o diretório onde você armazenou o arquivo .tar.gz WLAN Poller (use: cd <Caminho para o diretório>).
- Instale o script com o comando pip install wlanpoller-0.7.1.dev90_md5rcv.tar.gz.
- Crie um novo diretório para armazenar todas as informações da Sondagem de WLAN.
- Na linha de comando, vá até esse diretório e execute o comando wlanpoller —generate-configs para criar as variáveis de instalação e os arquivos de configuração necessários para a execução do script:
Clique aqui para continuar com o arquivo config.ini.
Guia passo a passo para instalar WLAN Poller no MacBook
Observação: se você baixar a versão mais recente da ferramenta WLAN Poller, poderá ignorar esta seção.
O MAC OS já tem o python instalado. Para instalar o restante dos pacotes, siga as próximas etapas:
- Vá para a pasta em que você tem a Pesquisa de WLAN file: cd <caminho>.
- Uma vez que lá executar este comando: sudo pip install wlanpoller-<versão>.tar.gz . Para isso, você precisou da senha sudo (senha do administrador do MACBook).
- Crie um novo diretório para organizar todos os arquivos que o script pode criar.
- mkdir <nome do diretório>
- cd <diretory name>
- Execute o próximo comando para que o script prepare todos os diretórios/arquivos necessários para executar o script: wlanpoller —generate-configs.
Clique aqui para continuar com o arquivo config.ini.
Restrições da Sondagem de WLAN
- A WLAN Poller só é testada para suporte em sistemas Windows 10 de 64 bits e Apple MacBook versão 10.11 ou superior.
- Se você não usar a versão mais recente da ferramenta WLANPoller, somente a versão Python 2.7 é suportada nas versões mais antigas.
- Se os nomes de AP tiverem caracteres especiais, como os erros seguintes, eles serão vistos durante a execução do script.
- O usuário precisaria remover manualmente os caracteres especiais do nome do AP para corrigir o problema.
Informações Relacionadas