Sommario

Introduzione

Requisiti

Componenti usati

Premesse

Panoramica delle modalità di installazione

Modalità bundle

Modalità di installazione

Metodi di aggiornamento

Aggiornamento automatico

Modalità di installazione

Panoramica del processo

Comandi della modalità di installazione

Modalità bundle

Metodo legacy

Stackwise Virtual

Dual-Sup

Quad-Sup

ISSU

Opzioni di aggiornamento

ReloadFast

Pulizia

Risoluzione dei problemi

Versioni non corrispondenti

Ripristino in modalità Rommon

File bin mancante dal membro

Super Package già installato

Variabile di avvio non corretta

Scenario 1

Scenario 2

Informazioni correlate

ID bug Cisco

Introduzione

In questo documento vengono descritti i metodi di aggiornamento per gli switch Catalyst 9000 (Cat9K).

Requisiti

Nessun requisito specifico previsto per questo documento.

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware.

- C9200

- C9300

- C9400

- C9500

- C9600

Nota: per i comandi che vengono usati per abilitare queste funzionalità su altre piattaforme Cisco, consultare la guida alla configurazione appropriata.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

In questo documento vengono illustrate le procedure di aggiornamento nuove ed esistenti per gli switch Catalyst 9K nelle modalità BUNDLE o INSTALL.

Panoramica delle modalità di installazione

Modalità bundle

La modalità bundle è un modo sofisticato per affermare che lo switch esegue il modo tradizionale di Cisco IOS®. È possibile avviare un file .bin contenente tutto il necessario per eseguire Cisco IOS. Come per il Cisco IOS tradizionale, l'istruzione boot punta al file con estensione bin che si desidera caricare e che viene caricato al momento dell'avvio.

Switch#show boot

BOOT variable = bootflash:cat9k_iosxe.16.11.01.SPA.bin;

Configuration Register is 0x102

MANUAL_BOOT variable = no

BAUD variable = 9600

ENABLE_BREAK variable does not exist

BOOTMODE variable does not exist

IPXE_TIMEOUT variable does not exist

CONFIG_FILE variable =

È necessario impostare questa istruzione di avvio con il comando boot system. Al successivo caricamento, lo switch viene avviato nella versione 16.12.01 anziché 16.11.01.

Switch#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Switch(config)#no boot system

Switch(config)#boot system bootflash:cat9k_iosxe.16.12.01.SPA.bin <---

Switch(config)#end

Switch#wr

Switch#

Switch#show run | include boot system

boot system bootflash:cat9k_iosxe.16.12.01.SPA.bin

Switch#

Switch#show boot

BOOT variable = bootflash:cat9k_iosxe.16.12.01.SPA.bin; <---

Configuration Register is 0x102

MANUAL_BOOT variable = no

BAUD variable = 9600

ENABLE_BREAK variable does not exist

BOOTMODE variable does not exist

IPXE_TIMEOUT variable does not exist

CONFIG_FILE variable =

Modalità di installazione

La modalità Install è la modalità più recente ed è quella consigliata. Il file .bin è suddiviso in file .pkg più piccoli che devono essere caricati in memoria in modo indipendente e che permettono un avvio più veloce e un utilizzo migliore della memoria. Il file .bin scaricato da software.cisco.com contiene tutti i file .pkg necessari.

Nota: il file bin può essere considerato come un file zip. che può essere decompresso per ricavarne i file .pkg. È disponibile anche un file di configurazione che permette di scegliere i file .pkg necessari. Queste le operazioni effettuate quando si esegue l'avvio in modalità di installazione.

1. L'istruzione boot viene analizzata per determinare quale file di configurazione caricare (generalmente packages.conf).

2. Il file di configurazione viene aperto e utilizzato per individuare i file .pkg da caricare.

3. I file .pkg vengono caricati e Cisco IOS completa il processo di avvio.

- Il file .conf è solo un file di testo che viene usato come puntatore, e lo si può aprire e guardare dalla CLI.

- Questo file di configurazione è impostato per il caricamento 16.11.01. Ora non è necessario modificare l'istruzione boot per aggiornare un dispositivo, tutto quello che dovete fare è modificare il file packages.conf per puntare ai nuovi file .pkg.

Nota: questa operazione viene eseguita automaticamente e non è mai necessario modificare il file direttamente. Tuttavia, è possibile controllare i file di pacchetto a cui punta il file .conf prima di aver completato il ricaricamento per accertarsi che punti ai file corretti.

Switch#more packages.conf

#! /usr/binos/bin/packages_conf.sh

<...snip...>

# This is for CAT9k

boot  rp 0 0   rp_boot         cat9k-rpboot.16.11.01.SPA.pkg

iso   rp 0 0   rp_base         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_daemons      cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_iosd         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_security     cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 0 0   rp_wlc          cat9k-wlc.16.11.01.SPA.pkg

iso   rp 0 0   rp_webui        cat9k-webui.16.11.01.SPA.pkg

iso   rp 0 0   srdriver        cat9k-srdriver.16.11.01.SPA.pkg

iso   rp 0 0   guestshell      cat9k-guestshell.16.11.01.SPA.pkg

boot  rp 1 0   rp_boot         cat9k-rpboot.16.11.01.SPA.pkg

iso   rp 1 0   rp_base         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_daemons      cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_iosd         cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_security     cat9k-rpbase.16.11.01.SPA.pkg

iso   rp 1 0   rp_wlc          cat9k-wlc.16.11.01.SPA.pkg

iso   rp 1 0   rp_webui        cat9k-webui.16.11.01.SPA.pkg

iso   rp 1 0   srdriver        cat9k-srdriver.16.11.01.SPA.pkg

iso   rp 1 0   guestshell      cat9k-guestshell.16.11.01.SPA.pkg

<...snip...>

#

# -start- superpackage .pkginfo

#

# pkginfo: Name: rp_super

# pkginfo: BuildTime: 2019-03-28_09.46

# pkginfo: ReleaseDate: Thu-28-Mar-19-01:19

# pkginfo: .BuildArch: x86_64

# pkginfo: BootArchitecture: i686

# pkginfo: .BootArch: i686

# pkginfo: RouteProcessor: cat9k

# pkginfo: Platform: CAT9K

# pkginfo: User: mcpre

# pkginfo: PackageName: universalk9

# pkginfo: Build: 16.11.01

# pkginfo: .SupportedBoards: cat9k

# pkginfo: .InstallModel:

# pkginfo: .PackageRole: rp_super

# pkginfo: .RestartRole: rp_super

# pkginfo: .UnifiedPlatformList: passport,nyquist,starfleet

# pkginfo: CardTypes:

# pkginfo: .CardTypes:

# pkginfo: .BuildPath: /scratch/mcpre/release/BLD-V16_11_01_FC3/binos/linkfarm/stage-cat9k/hard/rp_super_universalk9.x86_64

# pkginfo: .Version: 16.11.1.0.312.1553791584..Gibraltar

# pkginfo: .InstallVersion: 1.0.0

# pkginfo: .InstallCapCommitSupport: yes

#

# -end- superpackage .pkginfo

#

Il processo è identico anche quando si esegue un aggiornamento in modalità di installazione. Tuttavia, i comandi possono essere diversi per piattaforma:

1. Copiare il nuovo file .bin sullo switch.

2. Estrarre i file .pkg dal file .bin..

3. Aggiornare il file .conf e ricaricare il dispositivo nella nuova versione.

4. Interrompere il timer di rollback per confermare il completamento dell'aggiornamento.

Nella maggior parte dei casi, i passaggi da 2 a 4 possono essere eseguiti con un solo comando. Ciò permette anche di ripristinare una versione precedente.

Metodi di aggiornamento

Aggiornamento automatico

Se il supervisore attivo viene eseguito in modalità di installazione, è preferibile utilizzare l'aggiornamento automatico. Ciò permette al sup Attivo di aggiornare il sup di Standby qualunque sia l'immagine caricata (bundle/install/ecc). Per avviare il processo, sarà comunque necessario avviare il dispositivo di standby con un'immagine valida.

Nota: l'aggiornamento automatico non recupera un sup da rommon.

Attivare questo comando in modo che lo switch aggiorni automaticamente un sup di standby in caso di mancata corrispondenza:

software auto-upgrade enable

In alternativa, eseguire l'aggiornamento manualmente

install autoupgrade

Nota: l'aggiornamento automatico funziona in un'installazione virtuale Stackwise finché lo chassis attivo è in modalità di installazione.

Modalità di installazione

Nella sezione seguente viene descritto l'utilizzo dei "install" comandi. che sono supportati su tutti gli switch 9k. Questa è la sola opzione per gli switch 9600, 9400 e 9200.

Panoramica del processo

Come già menzionato, l'aggiornamento è un processo in 4 passaggi. I passaggi 2-4 sono più complessi, abbiamo quindi riepilogato gli effetti di ogni comando:

Comandi della modalità di installazione

Restrizioni

In modalità di installazione, l'istruzione di avvio deve essere sempre inclusa nel file packages.conf. Se si cerca di inserire l'istruzione di avvio in un altro file .conf mentre l'aggiornamento è in corso, l'aggiornamento potrebbe interrompersi. Se il comando è già stato eseguito, ADD è necessario attivare il pacchetto aggiunto o ripulirlo per ricominciare. Non modificare l'istruzione di avvio in un pacchetto inattivo.

Riepilogo

Se si desidera passare all'installazione, è necessario modificare l'istruzione di avvio in packages.conf, se non è già presente, quindi aggiungere il file .bin. Ciò significa che occorre copiare il nuovo file .bin in un bootflash da TFTP o USB. Se si verificano problemi con la copia del file sullo switch perché lo spazio è insufficiente, consultare la sezione Pulizia in questo documento per cancellare i file che non sono necessari.

Questi comandi completano l'aggiornamento e non è necessario eseguire nessun altro passaggio. Tuttavia, se non si desidera completare l'aggiornamento in un unico passaggio, è possibile suddividerlo in singoli passaggi.

configure terminal

no boot system

boot system bootflash:packages.conf

end

write

install add file bootflash:

activate commit

Comando install add

- Quando si avvia l'aggiornamento per la prima volta, si dispone solo della versione corrente.

Switch#show install summary

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    16.11.1.0.312

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

Per iniziare, è necessario aggiungere la nuova versione all'elenco delle versioni che si desidera utilizzare.

install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin

Una volta aggiunto, il file .pkg viene visualizzato in flash e la versione 16.12.01 risulta inattiva.

Switch#dir | include .pkg

359097 -rw- 11359240 Sep 13 2019 16:10:08 +00:00 cat9k-cc_srdriver.16.11.01.SPA.pkg

359098 -rw- 84354052 Sep 13 2019 16:10:08 +00:00 cat9k-espbase.16.11.01.SPA.pkg

359099 -rw- 1676292 Sep 13 2019 16:10:08 +00:00 cat9k-guestshell.16.11.01.SPA.pkg

359100 -rw- 466576384 Sep 13 2019 16:10:08 +00:00 cat9k-rpbase.16.11.01.SPA.pkg

359106 -rw- 38552418 Sep 13 2019 16:10:30 +00:00 cat9k-rpboot.16.11.01.SPA.pkg

359101 -rw- 29877252 Sep 13 2019 16:10:08 +00:00 cat9k-sipbase.16.11.01.SPA.pkg

359102 -rw- 57259008 Sep 13 2019 16:10:08 +00:00 cat9k-sipspa.16.11.01.SPA.pkg

359103 -rw- 19936260 Sep 13 2019 16:10:08 +00:00 cat9k-srdriver.16.11.01.SPA.pkg

359104 -rw- 12321792 Sep 13 2019 16:10:08 +00:00 cat9k-webui.16.11.01.SPA.pkg

359105 -rw- 9216 Sep 13 2019 16:10:08 +00:00 cat9k-wlc.16.11.01.SPA.pkg

456963 -rw- 14222344 Sep 13 2019 17:05:35 +00:00 cat9k-cc_srdriver.16.12.01.SPA.pkg

456964 -rw- 88892420 Sep 13 2019 17:05:35 +00:00 cat9k-espbase.16.12.01.SPA.pkg

473282 -rw- 1684484 Sep 13 2019 17:05:35 +00:00 cat9k-guestshell.16.12.01.SPA.pkg

473283 -rw- 535475200 Sep 13 2019 17:05:35 +00:00 cat9k-rpbase.16.12.01.SPA.pkg

473289 -rw- 43111714 Sep 13 2019 17:06:00 +00:00 cat9k-rpboot.16.12.01.SPA.pkg

473284 -rw- 31425540 Sep 13 2019 17:05:35 +00:00 cat9k-sipbase.16.12.01.SPA.pkg

473285 -rw- 60183552 Sep 13 2019 17:05:35 +00:00 cat9k-sipspa.16.12.01.SPA.pkg

473286 -rw- 22676484 Sep 13 2019 17:05:35 +00:00 cat9k-srdriver.16.12.01.SPA.pkg

473287 -rw- 12854272 Sep 13 2019 17:05:35 +00:00 cat9k-webui.16.12.01.SPA.pkg

473288 -rw- 9216 Sep 13 2019 17:05:35 +00:00 cat9k-wlc.16.12.01.SPA.pkg

Switch#show install summary

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   I    16.12.1.0.544 <-- Installed but still Inactive (I)

IMG   C    16.11.1.0.312

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

Switch#show install inactive

[ R0 R1 ] Inactive Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   I    16.12.1.0.544  <-- Installed but still Inactive (I)

Comando install activate

- Una volta ricaricato, è possibile vedere che la versione è attiva ma non è stata eseguita.

Il passaggio successivo consiste nell'attivare la nuova versione.

- Ciò significa ricaricare il sup e caricare la nuova versione.

- Il file .conf viene modificato in modo che punti ai nuovi file .pkg..

install activate

Viene chiesto di confermare se si desidera ricaricare il dispositivo prima di ricaricarlo.

This operation may require a reload of the system. Do you want to proceed? [y/n]

Switch#show install sum

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   U    16.12.1.0.544

--------------------------------------------------------------------------------

Auto abort timer: active on install_activate, time before rollback - 01:52:08   <--- when this hits zero, the device reloads back to original version.

--------------------------------------------------------------------------------

Switch#show install uncommitted

[ R0 R1 ] Uncommitted Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   U    16.12.1.0.544

Comando install commit

Per interrompere il timer di rollback e completare il processo di aggiornamento, è necessario eseguire il commit della nuova versione.

install commit

Questo è l'ultimo passaggio del processo di aggiornamento e la nuova versione viene ora visualizzata come versione di cui è stato eseguito il commit attivo.

Switch#show install summary

[ R0 R1 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    16.12.1.0.544  <--- Now Active and Committed

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

Comando install abort

Dopo aver eseguito il activate comando e prima di eseguire il commit, se si ritiene che si sia verificato un problema con la nuova versione, è possibile interrompere l'aggiornamento. Il dispositivo viene ricaricato con la versione precedente.

install abort

Livello prompt

è possibile impostare il livello prompt su none alla fine di un comando install e non viene visualizzato alcun messaggio di conferma (in genere al termine del comando commit dell'aggiornamento viene richiesto se si desidera ricaricare). Se si imposta il prompt-level router su none, lo switch viene ricaricato non appena è pronto.

install add file bootflash:cat9k_iosxe.16.12.01.SPA.bin activate commit prompt-level none

Timer di aggiornamento automatico

Se un aggiornamento richiede troppo tempo, lo switch presuppone l'esistenza di un problema e interrompe l'aggiornamento. Il timer predefinito è 120 minuti, se necessario il timer può essere arrestato manualmente.

install auto-abort-timer stop

È possibile impostare il timer di rollback quando si esegue il passaggio di attivazione.

Switch#install activate auto-abort-timer ?

<30-1200>  Number of minutes the abort-timer is set for

Modalità bundle

In questa sezione viene descritto il metodo classico per aggiornare il software usando un'istruzione di avvio che punta al file .bin (e non al file .pkg).

Avviso: se si desidera aggiornare uno switch alla modalità bundle, accertarsi di aver copiato il file .bin su EVERY nello stack.

Dopo aver caricato il file Cisco IOS, è sufficiente modificare l'istruzione boot e ricaricarla.

configure terminal

no boot system

boot system bootflash:

end

write

reload

Metodo legacy

Attenzione: questo metodo è valido solo per gli switch serie 9300 e 9500

Questa sezione descrive l'uso dei comandi della piattaforma di richiesta ed è supportata sugli switch 9500 e 9300.

- Si SCONSIGLIA l'uso di questo metodo sugli switch 9300 o 9500. Utilizzare uno dei metodi descritti in precedenza.

- Questi comandi sono obsoleti alla versione 16.10.1 ed è consigliabile utilizzarli.

- Di seguito sono elencati i tre comandi più importanti (sono disponibili molte altre opzioni, ma si preferisce utilizzare il install commands anziché questi).

Espansione

Questo comando utilizza il file .bin specificato dall'utente ed estrae i file .pkg..

request platform software package expand switch all file flash:cat9k_iosxe.16.09.02.SPA.bin

Nota: se lo switch utilizza la modalità bundle. Eseguire innanzitutto il comando expand, quindi modificare l'istruzione di avvio in packages.conf e ricaricare per tornare alla modalità di installazione.

Install

Se è già attiva la modalità di installazione, utilizzare questo comando per passare a un'altra versione:

request platform software package install switch all file flash:test auto-copy new

Clean

Il comando successivo esegue la stessa operazione di installazione e rimozione inattiva:

request platform software package clean

Stackwise Virtual

Dual-Sup

La configurazione di Stackwise Virtual è molto simile alla configurazione dual sup. Se si esegue un normale aggiornamento, entrambi gli chassis vengono riavviati contemporaneamente.

configure terminal

no boot system

boot sys bootflash:packages.conf

end

write

install add file bootflash:

activate commit

Nota: per eseguire un problema, è necessario prendere in considerazione un'altra impostazione di stack virtuale rispetto a una configurazione a doppio sup su un singolo chassis.

- Poiché ogni chassis viene ricaricato una volta durante il processo ISSU, tutti i dispositivi connessi a un solo chassis si arrestano per un intero ciclo di riavvio.

- Per evitare questa situazione, si consiglia di utilizzare un MEC dual-home per tutte le connessioni. Per ulteriori informazioni sull'argomento, vedere la sezione relativa all'argomento.

Modalità di rollback

Dopo aver completato l'aggiornamento, è possibile ripristinare la versione precedente, se necessario. In realtà, è possibile eseguire il rollback a più versioni se i file sono ancora in flash.

Switch#show install rollback

ID      Label          Description

-----------------------------------------------

2    No Label        No Description

1    No Label        No Description

Switch#show install rollback id 1

Rollback id - 1 (Created on Fri Sep 13 13:14:40 2019)

Label: No Label

Description: No Description

Reload required: NO

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    16.11.1.0.312

L'output precedente mostra che sono presenti due punti di rollback. Il primo punto di rollback permette il ripristino alla versione 16.11.01 (è possibile etichettare i punti di rollback con una descrizione o una data).

Switch#install label 1 ?

description  Add a description to specified install point

label-name   Add a label name to specified install point

Switch#install label 1 label-name 16_11_01

install_add_label: START Fri Sep 13 16:43:48 UTC 2019

--- Starting install_add_label ---

Performing install_add_label on Active/Standby

[R0] install_add_label package(s) on R0

[R0] Finished install_add_label on R0

[R1] install_add_label package(s) on R1

[R1] Finished install_add_label on R1

Checking status of install_add_label on [R0 R1]

install_add_label: Passed on [R0 R1]

Finished install_add_label

SUCCESS: install_add_label  Fri Sep 13 16:43:57 UTC 2019

Switch#show install rollback

ID      Label          Description

-----------------------------------------------

2    No Label        No Description

1    16_11_01        No Description

Per eseguire il rollback, è sufficiente eseguire il rollback comando:

install rollback to id 1

Quad-Sup

Non supportato al momento della stesura di questo documento. Pianificato per il supporto il 17.2.1.

ISSU

I metodi di aggiornamento precedenti descrivono l'aggiornamento di un singolo sup o l'aggiornamento di entrambi i sup contemporaneamente. Tuttavia, con due alimentatori è possibile eseguire un'operazione ISSU (In Service Software Upgrade) che consente l'aggiornamento di un alimentatore alla volta, in modo che non si verifichino interruzioni.

Nota: per ulteriori informazioni su 9300 xFSU, consultare questo documento Informazioni sull'aggiornamento software Fast esteso sugli switch Catalyst serie 9300

Attenzione: una volta eseguito il comando indicato qui, il processo viene avviato e ricaricato automaticamente. Non eseguire il comando fino a quando non si è pronti per avviare il riavvio dei sups. A differenza del normale processo di aggiornamento, non viene richiesta una conferma prima di eseguire il ricaricamento.

install add file bootflash:cat9k_iosxe.16.11.01.SPA.bin activate issu commit

- Dopo aver eseguito questo comando, ISSU estrae i file, ricarica il sup di standby, aspetta di tornare a SSO, quindi lo switch failover ricarica lo switch attivo.

- La procedura ISSU è supportata solo in modalità di installazione. Se il supervisore attivo è incluso, non è possibile eseguire un processo di emissione.

- 9200 e 9300 non supportano ISSU. 9300 supporta reloadfast.

Opzioni di aggiornamento

ReloadFast

- ReloadFast è una funzionalità che completa la maggior parte dell'aggiornamento prima che il piano dati venga disconnesso per ridurre al minimo l'interruzione delll'operatività. Se si utilizza reloadfast, tutti gli switch nello stack vengono ricaricati contemporaneamente. Tuttavia, in genere gli switch si riavvieranno molto più velocemente che nella modalità di installazione normale.

- Il ricaricamento rapido può essere effettuato anche su un singolo switch.

- Questa funzione è supportata nella versione 16.8.1 o successive ed è supportato solo in modalità di installazione.

- Per evitare che si verifichino loop durante un ricaricamento rapido, è supportato solo sugli switch con un singolo uplink alla radice STP. Un port-channel viene conteggiato come un singolo uplink.

- Inoltre, non è supportato se l'aggiornamento richiede un microcodice o un aggiornamento FPGA.

- C9300 tenta sempre di eseguire un aggiornamento reloadfast per impostazione predefinita, a meno che non sia possibile per uno dei motivi indicati in precedenza. Tuttavia, è possibile chiedere esplicitamente di farlo con questo comando:

install add file flash:cat9k_iosxe.16.10.01.SPA.bin activate reloadfast commit

Pulizia

Dopo aver terminato un aggiornamento, è possibile eliminare i file superflui rimuovendo tutti i file inattivi. Questa opzione individua i file .pkg attualmente caricati e rimuove il resto. È possibile esaminare tutti i file che si prevede di eliminare prima di eliminarli.

install remove inactive

Nota: tutti i file bin verranno rimossi. Se si desidera eseguire la pulizia prima di eseguire un aggiornamento, assicurarsi di eseguirla prima di copiare il nuovo file bin.

Risoluzione dei problemi

Versioni non corrispondenti

Se il valore Vnon corrisponde, il software in esecuzione sullo switch è diverso da quello attivo. In modalità di installazione, è possibile risolvere il problema con un aggiornamento automatico. In modalità bundle, la risoluzione del problema è più complessa.

Switch#show switch

Switch/Stack Mac Address : f8b7.e206.4900 - Local Mac Address

Mac persistency wait time: Indefinite

H/W   Current

Switch#   Role    Mac Address     Priority Version  State

-------------------------------------------------------------------------------------

1       Member   701f.5300.fa00     15     V01     V-Mismatch  <---Indicates a version mismatch

*2       Active   f8b7.e206.4900     14     V01     Ready

OPZIONE 1

- Rimuovere lo switch non corrispondente dallo stack e aggiornarlo alla versione corretta, quindi aggiungerlo nuovamente allo stack.

OPZIONE 2

- Non è possibile modificare l'istruzione di avvio su uno switch non corrispondente. Tuttavia, accedendo alla console e allo switch in modalità rommon, è possibile avviarlo manualmente nella versione corretta.

Attenzione: verificare di disporre dell'accesso console allo switch prima di provare, per essere certi di poter ripristinare lo switch.

Passaggi per l'opzione 2

1. Posizionare lo switch in stack e lasciare che si avvii nello V-Mismatchstato.

2. Eliminare le vecchie immagini indesiderate dallo switch (memoria flash: il file system è accessibile anche se non corrisponde).

3. Copiare il nuovo file bin che si desidera memorizzare nella memoria flash.

4. Spegnere e riaccendere solo questo switch (l'avvio non riesce perché l'immagine viene eliminata e lo switch passa a rommon).

5. Dalla console, avviare manualmente la nuova immagine copiata nella memoria flash.

6. Una volta avviato l'immagine corretta, la configurazione viene sincronizzata da Attiva.

Switch#dir ?

/all             List all files

/recursive       List files recursively

all-filesystems  List files on all filesystems

cns:             Directory or file name

crashinfo-1:     Directory or file name

crashinfo-2:     Directory or file name

crashinfo:       Directory or file name

flash-1:         Directory or file name   <----Flash for switch #1

flash-2:         Directory or file name   <----Flash for switch #2

flash:           Directory or file name

Usare questo comando quando si è in rommon

switch:  boot flash:cat9k_iosxe.16.12.01.SPA.bin <-- Image you copied that Active is running

OPZIONE 3

- Le prime due opzioni sono in genere in grado di ripristinare lo switch che non corrisponde, senza dover arrestare lo stack.

- Tuttavia, se si tratta di una nuova implementazione o se ricaricare l'intero stack non costituisce un problema, è possibile copiare il file dello switch con la versione diversa e allineare gli altri switch a questa versione.

- Questa opzione può essere utile se si tratta di una nuova distribuzione e non si dispone dell'accesso fisico, in quanto è possibile eseguire questa operazione da telnet.

- Una volta sincronizzati, sarà possibile aggiornare tutti gli switch alla versione corretta.

Ripristino in modalità Rommon

Se si rimane bloccati in rommon senza un'immagine valida, è possibile copiare il file tramite USB sullo switch o tramite TFTP.

OPZIONE 1

Avviare direttamente da una chiavetta USB con questo comando:

boot usbflash0:cat9k_iosxe.16.12.01.SPA.bin

OPZIONE 2

La copia da un server TFTP è un po' più complessa. È necessario configurare il notebook come server TFTP e collegare un cavo Ethernet alla porta di gestione del dispositivo oppure collegare la porta di gestione del dispositivo a una porta di rete di un dispositivo in funzione. È quindi possibile configurare il dispositivo con l'immagine come server tftp:

tftp-server flash:cat9k_iosxe.16.12.01.SPA.bin

Il dispositivo Cisco IOS come server TFTP è preferibile in modo da non doversi preoccupare dei firewall di Windows o dei problemi di privilegi dell'account del computer. Una volta eseguita la configurazione del server TFTP, è necessario configurare quanto segue in rommon:

DEFAULT_GATEWAY=172.27.74.1

IP_ADDRESS=172.27.74.111

IP_SUBNET_MASK=255.255.255.0

TFTP_SERVER=172.19.64.31

Verificare la configurazione eseguendo il ping sul server tftp:

ping 172.19.64.31

Una volta stabilita la connettività, avviare il file sul protocollo TFTP:

boot tftp://172.19.64.31/cat9k_iosxe.16.12.01.SPA.bin

Nota: ulteriori informazioni sul recupero da rommon si trovano in questo link: recover_from_corrupt_or_missing_file_image_or_in_rommon_mode .

File bin mancante dal membro

Verificare che il file .bin sia visualizzato su tutti i dispositivi membri dello stack.

Passaggio 1:

Controllare la convenzione di denominazione utilizzata sullo stack con il comando show file systems:

Switch#show file systems

File Systems:

Size(b)       Free(b)      Type  Flags  Prefixes

-             -    opaque     rw   system:

-             -    opaque     rw   tmpsys:

*  11250098176    6275858432      disk     rw   bootflash: flash:         <- Name of Active Switch

11250171904    4123000832      disk     rw   bootflash-2:              <- Name of Standby Switch

1651314688    1344073728      disk     rw   crashinfo:

1651507200    1180696576      disk     rw   crashinfo-2:

236092686336  224026628096      disk     rw   disk0:

8166649856    8053047296      disk     ro   webui:

-             -    opaque     rw   null:

-             -    opaque     ro   tar:

-             -   network     rw   tftp:

33554432      33494025     nvram     rw   nvram:

-             -   network     rw   rcp:

-             -   network     rw   http:

-             -   network     rw   ftp:

-             -   network     rw   scp:

-             -   network     rw   sftp:

-             -   network     rw   https:

-             -    opaque     ro   cns:

33554432      33507337     nvram     rw   stby-nvram:

-             -     nvram     rw   stby-rcsf:

11250098176    4122718208      disk     rw   stby-bootflash:

1651314688    1180504064      disk     rw   stby-crashinfo:

-             -    opaque     rw   revrcsf:

Nota: se si verifica un errore di spazio su file insufficiente, il comando show file systems indica le dimensioni e lo spazio disponibile.

Passaggio 2:

Controllare singolarmente ogni directory per il file bin:

Switch#dir bootflash: | i .bin

81126   -rw-       1265422219  Jun 19 2023 03:04:30 +00:00  cat9k_iosxe.17.11.01.SPA.bin              <- The Active has 17.11.01.SPA.bin

194733  -rw-       1027574083  Jun 13 2023 01:33:41 +00:00  cat9k_iosxe.17.06.05.SPA.bin

Switch#dir bootflash-2: | i .bin

210971  -rw-       1027574083  Jun 29 2023 22:19:23 +00:00  cat9k_iosxe.17.06.05.SPA.bin              <- The Standby does not have 17.11.01.SPA.bin

Nota: per un dispositivo in modalità di installazione è previsto che solo il file bin sia attivo finché non viene eseguito il comando install add. Se viene rilevato un problema, andare al passo 3.

Passaggio 3:

Se è necessario un intervento manuale, sono disponibili due opzioni per copiare il file bin da Attivo a Membro/Standby.

Opzione 1

Copiare il file bin direttamente in Member/Standby:

Switch#copy bootflash:cat9k_iosxe.17.11.01.SPA.bin bootflash-2:

Opzione 2

Copia del file .bin su USB (se non è possibile eseguire la copia diretta)

Switch#copy bootflash:cat9k_iosxe.17.11.01.SPA.bin usbflash0:

Attenzione: l'USB deve essere formattato per FAT32 e verificare che lo switch lo legga usando show file system.

Una volta copiato sull'USB, inserirlo nella scheda Standby/Member:

Switch#copy usbflash0:cat9k_iosxe.17.11.01.SPA.bin bootflash-2:

Passaggio 4:

Verificare che il file .bin sia presente su tutti i dispositivi:

Switch#dir flash: | i .bin

81126   -rw-       1265422219  Jun 19 2023 03:04:30 +00:00  cat9k_iosxe.17.11.01.SPA.bin           <- The Active has 17.11.01.SPA.bin

194733  -rw-       1027574083  Jun 13 2023 01:33:41 +00:00  cat9k_iosxe.17.06.05.SPA.bin

Switch#dir bootflash-2: | i .bin

210971  -rw-       1027574083  Jun 29 2023 22:19:23 +00:00  cat9k_iosxe.17.06.05.SPA.bin

210974  -rw-       1265422219  Jun 20 2023 03:32:23 +00:00  cat9k_iosxe.17.11.01.SPA.bin           <- The Standby now has 17.11.01.SPA.bin

Super Package già installato

Se si ottiene un output di errore quando si tenta di eseguire l'installazione completa, aggiungere il file flash:name activate commit indicando che il pacchetto Super è già stato aggiunto, ciò significa che il pacchetto è già popolato nello stato inactive ed è in attesa di essere attivato e confermato.

Switch#install add file flash:cat9k_iosxe.17.11.01.SPA.bin activate commit

install_add_activate_commit: START Wed Jul 26 12:36:58 UTC 2023

*Jul 26 12:36:58.491: %INSTALL-5-INSTALL_START_INFO: R0/0: install_engine: Started install one-shot bootflash:cat9k_iosxe.17.11.01.SPA.bininstall_add_activate_commit: Adding PACKAGE

install_add_activate_commit: Checking whether new add is allowed ....

FAILED: install_add_activate_commit : Super package already added. Add operation not allowed. 'install remove inactive' can be used to discard added packages

È possibile verificare questo stato usando il comando show install summary

Switch#show install summary

[ R0 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    17.06.05.0.5797

IMG   I    17.11.01.0.1324                                                          <- Here it is seen as Inactive

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

Per risolvere il problema, è possibile procedere in due modi

Opzione 1

Eseguire il comando install remove inactive per cancellare i pacchetti aggiunti

Switch#install remove inactive

install_remove: START Wed Jul 26 13:42:14 UTC 2023

Cleaning up unnecessary package files

No path specified, will use booted path bootflash:packages.conf

Cleaning bootflash:

Scanning boot directory for packages ... done.

Preparing packages list to delete ...

cat9k-cc_srdriver.16.09.03.SPA.pkg

File is in use, will not delete.

cat9k-espbase.16.09.03.SPA.pkg

File is in use, will not delete.

<...snip...>

The following files will be deleted:

[R0]:

/bootflash/cat9k-cc_srdriver.17.06.05.SPA.pkg

/bootflash/cat9k-cc_srdriver.17.11.01.SPA.pkg

/bootflash/cat9k-espbase.17.06.05.SPA.pkg

/bootflash/cat9k-espbase.17.11.01.SPA.pkg

<...snip...>

Do you want to remove the above files? [y/n]y

[R0]:

Deleting file bootflash:cat9k-cc_srdriver.17.06.05.SPA.pkg ... done.

Deleting file bootflash:cat9k-cc_srdriver.17.11.01.SPA.pkg ... done.

Deleting file bootflash:cat9k-espbase.17.06.05.SPA.pkg ... done.

Deleting file bootflash:cat9k-espbase.17.11.01.SPA.pkg ... done.

<...snip...>

SUCCESS: Files deleted.

--- Starting Post_Remove_Cleanup ---

Performing Post_Remove_Cleanup on Active/Standby

[R0] Post_Remove_Cleanup package(s) on R0

[R0] Finished Post_Remove_Cleanup on R0

Checking status of Post_Remove_Cleanup on [R0]

Post_Remove_Cleanup: Passed on [R0]

Finished Post_Remove_Cleanup

Opzione 2

Cancella lo stato di installazione se l'opzione Rimuovi inattivo non risolve il problema

Attenzione: è necessario ricaricare il dispositivo

Switch(config)#service internal                                        <- Service internal is required to be turned on for clear install state to work

Switch(config)#exit

Switch#clear install state

clear_install_state: START Wed Jul 26 12:25:09 UTC 2023

This command will remove all the provisioned SMUs, and rollback points. Use this command with caution.

A reload is required for this process. Press y to continue [y/n]y

--- Starting clear_install_state ---

Performing clear_install_state on Active/Standby

[1] clear_install_state package(s) on R0

[1] Finished clear_install_state on R0

Checking status of clear_install_state on [R0]

clear_install_state: Passed on [R0]

Finished clear_install_state

Send model notification for  before reload

Install will reload the system now!

Verificare che le opzioni 1 e 2 possano essere verificate con il comando show install summary per assicurarsi che l'immagine inattiva non sia più presente.

Switch#show install summary

[ R0 ] Installed Package(s) Information:

State (St): I - Inactive, U - Activated & Uncommitted,

C - Activated & Committed, D - Deactivated & Uncommitted

--------------------------------------------------------------------------------

Type  St   Filename/Version

--------------------------------------------------------------------------------

IMG   C    17.06.05.0.5797                                                           <- 17.11.01 is no longer seen

--------------------------------------------------------------------------------

Auto abort timer: inactive

--------------------------------------------------------------------------------

Continuare con l'esecuzione dell'installazione completa aggiungere file flash:nome attivare commit senza problemi

Variabile di avvio non corretta

In questa sezione vengono illustrati i problemi rilevati durante l'esecuzione di un aggiornamento quando viene impostata una variabile di avvio errata.

Scenario 1

- La variabile di avvio è impostata su bootflash:packages.conf

- Per qualche motivo, lo switch viene ricaricato prima dell'installazione. aggiungere il file flash:name activate commit si verifica

- Il file packages.conf è danneggiato oppure è vuoto e lo switch non riesce a trovare i parametri di avvio

Switch#show boot

BOOT variable = bootflash:packages.conf;

MANUAL_BOOT variable = no

Quando lo switch viene riavviato/ricaricato, si verifica un errore

Preparing to autoboot. [Press Ctrl-C to interrupt]  0

boot: attempting to boot from [bootflash:packages.conf]

ERROR: failed to boot from bootflash:packages.conf (Not Found)

Please wait while the system restarts.

Initializing Hardware......

- Entrare in ROMMON premendo (CTRL-C) o premendo fisicamente il pulsante Mode (Modalità) sullo switch/sul supervisore

- Eseguire il comando set

- Verify variable of BOOT= Verifica variabile di BOOT

switch:set

BAUD=9600

BOOT=bootflash:packages.conf;

BOOTLDR=packages.conf

BSI=0

<snip>

Sono disponibili due opzioni per avviare il sistema operativo IOS desiderato

Nota: se lo si desidera, è possibile anche eseguire l'avvio dal file bin di ios precedente

Opzione 1

Imposta nuova istruzione di avvio utilizzando la nuova versione di ios

switch:BOOT=cat9k_iosxe.17.09.03.SPA.bin

Verificare che l'istruzione BOOT sia aggiornata

switch:set

BAUD=9600

BOOT=bootflash:cat9k_iosxe.17.09.03.SPA.bin                                        <-Boot statement successfully updated

BOOTLDR=packages.conf

BSI=0

<snip>

Opzione 2

Avvio immediato senza modificare la variabile finché lo switch non viene caricato in ios

switch:boot bootflash:cat9k_iosxe.17.09.03.SPA.bin

Nota: se non si è certi dell'esistenza del file .bin su flash, usare il comando dir flash: per l'elenco dei file

Scenario 2

Il comando install add file flash:name activate commit viene eseguito ma la variabile di avvio è impostata su file bin anziché su packages.conf

Switch#show boot

Current Boot Variables:

BOOT variable = flash:cat9k_iosxe_npe.17.03.03.SPA.bin;

Boot Variables on next reload:

BOOT variable = flash:cat9k_iosxe_npe.17.03.03.SPA.bin;

Manual Boot = no

Enable Break = yes

Boot Mode = DEVICE

iPXE Timeout = 0

Switch#install add file flash:cat9k_iosxe.17.09.03.SPA.bin activate commit

install_add_activate_commit: START Tue Sep 12 15:01:12 UTC 2023

install_add_activate_commit: Adding PACKAGE

install_add_activate_commit: Checking whether new add is allowed ....

This operation requires a reload of the system. Do you want to proceed?

Please confirm you have changed boot config to flash:packages.conf [y/n]y

--- Starting initial file syncing ---

Info: Finished copying flash:cat9k_iosxe.17.09.03.SPA.bin to the selected switch(es)

Finished initial file syncing

<snip>

Al riavvio, è possibile visualizzare un output con lo switch che carica nel file 17.3.3.SPA.bin anziché nel file packages.conf che contiene 17.9.3.

Initializing Hardware......

System Bootstrap, Version 17.9.2r, RELEASE SOFTWARE (P)

Compiled Wed 11/23/2022 12:30:48.96 by rel

Current ROMMON image : Primary

Last reset cause     : CpuReset

C9500-12Q platform with 16777216 Kbytes of main memory

Preparing to autoboot. [Press Ctrl-C to interrupt]  0

boot: attempting to boot from [flash:cat9k_iosxe_npe.17.03.03.SPA.bin]

boot: reading file cat9k_iosxe_npe.17.03.03.SPA.bin

Una volta avviato lo switch, verificare che il file packages.conf sia aggiornato correttamente alla versione 17.9.3.

Switch#more flash:packages.conf

boot   rp 0 0   rp_boot cat9k-rpboot.17.09.03.SPA.pkg

boot   rp 1 0   rp_boot cat9k-rpboot.17.09.03.SPA.pkg

iso   rp 0 0   rp_base cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_base cat9k-rpbase.17.09.03.SPA.pkg                                                       <-All .pkg set to 17.9.3 correctly

iso   rp 0 0   rp_daemons cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_daemons cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 0 0   rp_iosd cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_iosd cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 0 0   rp_security cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 1 0   rp_security cat9k-rpbase.17.09.03.SPA.pkg

iso   rp 0 0   rp_wlc cat9k-wlc.17.09.03.SPA.pkg

iso   rp 1 0   rp_wlc cat9k-wlc.17.09.03.SPA.pkg

iso   rp 0 0   rp_webui cat9k-webui.17.09.03.SPA.pkg

iso   rp 1 0   rp_webui cat9k-webui.17.09.03.SPA.pkg

<snip>

Modificare la variabile di avvio in flash:packages.conf

Switch(config)#no boot system

Switch(config)#boot system flash:packages.conf

Switch(config)#do wr                                                                  <- Configuration must be saved for boot variable to be updated properly before reloading

Switch#show boot

Current Boot Variables:

BOOT variable = flash:packages.conf;

Boot Variables on next reload:

BOOT variable = flash:packages.conf;

Manual Boot = no

Enable Break = yes

Boot Mode = DEVICE

iPXE Timeout = 0

Ricaricare lo switch per impostarlo sulla modalità di installazione e sull'immagine IOS corretta della versione 17.9.3.

Switch#reload

Initializing Hardware......

System Bootstrap, Version 17.9.2r, RELEASE SOFTWARE (P)

Compiled Wed 11/23/2022 12:30:48.96 by rel

Current ROMMON image : Primary

Last reset cause     : CpuReset

C9500-12Q platform with 16777216 Kbytes of main memory

Preparing to autoboot. [Press Ctrl-C to interrupt]  0

boot: attempting to boot from [flash:packages.conf]                                           <-Boot variable correctly loading from packages.conf instead of .bin file

boot: reading file packages.conf

<snip>

Verifica della versione dopo il caricamento dello switch

Switch#show version

Cisco IOS XE Software, Version 17.09.03

Cisco IOS Software [Cupertino], Catalyst L3 Switch Software (CAT9K_IOSXE), Version 17.9.3, RELEASE SOFTWARE (fc6)

Informazioni correlate

In-Service Software Upgrade (ISSU) sugli switch Catalyst serie 3850 e Catalyst serie 9000

ID bug Cisco

ID bug Cisco CSCvr29736 - bug documento: 9600 non può essere ricaricato rapidamente

ID bug Cisco CSCvr29864 - Miglioramento: 9300 add reloadfast to install, comando

ID bug Cisco CSCvr29886 - Miglioramento: Possibilità di modificare l'istruzione di avvio dello switch in v-mismatch

ID bug Cisco CSCvr30159 - Miglioramento: Aggiungi controllo per avvio manuale quando si esegue il comando add installazione

ID bug Cisco CSCvr30189 - Miglioramento: Aggiungere un'opzione per annullare un "installazione aggiunta" senza dover eliminare i file .bin