5 Upgrade online #
SUSE offre uno strumento grafico intuitivo e uno strumento da riga di comando semplice per eseguire l'upgrade di un sistema in esecuzione al nuovo Service Pack. Tali strumenti forniscono il supporto necessario per il «rollback» dei Service Pack e altro. In questo capitolo è illustrata la procedura dettagliata per eseguire l'upgrade di un Service Pack con tali strumenti.
5.1 Panoramica concettuale #
SUSE rilascia Service Pack per la famiglia SUSE Linux Enterprise a intervalli regolari. Per semplificare la migrazione a un nuovo Service Pack da parte dei clienti e ridurre al minimo il tempo di inattività, SUSE supporta la migrazione online mentre il sistema è in esecuzione.
A partire da SLE 12 , YaST Wagon è stato sostituito dalla migrazione di YaST (tramite GUI) e dalla migrazione di Zypper (dalla riga di comando). Sono supportate le funzioni seguenti:
Il sistema è in uno stato definito fino all'aggiornamento del primo RPM
L'annullamento è possibile fino all'aggiornamento del primo RPM
In caso di errore il recupero è semplice
Il «rollback» può essere eseguito tramite strumenti di sistema, senza richiedere attività di backup o ripristino
Vengono utilizzati tutti gli archivi attivi
È possibile ignorare un Service Pack
La migrazione online è supportata solo per eseguire la migrazione tra Service Pack. La migrazione online non è supportata per eseguire l'upgrade alle nuove versioni principali. Per informazioni, vedere Capitolo 1, Percorsi e metodi di upgrade.
Utilizzare la migrazione offline per eseguire l'upgrade a una nuova release principale. Per informazioni, vedere Capitolo 4, Upgrade offline.
5.2 Workflow di migrazione del Service Pack #
Per eseguire la migrazione di un Service Pack è possibile utilizzare YaST, zypper
o AutoYaST.
Prima di iniziare la migrazione di un Service Pack è necessario registrare il sistema in SUSE Customer Center o in un server RMT locale. È possibile utilizzare anche SUSE Manager.
Indipendentemente dal metodo, una migrazione del Service Pack consiste nei seguenti passaggi:
Trovare le possibili destinazioni di migrazione nei sistemi registrati.
Selezionare una destinazione di migrazione.
Richiedere e abilitare nuovi archivi.
Eseguire la migrazione.
L'elenco delle destinazioni di migrazione dipende dai prodotti installati e registrati. Se è installata un'estensione per cui non è ancora disponibile il nuovo Service Pack, è possibile che non venga resa disponibile alcuna destinazione.
L'elenco delle destinazioni di migrazione disponibili per l'host in uso viene sempre recuperato da SUSE Customer Center e dipende dalle estensioni o dai prodotti installati.
5.3 Annullamento della migrazione di un Service Pack #
La migrazione di un Service Pack può essere annullata solo in alcune fasi specifiche del processo di migrazione:
Finché non ha inizio l'upgrade del pacchetto, al sistema vengono apportate solo alcune modifiche minime, ad esempio per servizi e archivi. Ripristinare
/etc/zypp/repos.d/*
per tornare allo stato precedente.Per tornare allo stato precedente dopo l'avvio dell'upgrade del pacchetto, è possibile utilizzare un'istantanea di Snapper (vedere Chapter 7, System Recovery and Snapshot Management with Snapper).
Dopo la selezione della destinazione di migrazione, SUSE Customer Center modifica i dati dell'archivio. Per tornare manualmente allo stato precedente, utilizzare
SUSEConnect
--rollback
.
5.4 Upgrade con lo strumento di migrazione online (YaST) #
Per eseguire la migrazione di un Service Pack con YaST, utilizzare lo strumento
. Per default, YaST non installa i pacchetti da un archivio di terze parti. Se un pacchetto è stato installato da un archivio di terze parti, YaST impedisce che il pacchetto venga sostituito con lo stesso pacchetto proveniente da SUSE.Quando si esegue la migrazione di un Service Pack, YaST installa tutti i pacchetti consigliati. Soprattutto nel caso di un'installazione minima personalizzata, questo può aumentare notevolmente la dimensione dell'installazione del sistema.
Per modificare questo comportamento di default e consentire l'installazione dei soli pacchetti necessari, modificare /etc/zypp/zypp.conf
e impostare la variabile seguente:
solver.onlyRequires = true installRecommends=false # or commented
Questo modifica il comportamento di tutte le operazioni sui pacchetti, come l'installazione di patch o nuovi pacchetti.
Per avviare la migrazione di un Service Pack, procedere come segue:
Disattivare tutte le estensioni inutilizzate sul server di registrazione per evitare futuri conflitti di dipendenza futuri. Nel caso in cui ci si dimenticasse un'estensione, in un momento successivo YaST rileverà gli archivi delle estensioni inutilizzate e le disattiverà.
Se si è eseguito il login a una sessione GNOME in esecuzione su un computer che verrà sottoposto ad aggiornamento, passare a una console di testo. L'esecuzione dell'aggiornamento da una sessione GNOME non è consigliata. Tenere presente che ciò non si applica quando si esegue il login da un computer remoto (a meno che non sia in esecuzione una sessione VNC con GNOME).
I sottoscrittori LTSS devono assicurarsi che l'archivio delle estensioni LTSS sia attivo.
Eseguire l'aggiornamento online tramite YaST per recuperare gli ultimi aggiornamenti dei pacchetti per il sistema in uso.
Installare il pacchetto yast2-migration e le relative dipendenze (in YaST, nella sezione › ).
Riavviare YaST. In caso contrario il modulo appena installato non verrà mostrato nel centro di controllo.
In YaST, scegliere SUSE Linux Enterprise Server dalla quale si sta eseguendo l'upgrade, questo modulo viene classificato come o ). YaST mostrerà le destinazioni di migrazione possibili e un riepilogo. Se per il sistema in uso sono disponibili più destinazioni di migrazione, selezionarne una dall'elenco.
(a seconda della versione diSelezionare una destinazione di migrazione dall'elenco e fare clic su
per continuare.Se lo strumento di migrazione offre archivi di aggiornamenti, è consigliabile selezionare
per procedere.Se lo strumento di migrazione online rileva archivi obsoleti provenienti da DVD o da un server locale, è consigliabile disabilitarli. Gli archivi obsoleti provengono da un Service Pack precedente. Tutti gli archivi precedenti di SUSE Customer Center o RMT vengono rimossi automaticamente.
Controllare il riepilogo e continuare con la migrazione facendo clic su
. Confermare con .Al termine della migrazione, riavviare il sistema.
5.5 Upgrade con Zypper #
Per eseguire la migrazione di un Service Pack con Zypper, utilizzare lo strumento a riga di comando zypper
migration
dal pacchetto
zypper-migration-plugin.
Quando si esegue la migrazione di un Service Pack, YaST installa tutti i pacchetti consigliati. Soprattutto nel caso di un'installazione minima personalizzata, questo può aumentare notevolmente la dimensione dell'installazione del sistema.
Per modificare questo comportamento di default e consentire l'installazione dei soli pacchetti necessari, modificare /etc/zypp/zypp.conf
e impostare la variabile seguente:
solver.onlyRequires = true installRecommends=false # or commented
Questo modifica il comportamento di tutte le operazioni sui pacchetti, come l'installazione di patch o nuovi pacchetti. Per modificare il comportamento di Zypper per una singola chiamata, aggiungere il parametro --no-recommends
alla riga di comando.
Per avviare la migrazione di un Service Pack, procedere come segue:
Se si è eseguito il login a una sessione GNOME in esecuzione su un computer che verrà sottoposto ad aggiornamento, passare a una console di testo. L'esecuzione dell'aggiornamento da una sessione GNOME non è consigliata. Tenere presente che ciò non si applica quando si esegue il login da un computer remoto (a meno che non sia in esecuzione una sessione VNC con GNOME).
Se non è ancora stato fatto, registrare il computer SUSE Linux Enterprise in uso:
tux >
sudo
SUSEConnect
--regcode YOUR_REGISTRATION_CODEI sottoscrittori LTSS devono assicurarsi che l'archivio delle estensioni LTSS sia attivo.
Eseguire
zypper
migration
:tux >
sudo
zypper
migration Executing 'zypper patch-check' Refreshing service 'SUSE_Linux_Enterprise_Server_12_x86_64'. Loading repository data... Reading installed packages... 0 patches needed (0 security patches) Available migrations: 1 | SUSE Linux Enterprise Server 12 SP1 x86_64 2 | SUSE Linux Enterprise Server 12 SP2 x86_64Note sul processo di migrazione:
Se per il sistema in uso sono disponibili più destinazioni di migrazione, Zypper consente di selezionarne una dall'elenco. È come ignorare uno o più Service Pack. Ricordare che la migrazione online per i prodotti base (SLES, SLED) rimane disponibile solo tra i Service Pack di una versione principale.
Per default, Zypper usa l'opzione
--no-allow-vendor-change
, che viene passata azypper
dup
. Se un pacchetto è stato installato da un archivio di terze parti, questa opzione impedisce che il pacchetto venga sostituito con lo stesso pacchetto proveniente da SUSE.Se Zypper rileva archivi obsoleti provenienti da DVD o da un server locale, è consigliabile disabilitarli. Gli archivi precedenti di SUSE Customer Center o RMT vengono rimossi automaticamente.
Rivedere tutte le modifiche, soprattutto i pacchetti che verranno rimossi. Procedere digitando
y
(il numero esatto di pacchetti di cui eseguire l'upgrade può variare in base al sistema):266 packages to upgrade, 54 to downgrade, 17 new, 8 to reinstall, 5 to remove, 1 to change arch. Overall download size: 285.1 MiB. Already cached: 0 B After the operation, additional 139.8 MiB will be used. Continue? [y/n/? shows all options] (y):
Utilizzare i tasti Shift–Pagina ↑ o Shift–Pagina ↓ per scorrere nella shell.
Al termine della migrazione, riavviare il sistema.
5.6 Upgrade con Zypper semplice #
Se non è possibile utilizzare YaST o Zypper migration, è comunque possibile eseguire la migrazione con Zypper semplice e alcune interazioni manuali. Per avviare la migrazione di un Service Pack, procedere come segue:
Se si è eseguito il login a una sessione GNOME in esecuzione su un computer che verrà sottoposto ad aggiornamento, passare a una console di testo. L'esecuzione dell'aggiornamento da una sessione GNOME non è consigliata. Tenere presente che ciò non si applica quando si esegue il login da un computer remoto (a meno che non sia in esecuzione una sessione VNC con GNOME).
Aggiornare gli strumenti di gestione dei pacchetti con gli archivi precedenti di SUSE Linux Enterprise:
tux >
sudo
zypper
patch --updatestack-onlySe il sistema è registrato, è necessario annullarne la registrazione:
tux >
sudo
SUSEConnect
--de-registerRimuovere le origini di installazione e gli archivi precedenti, quindi modificare gli archivi di terze parti.
Aggiungere le nuove origini di installazione, locali o remote (per il segnaposto ARCHIVIO, consultare Sezione 2.3, «Dipendenze e cicli di vita dei moduli»):
sudo
zypper
addrepo REPOSITORYÈ inoltre possibile utilizzare SUSE Customer Center o Repository Management Tool. Il comando per SUSE Linux Enterprise 12 SP1 su AMD64/Intel 64 è:
tux >
sudo
SUSEConnect
-p SLES/12.2/x86_64 OPTIONSTenere presente che gli upgrade tra architetture non sono supportati.
In Zypper verrà visualizzato un conflitto tra il nuovo kernel e quello precedente. Scegliere la soluzione 1 per continuare.
Problem: product:SLES-12.2-0.x86_64 conflicts with kernel < 4.4 provided by kernel-default-VERSION Solution 1: Following actions will be done: replacement of kernel-default-VERSION with kernel-default-VERSION deinstallation of kernel-default-VERSION Solution 2: do not install product:SLES-12.2-0.x86_64
Finalizzare la migrazione:
tux >
sudo
zypper
ref -f -stux >
sudo
zypper
dup --no-allow-vendor-change --no-recommendsIl primo comando aggiorna tutti i servizi e gli archivi. Il secondo comando esegue un upgrade della distribuzione. In questo caso, le ultime due opzioni sono importanti:
-no-allow-vendor-change
assicura che gli RPM di terze parti non sovrascriveranno quelli del sistema di base. L'opzione--no-recommends
assicura che i pacchetti deselezionati durante l'installazione iniziale non verranno aggiunti di nuovo.
5.7 Rollback di un Service Pack #
Se un Service Pack non è adatto alle proprie esigenze, SUSE Linux Enterprise supporta il ripristino del sistema allo stato precedente l'avvio della migrazione del Service Pack. Il prerequisito è una partizione radice Btrfs con snapshot abilitati (impostazione di default durante l'installazione di SLES 12). Per ulteriori informazioni, vedere Chapter 7, System Recovery and Snapshot Management with Snapper.
Recuperare un elenco di tutte le istantanee di Snapper:
tux >
sudo
snapper listRivedere l'output per individuare lo snapshot creato subito prima dell'avvio della migrazione del Service Pack. Nella colonna
è contenuta l'istruzione corrispondente e lo snapshot è contrassegnato comeimportante
nella colonna . Memorizzare il numero di snapshot nella colonna e la rispettiva data nella colonna .Riavviare il computer. Dal menu di avvio, selezionare
e scegliere lo snapshot con la data e il numero memorizzato al passaggio precedente. Viene caricato un secondo menu di avvio (quello dello snapshot). Selezionare la voce che inizia conSLES 12
ed eseguire l'avvio.Il sistema viene avviato nello stato precedente con la partizione del sistema montata in sola lettura. Eseguire il login come
root
e verificare che lo snapshot selezionato sia corretto. Verificare inoltre che tutto funzioni come previsto. Si noti che poiché il file system radice è montato in sola lettura, è possibile che vengano applicate restrizioni alle funzionalità.In caso di problemi o se è stato avviato lo snapshot errato, riavviare e scegliere uno snapshot diverso dal quale eseguire l'avvio. Le modifiche apportate finora non sono permanenti. Se lo snapshot è corretto e funziona come previsto, apportare la modifica permanente eseguendo il seguente comando:
tux >
sudo
snapper rollbackDopodiché riavviare. Nella schermata di avvio, scegliere la voce di avvio di default per riavviare nel sistema ripristinato.
Verificare che la configurazione dell'archivio sia stata reimpostata correttamente. Verificare inoltre che tutte le procedure siano registrate adeguatamente. Se una delle suddette condizioni non è soddisfatta, l'aggiornamento del sistema in un momento successivo potrebbe risultare impossibile o il sistema potrebbe essere aggiornato con archivi di pacchetti errati.
Assicurarsi che il sistema sia in grado di accedere a Internet prima di iniziare questa procedura.
Aggiornare servizi e archivi eseguendo
tux >
sudo
zypper ref -fsOttenere un elenco di archivi attivi eseguendo
tux >
sudo
zypper lrVerificare attentamente l'output di questo comando. Nell'elenco non dovrebbero comparire servizi e archivi aggiunti per l'aggiornamento. Ad esempio, se si esegue il rollback da SLES 12 SP1 a SLES 12 SP2, l'elenco deve contenere gli archivi
SP1
e non gli archiviSLES12-SP2-Pool
eSLES12-SP2-Updates
.Nel caso in cui siano elencati archivi errati, eliminarli e, se necessario, sostituirli con le versioni che corrispondono al prodotto o alla versione del Service Pack in uso. Per un elenco di archivi per i percorsi delle migrazioni supportate, fare riferimento alla Sezione 2.3, «Dipendenze e cicli di vita dei moduli».
Infine, verificare che nello stato di registrazione siano presenti tutti i prodotti installati eseguendo
tux >
sudo
SUSEConnect --statusLo stato di tutti i prodotti deve essere
Registrato
. In caso contrario, correggere la registrazione eseguendotux >
sudo
SUSEConnect --rollback
Il sistema viene ripristinato allo stato acquisito immediatamente prima dell'avvio della migrazione del Service Pack.
5.8 Migrazione da openSUSE Leap a SUSE Linux Enterprise Server #
È possibile eseguire la migrazione di un'installazione openSUSE online a SUSE Linux Enterprise Server. La procedura è analoga a quella descritta nella Sezione 5.5, «Upgrade con Zypper», con alcuni passaggi aggiuntivi. Si consiglia di eseguire questa procedura su un sistema di prova in cui sia replicata la configurazione della produzione prima di eseguirla nel sistema di produzione.
Per vedere per quali versioni openSUSE Leap è supportata la migrazione, consultare la Sezione 1.1, «Percorsi di upgrade a SLE 15 supportati».
Gli archivi openSUSE forniscono più pacchetti rispetto a quelli disponibili in SUSE Linux Enterprise Server. Se si è installato uno di questi pacchetti, dopo la migrazione questo non riceverà più alcun aggiornamento. Per rimuovere questi pacchetti, attenersi alla procedura riportata di seguito.
Assicurarsi che tutti i pacchetti necessari per il sistema siano disponibili nell'archivio SUSE Linux Enterprise Server. È inoltre possibile verificare se i pacchetti sono disponibili nell'archivio SUSE Package Hub. Per informazioni, vedere Sezione 18.3, «SUSE Package Hub».
Per eseguire la migrazione da openSUSE Leap, attenersi alla procedura seguente:
Passare a un TTY, premendo ad esempio Ctrl–Alt–F1. Quindi, eseguire il login come
root
.Installazione SUSEConnect.
root #
zypper in SUSEConnect
Effettuare il download del file ISO del DVD di installazione e montarlo. Quindi, importare le chiavi degli archivi per SLE.
root #
mount /PATH/TO/ISO_FILE /mnt
root #
rpm --import /mnt/repodata/repomd.xml.key
root #
umount /mnt
Eseguire la registrazione presso SCC per ottenere gli archivi SUSE Linux Enterprise Server.
root #
SUSEConnect -r REGISTRATION_CODE -p SLES/PRODUCT_VERSION/ARCHITECTURE
Sostituire PRODUCT_VERSION con la versione di destinazione di SUSE Linux Enterprise Server, ad esempio
15.0
.Sostituire ARCHITECTURE con l'architettura del sistema, ad esempio
x86_64
oAArch64
.Ignorare il messaggio di errore sui prodotti in conflitto.
Adesso, aggiungere manualmente il prodotto
SLES
.root #
zypper in --force-resolution -t product SLES
Confermare la selezione dei pacchetti con
s
.Elencare e successivamente rimuovere tutti gli archivi openSUSE nel sistema.
root #
zypper lr
root #
zypper rr [REPOSITORY_IDS]
Adesso, aggiungere i moduli necessari per l'installazione.
root #
SUSEConnect --list-extensions
[...]root #
SUSEConnect -p sle-module-basesystem/VERSION/ARCHITECTURE
Eseguire la migrazione dei pacchetti installati negli archivi SUSE Linux Enterprise Server.
root #
zypper dup --force-resolution
Dopo il download, è possibile che vengano visualizzati i conflitti tra i file. Verificare se sono di proprio interesse, quindi continuare digitando
sì
.Facoltativo: aggiungere ulteriori archivi, ad esempio Package Hub, ed eseguire di nuovo
zypper dup
.Rimuovere i pacchetti orfani.
root #
zypper rm $(zypper packages --orphaned | gawk '{print $5}' | tail -n +7)
Infine, riavviare il sistema.