Introduzione
In questo documento vengono descritti gli aggiornamenti delle versioni del software Cisco IOS® XR 7 e le operazioni di installazione che utilizzano un repository.
Prerequisiti
Requisiti
Cisco raccomanda la conoscenza dei seguenti argomenti:
- Software Cisco IOS XR
- Procedure di installazione e aggiornamento del software Cisco IOS XR
Componenti usati
Il documento può essere consultato per tutte le versioni hardware. È valido per tutti i router che eseguono IOS XR7.
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.
Prodotti correlati
IOS XR7, noto anche come Lindt, è un'evoluzione del software XR costruito su una distribuzione Linux 9.
Una modifica importante è la rimozione completa del piano di amministrazione. Inoltre, i processi del control plane IOS XR vengono ora eseguiti in modo nativo sull'host.
Questo documento è attualmente applicabile ai successivi dispositivi hardware:
- Cisco 540 Router
- Serie 8000 Router
- Cisco NCS serie 57B1 Router
Nota: una versione software può contenere il numero 7 ma rappresenta comunque l'architettura del software eXR (ad esempio, ASR 9000 XR 7.5.2 release non è un'architettura XR7)
Miglioramento dell'installazione di IOS XR7.
Per installare pacchetti (RPM), aggiornamenti del codice e aggiornamenti in XR7, è necessario un repository di RPM in cui il router possa scaricare gli RPM per l'installazione. Il repository può essere locale rispetto al router oppure accessibile in remoto tramite FTP, HTTP o HTTPS.
Disponiamo di una serie di comandi che possono risultare utili in diversi scenari e in tutte le attività di installazione di XR7.
installare sostituire |
Aggiorna a una nuova release |
origine di installazione |
Installare gli RPM per la correzione dei bug tra le versioni e i pacchetti facoltativi |
comando install commit |
Esegui il commit delle modifiche per mantenerle durante il ricaricamento |
mostra installazione attiva |
Visualizza pacchetti attivi |
show install eseguito |
Visualizza pacchetti eseguiti |
show install request |
Visualizza lo stato dell'operazione di installazione |
show version |
Visualizza lo stato della versione di installazione corrente |
Il software attualmente attivo può essere sostituito sul sistema con il software di un'immagine ISO specifica o di un'immagine GISO (Golden ISO). Per eseguire l'aggiornamento al nuovo software è necessario apportare solo un numero minimo di modifiche. I pacchetti non vengono rimossi e reinstallati se hanno lo stesso nome e versione.
- Crea un repository per accedere ai file:
RP/0/RP0/CPU0:R0(config)# install repository local-repo | remote-repo
RP/0/RP0/CPU0:R0(config)# install package replace
- Rendi effettiva la configurazione:
RP/0/RP0/CPU0:R0# install apply {reload | restart} [noprompt]
- Commit (rendere permanente l'installazione):
RP/0/RP0/CPU0:R0# install commit
Configurazione
In questa sezione viene descritto e mostrato come configurare un repository nel router. Si consiglia di creare e utilizzare un server HTTP/FTP.
Repository remoto
Quando si accede al repository in modalità remota, è necessario fornire un URL del repository da cui vengono recuperati i file di installazione. L'URL contiene:
È possibile configurare il repository in modo che sia raggiungibile utilizzando una tabella VRF non predefinita. Se il repository è raggiungibile tramite un indirizzo in un VRF, specificare il nome del VRF.
Il formato dell'URL del repository è uno dei seguenti:
- FTP: ftp://<server>[;<vrf>]/<percorso-repository>
- HTTP: http://<server>[;<vrf>]/<percorso-repository>
- HTTPS: https://<server>[;<vrf>]/<percorso-repository>
- Locale: file:///<percorso-repository>. Il percorso del repository deve essere in /harddisk:/ percorso.
Configurare il repository remoto nel router.
RP/0/RP0/CPU0:R0# configure
RP/0/RP0/CPU0:R0(config)# install repository remote_repo url http://192.168.122.1/
RP/0/RP0/CPU0:R0(config)# commit
RP/0/RP0/CPU0:R0(config)# end
RP/0/RP0/CPU0:R0#
Come accennato in precedenza, è essenziale fornire un URL del repository da cui vengono recuperati i file di installazione.
- Convalidare le correzioni disponibili nel repository remoto o in qualsiasi repository configurato in precedenza.
RP/0/RP0/CPU0:R0#sh install fixes available
Wed Jan 31 22:32:39.477 UTC
Trying to access repositories...
Available Fixes (count: 1):
Bug Id Packages Repository Cached
----------- ----------------------------------------------------------- ---------------------------------------- ------
CSCvz57398 xr-ospf-7.3.2v1.0.1-1 remote_repo
Operazione installazione
RP/0/RP0/CPU0:R0#install package upgrade xr-ospf-7.3.2v1.0.1-1 synchronous
Wed Jan 31 22:34:16.220 UTC
Starting:
install package upgrade xr-ospf-7.3.2v1.0.1-1
Packaging operation 1.1.1
Press Ctrl-C to return to the exec prompt. This will not cancel the install operation
Current activity: Initializing ...
Current activity: Veto check ..
Current activity: Package add or other package operation ..
Packaging operation 1.1.1: 'install package upgrade xr-ospf-7.3.2v1.0.1-1' completed without error
Il repository remoto può visualizzare alcuni log del router che richiedono alcuni file. In questo caso il server HTTP mostra alcune richieste HTTP riuscite.
Registri richieste riuscite server HTTP
Rendere Effettiva La Configurazione.
RP/0/RP0/CPU0:R0#sh install fixes active
Wed Jan 31 22:39:54.987 UTC
There are currently no fixes active.
RP/0/RP0/CPU0:R0#install apply
Wed Jan 31 22:40:16.628 UTC
Once the packaging dependencies have been determined, the install operation may have to reload the system.
If you want more control of the operation, then explicitly use 'install apply restart' or 'install apply reload' as reported by 'show install request'.
Continue? [yes/no]:[yes] yes
Install apply operation 1.1 has started
Install operation will continue in the background
Con show install request il comando è possibile monitorare lo stato dell'installazione. La seconda volta che è stato eseguito il comando, la richiesta di installazione è già stata completata.
RP/0/RP0/CPU0:R0#sh install request Wed Jan 31 22:41:07.649 UTC User request: install apply restart Operation ID: 1.1 State: In progress since 2024-01-31 22:40:19 UTC Current activity: Apply by restarting processes Next activity: Await user input Time started: 2024-01-31 22:40:19 No per-location information. RP/0/RP0/CPU0:R0#sh install request Wed Jan 31 22:43:51.577 UTC User request: install apply restart Operation ID: 1.1 State: Success since 2024-01-31 22:41:10 UTC <<<< Current activity: Await user input Time started: 2024-01-31 22:41:10
A questo punto la correzione è attiva ma non persistente.
RP/0/RP0/CPU0:R0#sh install fixes active Wed Jan 31 22:46:33.940 UTC Active Fixes (count: 1): Bug Id Packages ----------- ----------------------------------------------------------- CSCvz57398 xr-ospf-7.3.2v1.0.1-1
Comando install commit
A questo punto, dopo aver eseguito l'installazione e ricevuto 0 errori, l'installazione viene conclusa.
RP/0/RP0/CPU0:R0#install commit synchronous Wed Jan 31 22:47:38.676 UTC Starting: install commit Transaction 1 Press Ctrl-C to return to the exec prompt. This will not cancel the install operation Current activity: Initializing Current activity: Commit transaction . Transaction 1: 'install commit' completed without error RP/0/RP0/CPU0:R0#
Repository locale
Il router può fungere da repository per ospitare gli RPM. È necessario essere un utente root-lr con accesso alla shell del router. Il repository remoto è il metodo consigliato per accedere agli RPM. Tuttavia, se il repository remoto non è l'opzione preferita, è possibile utilizzare il router come repository per ospitare gli RPM.
Il metodo del repository locale è quasi lo stesso del repository remoto, tuttavia presenta lievi differenze all'inizio.
Prerequisiti
I pacchetti devono trovarsi nel disco rigido per poter essere aggiunti al repository.
Ad esempio, nel file TAR successivo:
RP/0/RP0/CPU0:R0#dir harddisk: Wed Jan 31 23:07:15.476 UTC Directory of harddisk: 12 -rw-rw-rw-. 1 8388681 Jan 31 22:55 nvgen_bkup.log 2097153 drwxrwxrwx. 2 4096 Jan 31 22:19 .sppdc 524289 drwxrwxrwx. 3 4096 Oct 18 2021 mirror 2228225 drwxrwxrwx. 2 4096 Oct 18 2021 .sppdc_new 3932161 drwxrwxrwx. 3 4096 Oct 18 2021 ztp 3276801 drwxr-xr-x. 3 4096 Jun 16 2022 pam 13 -rw-rw-rw-. 1 600 Jan 31 22:18 debug_shell_client.log 3407873 drwxrwxrwx. 2 4096 Oct 18 2021 shutdown 1835009 drwxrwxrwx. 2 4096 Oct 18 2021 nvram 14 -rw-r--r--. 1 911360 Jan 31 23:06 8000-optional-rpms.7.3.2.tar <<<<<<< 262145 drwxr-xr-x. 2 4096 Jun 16 2022 showtech 11 drwx------. 2 16384 Oct 18 2021 lost+found 655361 drwx------. 3 4096 Jan 31 22:20 ima 15 -rw-rw-rw-. 1 2 Jan 31 22:25 feature_list 786433 drwxrwxrwx. 2 4096 Jun 16 2022 dumper 1048577 drwxrwxrwx. 5 4096 Jan 31 22:24 cisco_support 3145729 drwxrwxrwx. 2 4096 Jan 31 22:18 npu_sdk_logs 65908476 kbytes total (62474792 kbytes free) RP/0/RP0/CPU0:R0#
Si consiglia di estrarre il file dalla shell del router.
RP/0/RP0/CPU0:R0#run Wed Jan 31 23:08:20.380 UTC [node0_RP0_CPU0:/]$cd harddisk\: [node0_RP0_CPU0:/harddisk:]$tar -xvf 8000-optional-rpms.7.3.2.tar
Configurazione del repository locale
RP/0/RP0/CPU0:R0# configure RP/0/RP0/CPU0:R0(config)# install repository local-repo url file:///harddisk:/optional-rpms RP/0/RP0/CPU0:R0(config)# commit RP/0/RP0/CPU0:R0(config)# end RP/0/RP0/CPU0:R0#
Convalidare i pacchetti aggiunti al repository locale
RP/0/RP0/CPU0:R0#sh install available Wed Jan 31 23:14:52.788 UTC Trying to access repositories... Package Architecture Version Repository Cached ---------------------------------------------------- ---------------- --------------------------- ----------------------------------- ------ xr-cdp x86_64 7.3.2v1.0.0-1 local-repo xr-healthcheck x86_64 7.3.2v1.0.0-1 local-repo xr-telnet x86_64 7.3.2v1.0.0-1 local-repo RP/0/RP0/CPU0:R0#
Operazione di installazione
Per installare e verificare in questo momento è lo stesso processo come nell'opzione repository remoto, possiamo provare a installare uno qualsiasi di questi pacchetti, ad esempio telnet one.
RP/0/RP0/CPU0:R0#install source local-repo xr-telnet Wed Jan 31 23:20:28.252 UTC Once the packaging dependencies have been determined, the install operation may have to reload the system. If you want to control the timing of system reload, you must not continue, but use the 'install package add' command instead, followed by 'install apply'. Continue? [yes/no]:[yes] yes Install source operation 3.1 has started Install operation will continue in the background RP/0/RP0/CPU0:R0#sh install request Wed Jan 31 23:24:45.907 UTC User request: install source local-repo xr-telnet Operation ID: 3.1 State: Success since 2024-01-31 23:22:58 UTC
Rendere effettiva la configurazione e confermare l'installazione
Come per il metodo remoto, è necessario eseguire il comando install apply per rendere la configurazione efficace e rendere persistente l'installazioneinstall commit. Utilizzare il comando successivo per verificare la corretta installazione dei pacchetti
RP/0/RP0/CPU0:R0#sh install committed summary Wed Jan 31 23:28:15.923 UTC Committed Packages: XR: 181 All: 1283 Label: 7.3.2 Software Hash: bfe1bf8477ebb422e0eaf5c23358fcb1 Optional Packages Version ---------------------------------------------------- --------------------------- xr-8000-mcast 7.3.2v1.0.0-1 xr-8000-netflow 7.3.2v1.0.0-1 xr-bgp 7.3.2v1.0.0-1 xr-ipsla 7.3.2v1.0.0-1 xr-is-is 7.3.2v1.0.0-1 xr-lldp 7.3.2v1.0.0-1 xr-mcast 7.3.2v1.0.0-1 xr-mpls-oam 7.3.2v1.0.0-1 xr-netflow 7.3.2v1.0.0-1 xr-ospf 7.3.2v1.0.0-1 xr-perfmgmt 7.3.2v1.0.0-1 xr-telnet 7.3.2v1.0.0-1 <<<<<< xr-track 7.3.2v1.0.0-1 RP/0/RP0/CPU0:R0#