Einleitung
In diesem Dokument wird beschrieben, wie mithilfe des HTTP-Servers ein neues Image des Application Policy Infrastructure Controller (APIC) erstellt wird.
Voraussetzungen
Anforderungen
- Der Cisco Integrated Management Controller (CIMC) muss mit einer OOB-IP-Adresse konfiguriert werden.
- Lesen Sie die APIC-Versionshinweise, und bestätigen Sie, für welches APIC-Software-Image Sie ein neues Image erstellen müssen.
- Laden Sie das Software-Image von software.cisco.com herunter.
- Bestätigen Sie, dass die MD5-Prüfsumme des Abbilds mit der unter Cisco.com veröffentlichten übereinstimmt.
- APIC-Image auf HTTP-Server hochladen
Verwendete Komponenten
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt.
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.
Hintergrundinformationen
Bei einem Ausfall des APIC-Clusters oder bei einer Hardwaremigration von L2/M2 auf L4/M4 können einzelne APIC-Geräte ein Re-Imaging erfordern, um die Funktionalität wiederherzustellen. Dieses Verfahren skizziert einen optimierten Ansatz zur individuellen Neuabbildung der APICs mithilfe eines HTTP-Servers, der eine schnellere Cluster-Wiederherstellung bei minimaler Unterbrechung ermöglicht.
Wiederholen Sie den Vorgang sequenziell für jedes APIC-Gerät, das eine erneute Abbildung erfordert. Sobald alle APICs neu abgebildet wurden, stellen Sie die Cluster-Konfiguration nach Bedarf wieder her, und führen Sie umfassende Tests durch, um die Funktionalität zu überprüfen.
Dieses kurze Verfahren ermöglicht eine effiziente APIC-Wiederherstellung, sodass Administratoren sofort auf Cluster-Ausfälle reagieren und den Netzwerkbetrieb effektiv wiederherstellen können.
Lösung
Um ein neues Image des APIC auf einem HTTP-Server zu erstellen, müssen die folgenden Schritte ausgeführt werden.
Schritt 1:Laden Sie die Firmware von der Cisco Website herunter.
Öffnen Sie software.cisco.com/download.
Schritt 2: Geben Sie den APIC ein, und wählen Sie hier die passende Version für die ACI aus. In diesem Fall ist 4.2(7F) ausgewählt.
Beispiele:

Schritt 3: Kopieren Sie das APIC Software-ISO-Image auf den HTTP-Server.
Beispiel: http://x.x.x.x/iso/

Schritt 4: Verbindung von SSH/Konsole mit dem Cisco Integrated Management Controller
# ssh admin@cimc_ip
wobei "cimc_ip" die CIMC-IP-Adresse ist. Beispiele:
# 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
Dabei gilt:
- volume_name ist der Name des Volumes.
- http_server_ip_and_path ist die IP-Adresse des HTTP-Servers und der Pfad zur ISO-Datei.
- iso_filename ist der Name der ISO-Datei.
Anmerkung: Zwischen http_server_ip_and_path und iso_filename ist ein Leerzeichen.
Beispiele:
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:
Anmerkung: /* Falls hier keine Authentifizierung erforderlich ist, drücken Sie einfach die Eingabetaste.
system /vmedia # show mappings detail
Der Map-Status muss als OK angezeigt werden.
Beispiele:
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
Schritt 5: Aus- und wieder Einschalten der KVM-Konsole der CIMC-Benutzeroberfläche.
Wählen Sie Power > Power Cycle System (Kaltstart), um den Controller aus- und wieder einzuschalten.

Von der SOL-Konsole aus: Beobachten Sie den Bildschirm während des Bootvorgangs, und bereiten Sie sich darauf vor, zu gegebener Zeit F6 zu drücken, um in das Boot-Auswahlmenü zu wechseln.
Beispiele:

Nach Drücken der F6
Anmerkung: Wenn Sie Ihre Chance verpassen und F6 nicht zum richtigen Zeitpunkt drücken konnten, gehen Sie zurück zu Schritt 5, um den Controller aus- und wieder einzuschalten und den Vorgang zu wiederholen, bis Sie F6 drücken können, um in das Boot-Auswahlmenü zu gelangen.

Sie können auch das BIOS-Kennwort eingeben. Das Standardkennwort lautet password.

Wählen Sie im Startauswahlmenü die Option Cisco CIMC-Mapped vDVD1.22 als einmaliges Startgerät aus.

Schritt 6: Zurück zur CIMC-CLI und Überwachen der Ausgabe des Connect-Hosts
Überwachen Sie die CIMC-CLI, wenn Sie die Meldung erhalten. Geben Sie zur Beschleunigung der Installation in den nächsten zehn Minuten die ISO-URL ein, und geben Sie dann die HTTP-Server-URL mit dem APIC-Image ein.
++ 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
Anmerkung: Zwischen http_server_ip_and_path und iso_filename ist kein Leerzeichen.
Schritt 7. Nach Eingabe der HTTP-URL wird der Bootvorgang fortgesetzt.
Anmerkung: Wenn Sie die statische Option auswählen, werden Sie aufgefordert, den Schnittstellennamen, die Management-IP-Adresse und das Gateway einzugeben.
+ '[' 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
Anmerkung: Wenn Sie die falsche Schnittstelle ausgewählt haben, ist der Paketverlust 100 %. Nach drei fehlgeschlagenen Ping-Versuchen wird erneut gefragt, die richtige Schnittstelle auszuwählen, bis der Paketverlust 0 ist, wenn Sie nicht wissen, dass die Schnittstelle eine nach der anderen ausgewählt hat.
Beispiele:
+ 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>
Schritt 8: Korrekte Schnittstellenüberprüfung.
Nachdem die Schnittstelle eingegeben wurde, wird versucht, einen Ping an den HTTP-Server zu senden. Wenn die ausgewählte Schnittstelle korrekt ist, muss der Paketverlust 0 % betragen, und das Image wird vom HTTP-Server abgerufen.
Beispiele: Nach Eingabe der richtigen Schnittstelle mit 0 % Paketverlust.
+ 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
Wenn Sie die falsche Schnittstelle ausgewählt haben, beträgt der Paketverlust 100 %. Nach drei fehlgeschlagenen Ping-Versuchen wird erneut die richtige Schnittstelle ausgewählt.
Beispiele: Nach der Eingabe der falschen Schnittstelle mit 100% Paketverlust.
+ 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
?
Überwachen Sie die CIMC-CLI, und warten Sie ca. 40-50 Minuten. Die folgende Ausgabe wird für die CLI ausgegeben.
[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
Schritt 9: SOL nach dem Ausschalten beenden
Warten Sie, bis die Meldung poweroff in der SOL-Konsole angezeigt wird, verlassen Sie die SOL-Konsole, indem Sie Strg und x (Strg+x) drücken, melden Sie sich erneut beim CIMC an, und ändern Sie den Bereich erneut.
(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
Schritt 10: Erstkonfiguration
Von der KVM-Konsole aus: Wählen Sie Power > Power on System (Einschalten > System), um den Controller einzuschalten, und Lunch KVM (KVM starten), um die Erstkonfiguration des APIC anzufordern.

Vorsicht: Diese Methode gilt ausschließlich für IPv4 APIC (HTTP-Server) Out-of-Band (OOB)-Adressierung. Beachten Sie, dass derzeit keine IPv6-Unterstützung verfügbar ist.