Introdução
Este documento descreve como recriar o Application Policy Infrastructure Controller (APIC) com a ajuda do servidor HTTP.
Pré-requisitos
Requisitos
- O Cisco Integrated Management Controller (CIMC) deve ser configurado com o endereço IP OOB.
- Verifique as notas de versão do APIC e confirme para qual imagem de software do APIC você precisa recriar.
- Obtenha a imagem do software em software.cisco.com.
- Confirme se a soma de verificação MD5 da imagem corresponde à publicada em Cisco.com.
- Carregue a imagem do APIC no servidor HTTP.
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas.
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
No caso de uma interrupção de cluster do APIC ou migração de hardware de L2/M2 para L4/M4, os dispositivos individuais do APIC podem exigir uma nova geração de imagens para restaurar a funcionalidade. Este procedimento descreve uma abordagem simplificada para recriar APICs, uma por uma, usando um servidor HTTP que facilita a recuperação mais rápida de clusters com o mínimo de interrupção.
Repita o processo sequencialmente para cada dispositivo APIC que necessite de recriação de imagem. Depois que todas as APICs forem recriadas, restaure a configuração do cluster conforme necessário e realize testes completos para validar a funcionalidade.
Esse procedimento conciso permite a recuperação eficiente do APIC, permitindo que os administradores lidem com as interrupções do cluster imediatamente e restaurem as operações de rede com eficiência.
Solução
Para recriar o APIC usando um servidor HTTP, as seguintes etapas são necessárias.
Etapa 1.Faça o download do firmware do site da Cisco.
Abra software.cisco.com/download.
Etapa 2. Insira o APIC e selecione a versão apropriada para a ACI aqui — neste caso, 4.2(7F) está selecionado.
Por exemplo:

Etapa 3. Copie a imagem ISO do software APIC para o servidor HTTP.
Exemplo: http://x.x.x.x/iso/

Etapa 4. SSH/Console para Cisco Integrated Management Controller.
# ssh admin@cimc_ip
Onde cimc_ip é o endereço IP do CIMC. Por exemplo:
# ssh admin@x.x.x.x
admin@x.x.x.x's password:
system#
system# scope vmedia
system /vmedia #
system /vmedia # map-www volume_name http://http_server_ip_and_path iso_file_name
Where:
- volume_name é o nome do volume.
- http_server_ip_and_path é o endereço IP do servidor HTTP e o caminho para o local do arquivo .iso.
- iso_filename é o nome do arquivo .iso.
Note: Há espaço entre http_server_ip_and_path e iso_filename.
Por exemplo:
system /vmedia # map-www apic http://x.x.x.x/iso/ aci-apic-dk9.4.2.7f.iso
Server username: admin
Server password:
Confirm password:
Note: /* Se nenhuma autenticação for necessária aqui, apenas pressione Enter.
system /vmedia # show mappings detail
O Map-Status deve ser mostrado como OK.
Por exemplo:
system /vmedia # show mappings detail
Volume apic:
Map-Status: OK
Drive-Type: CD
Remote-Share: http://x.x.x.x/iso/
Remote-File: aci-apic-dk9.4.2.7f.iso
Mount-Type: www
Mount-Options: noauto,username=admin,password=********3
system /vmedia #
system /vmedia # connect host
CISCO Serial Over LAN:
Press Ctrl+x to Exit the session
Etapa 5. Desligue e ligue o console KVM da GUI do CIMC.
Escolha Power > Power Cycle System (cold boot) para desligar e religar a controladora

No console SOL: Observe a tela durante o processo de inicialização e prepare-se para pressionar F6 no momento apropriado para entrar no menu de seleção de inicialização.
Por exemplo:

Depois de pressionar a tecla F6
Note: Se você perder a oportunidade e não conseguir pressionar F6 no momento apropriado, volte para a Etapa 5 para executar o ciclo de força da controladora e repita o processo até conseguir pressionar F6 para entrar no menu de seleção de inicialização.

Você também pode precisar digitar a senha do BIOS. A senha padrão é password.

No menu de seleção de inicialização, selecione a opção Cisco CIMC-Mapped vDVD1.22 como o dispositivo de inicialização único.

Etapa 6. Volte para a CLI do CIMC e monitore a saída do comando Connect Host.
Monitore o CIMC cli , quando receber a mensagem Para acelerar a instalação, insira o url iso nos próximos dez minutos e, em seguida, insira o URL do servidor http com imagem APIC.
++ grep /run/install/repo
++ cut -f 1 -d ' '
++ tr -d '[:digit:]'
+ usbdevice=/dev/sr
+ mkdir /mnt/usbdata
+ mount /dev/sr2 /mnt/usbdata
mount: special device /dev/sr2 does not exist
+ true
+ '[' -f /mnt/usbdata/ifabric.iso ']'
+ mountpoint -q /mnt/usbdata
+ true
+ echo 'INFO: found second partition on install media but did not find ifabric.iso. '
INFO: found second partition on install media but did not find ifabric.iso.
+ echo 'Continuing on to ISO URL prompt.'
Continuing on to ISO URL prompt.
+ '[' 0 -eq 0 ']'
+ read_iso_url
+ true,,
+ echo 'To speed up the install, enter iso url in next ten minutes: ' << Enter the http server URL with apic image >>
To speed up the install, enter iso url in next ten minutes:
+ read -t 600 -p '? ' url
?
http://x.x.x.x/iso/aci-apic-dk9.4.2.7f.iso 5:program-log << Enter the http server details >>
[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1
Note: Não há espaço entre http_server_ip_and_path e iso_filename.
Passo 7. Depois de digitar o URL HTTP, o processo de inicialização continuará.
Note: Se você escolher a opção static, será solicitado que insira o nome da interface, o endereço IP de gerenciamento e o gateway.
+ '[' 0 -eq 0 ']'
+ read_iso_url
+ true
+ echo 'To speed up the install, enter iso url in next ten minutes: '
To speed up the install, enter iso url in next ten minutes:
+ read -t 600 -p '? ' url
?
[ahttp://x.x.x.x/iso/aci-apic-dk9.4.2.7f.iso 5:program-log
++ awk -F '/|:' '{print $4}'
+ urlip=x.x.x.x
+ '[' -z http://x.x.x.x/iso/aci-apic-dk9.4.2.7f.iso ']'
+ '[' -z x.x.x.x ']'
+ break
+ '[' -n http://x.x.x.x/iso/aci-apic-dk9.4.2.7f.iso ']'
+ set +e
+ configured=0
+ '[' 0 -eq 0 ']'
+ echo 'Configuring network interface'
Configuring network interface
+ echo 'type static, dhcp, bash for a shell to configure networking, or url to re-enter the url: '
>>
<< Type static and configure the APIC OOB IP address with it’s gateway>>
type static, dhcp, bash for a shell to configure networking, or url to re-enter the url:
+ read -p '? ' ntype
? static. << Enter the static to configure the networking >>
[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1
Note: Depois de digitar o estático, ele listará a interface do CIMC, selecione a interface correta. se você selecionou a interface errada, a perda de pacotes será de 100% e, depois de três tentativas de ping com falha , ele solicitará novamente a seleção da interface correta até que a perda de pacotes seja 0 se você não souber que a interface seleciona todas as interfaces uma por uma.
Por exemplo:
+ case $ntype in
+ configure_static
+ echo 'Available interfaces'
Available interfaces
+ ls -l /sys/class/net
total 0
lrwxrwxrwx. 1 root root 0 May 3 07:08 enp11s0 -> ../../devices/pci0000:00/0000:00:03.0/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:00.0/0000:0b:00.0/net/enp11s0
lrwxrwxrwx. 1 root root 0 May 3 07:08 enp12s0 -> ../../devices/pci0000:00/0000:00:03.0/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:01.0/0000:0c:00.0/net/enp12s0
lrwxrwxrwx. 1 root root 0 May 3 07:08 enp1s0f0 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.0/net/enp1s0f0
lrwxrwxrwx. 1 root root 0 May 3 07:08 enp1s0f1 -> ../../devices/pci0000:00/0000:00:01.0/0000:01:00.1/net/enp1s0f1
lrwxrwxrwx. 1 root root 0 May 3 07:08 lo -> ../../devices/virtual/net/lo
+ read -p 'Interface to configure: ' interface
Interface to configure: enp1s0f0 << select the correct interface >>
[anaconda] 1:main* 2:shell 3:log 4:storage-lo>
Etapa 8. Verificação correta da interface.
Depois de entrar na interface, ele tentará fazer ping no servidor http e, se a interface selecionada estiver correta, a perda de pacotes deverá ser de 0% e começar a buscar a imagem do servidor http.
Por exemplo: Depois de entrar na interface correta com 0% de perda de pacotes.
+ read -p 'Interface to configure: ' interface
Interface to configure: enp1s0f0
+ read -p 'address: ' addr
address: x.x.x.x/24
+ read -p 'gateway: ' gw
gateway: x.x.x.x
+ ip addr add x.x.x.x/24 dev enp1s0f0
+ ip link set enp1s0f0 up
+ ip route add default via x.x.x.x
++ seq 1 2
+ for count in '$(seq 1 2)'
+ ping -c 1 x.x.x.x
PING x.x.x.x (x.x.x.x) 56(84) bytes of data.
64 bytes from x.x.x.x: icmp_seq=1 ttl=64 time=55.0 ms
--- x.x.x.x ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 55.056/55.056/55.056/0.000 ms
+ configured=1
+ break
+ '[' 1 -eq 0 ']'
+ echo 'Fetching http://x.x.x.x/iso/aci-apic-dk9.4.2.7f.iso'
Fetching http://x.x.x.x/iso/aci-apic-dk9.4.2.7f.iso >> started fetching the apic image from HTTP server
+ wget -o /dev/null -O /tmp/cdrom.iso http://x.x.x.x/iso/aci-apic-dk9.4.2.7f.iso
Se você selecionou a interface errada, a perda de pacotes será de 100% e, depois de três tentativas de ping com falha, ele solicitará novamente que você selecione a interface correta.
Por exemplo: Depois de entrar na interface errada com 100% de perda de pacotes.
+ read -p 'Interface to configure: ' interface
Interface to configure: enp11s0
+ read -p 'address: ' addr
address: x.x.x.x/24
+ read -p 'gateway: ' gw
gateway: x.x.x.x
+ ip addr add x.x.x.x/24 dev enp11s0
+ ip link set enp11s0 up
+ ip route add default via x.x.x.x
++ seq 1 2
+ for count in '$(seq 1 2)'
+ ping -c 1 x.x.x.x
PING x.x.x.x (x.x.x.x) 56(84) bytes of data.
From x.x.x.x icmp_seq=1 Destination Host Unreachable
--- x.x.x.x ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
+ sleep 20
+ for count in '$(seq 1 2)'
+ ping -c 1 x.x.x.x
PING x.x.x.x (x.x.x.x) 56(84) bytes of data.
From x.x.x.x icmp_seq=1 Destination Host Unreachable
--- x.x.x.x ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
+ sleep 20
+ '[' 0 -eq 0 ']'
+ echo 'Configuring network interface'
Configuring network interface
+ echo 'type static, dhcp, bash for a shell to configure networking, or url to re-enter the url: ' <>
type static, dhcp, bash for a shell to configure networking, or url to re-enter the url:
+ read -p '? ' ntype
?
Continue monitorando a CLI do CIMC e aguarde aproximadamente 40-50 minutos. Você obterá a seguinte saída na cli.
[anaconda] 1:main* 2:shell 3:log 4:storage-lo> Switch tab: Alt+Tab | Help: F1
[ OK ] Started Show Plymouth Power Off Screen.
[ OK ] Stopped Availability of block devices.
Stopping Logout off all iSCSI sessions on shutdown...
Stopping LVM2 metadata daemon...
[ OK ] Stopped LVM2 metadata daemon.
[ OK ] Stopped Logout off all iSCSI sessions on shutdown.
[ OK ] Stopped target Network.
[ OK ] Stopped Remount Root and Kernel File Systems.
Stopping Remount Root and Kernel File Systems...
[ OK ] Started Restore /run/initramfs.
[ OK ] Reached target Shutdown.
dracut Warning: Killing all remaining processes
Powering off.
reboot: Power down
Etapa 9. Sair do SOL após desligar
Aguarde até que a mensagem seja desligada no console SOL e saia do SOL pressionando Ctrl e x (Ctrl+x), faça login no CIMC novamente e altere o escopo novamente.
(i) Change the scope to virtual media again:
system# scope vmedia
system /vmedia #
(ii) Unmap the .iso image that you mapped in 2.c:
system /vmedia # unmap volume_name
At the Save mapping prompt, enter yes if you want to save the mapping or no if you do not want to save the mapping. For example:
system /vmedia # unmap apic
Save mapping? Enther 'yes' or 'no' to confirm (CTRL-C to cancel) → yes
system /vmedia #
(iii) Connect back to SOL again:
system /vmedia # connect host
Etapa 10. Configuração inicial
No console KVM: Escolha Power > Power on System para ligar o controlador e inicie o KVM. Ele solicitará a configuração inicial do APIC.

Caution: Esse método se aplica exclusivamente ao endereçamento fora de banda (OOB) do APIC (servidor HTTP) IPv4. Observe que o suporte a IPv6 não está disponível no momento.