19 Upgrade di SUSE Linux Enterprise #
SUSE® Linux Enterprise (SLE) consente di eseguire l'upgrade di un sistema esistente alla nuova versione. Non è necessaria una nuova installazione. I dati esistenti, quali home directory, directory dei dati e configurazione di sistema, restano invariati. È possibile eseguire l'aggiornamento da un'unità CD o DVD locale o da un'origine dell'installazione di rete centrale.
In questo capitolo viene illustrato come eseguire l'upgrade manuale del sistema SUSE Linux Enterprise mediante DVD, la rete, un processo automatico o SUSE Manager.
19.1 Percorsi di upgrade a SLE 12 SP5 supportati #
Gli upgrade tra architetture, come l'upgrade da una versione a 32 bit di SUSE Linux Enterprise Server a una versione a 64 bit, oppure l'upgrade da un big endian a un little endian non sono supportati.
Nello specifico, non è supportato l'upgrade da SLE 11 su POWER (big endian) a SLE 12 SP2 su POWER (nuovo: little endian).
Inoltre, poiché SUSE Linux Enterprise 12 è disponibile solo nella versione a 64 bit, gli upgrade da qualsiasi sistema SUSE Linux Enterprise 11 a 32 bit a SUSE Linux Enterprise 12 e versioni successive non sono supportati.
Per eseguire un upgrade tra architetture, è necessario eseguire una nuova installazione.
Il percorso di upgrade più sicuro consiste nel procedere passo passo e installare consecutivamente tutti i Service Pack. In alcuni casi è possibile ignorare 1 o 2 Service Pack quando si esegue l'upgrade. Per ulteriori dettagli, consultare Percorsi di upgrade supportati in base alla versione e Figura 19.1, «Panoramica dei percorsi di upgrade supportati». Tuttavia, si consiglia di non ignorare alcun Service Pack.
Si consiglia di eseguire una nuova installazione per l'upgrade di una nuova release principale.
- Upgrade da SUSE Linux Enterprise 10 (qualsiasi Service Pack)
Non esistono percorsi di migrazione diretta a SUSE Linux Enterprise 12 supportati. In questo caso si consiglia di eseguire una nuova installazione.
- Upgrade da SUSE Linux Enterprise 11 GA / SP1 / SP2 / SP3
Non esistono percorsi di migrazione diretta a SUSE Linux Enterprise 12 supportati. Per poter passare a SLE 12 SP5, è necessario almeno SLE 11 SP4.
Se non è possibile eseguire una nuova installazione, eseguire prima l'upgrade del Service Pack SLE 11 a SLE 11 SP4. Questa procedura è descritta nella Guida alla distribuzione di SUSE Linux Enterprise 11: https://documentation.suse.com/sles-11/.
- Upgrade da SUSE Linux Enterprise 11 SP4
L'upgrade da SLE 11 SP5 a SLE 12 SP4 è supportato solo offline. Per ulteriori dettagli, vedere Capitolo 20, Upgrade offline.
- Upgrade da SUSE Linux Enterprise 12 GA/SP1/SP2 a SP5
Gli upgrade diretti da SLE 12 GA, SP1 o SP2 a SP5 non sono supportati. Eseguire prima l'upgrade a SLE 12 SP3 o SP4.
- Upgrade da SUSE Linux Enterprise 12 SP3/SP4 a SP5
L'upgrade da SUSE Linux Enterprise 12 SP3 o SP4 a SP5 è supportato.
- Upgrade da SUSE Linux Enterprise 12 LTSS GA/SP1 a SP5
Gli upgrade diretti da SUSE Linux Enterprise 12 LTSS GA o SP1 a SP5 non sono supportati. Prima è necessario eseguire l'upgrade a SLE 12 LTSS SP2.
- Upgrade da SUSE Linux Enterprise 12 LTSS SP2/SP3/SP4 a SP5
L'upgrade da SUSE Linux Enterprise 12 LTSS SP2, SP3 o SP4 a SP5 è supportato.
19.2 Upgrade online e offline #
SUSE supporta due metodi di upgrade e migrazione diversi. Per ulteriori informazioni sulla terminologia, vedere Sezione 18.1, «Terminologia». Tali metodi sono:
- Online
Tutti gli upgrade eseguiti dal sistema in esecuzione sono considerati online. Esempi: connessione tramite SUSE Customer Center, Subscription Management Tool (SMT), SUSE Manager tramite Zypper o YaST.
Quando si esegue la migrazione tra Service Pack della stessa release principale, si consiglia la seguente Sezione 21.4, «Upgrade con lo strumento di migrazione online (YaST)» o Sezione 21.5, «Upgrade con Zypper».
- Offline
In genere i metodi offline vengono avviati da un sistema operativo diverso da quello di cui viene eseguito l'upgrade della versione SLE installata. Esempi: DVD, disco flash, immagine ISO, AutoYaST, « RPM semplice» o avvio PXE.
Se il computer è gestito da SUSE Manager, è necessario avviare la procedura di upgrade nell'interfaccia di gestione. Per informazioni, vedere Sezione 20.6, «Aggiornamento tramite SUSE Manager».
19.3 Preparazione del sistema #
Prima di iniziare la procedura di upgrade, assicurarsi che il sistema sia preparato correttamente. Tra le varie operazioni, la preparazione prevede il backup dei dati e il controllo delle note di rilascio.
19.3.1 Assicurarsi che il sistema attuale sia aggiornato #
L'upgrade del sistema è supportato solo dal livello di patch più recente. Assicurarsi che siano installati gli ultimi aggiornamenti del sistema eseguendo zypper patch
o avviando il modulo YaST .
19.3.2 Lettura delle note di rilascio #
Nelle note di rilascio è possibile trovare informazioni aggiuntive sulle modifiche apportate rispetto alla release precedente di SUSE Linux Enterprise Server. Controllare le note di rilascio per vedere se:
l'hardware necessita di considerazioni speciali;
i pacchetti software utilizzati hanno subito modifiche significative;
è necessario adottare precauzioni speciali per l'installazione.
Le note di rilascio forniscono inoltre informazioni che non si è fatto in tempo a riportare nel manuale. Contengono anche alcune note su problemi noti.
Se si ignora uno o più Service Pack, controllare anche nelle note di rilascio le informazioni relative al Service Pack ignorato. In genere le note di rilascio contengono solo le differenze tra due release consecutive. Se si leggono solo le note di rilascio attuali, si potrebbero perdere importanti modifiche apportate rispetto alla release precedente.
Individuare localmente le note di rilascio nella directory /usr/share/doc/release-notes
o online all'indirizzo https://www.suse.com/releasenotes/.
19.3.3 Esecuzione del backup #
Prima di eseguire l'aggiornamento, copiare i file di configurazione esistenti su un supporto separato (ad esempio un dispositivo a nastro, un disco rigido rimovibile e così via) per eseguire il backup dei dati. Questo vale soprattutto per i file memorizzati in /etc
e per alcuni file e directory in /var
e /opt
. Può anche essere opportuno salvare i dati dell'utente contenuti /home
(ovvero le directory HOME
) su un supporto di backup. Eseguire il backup di questi dati come root
. Infatti solo gli utenti root
dispongono delle autorizzazioni di lettura per tutti i file locali.
Se in YaST si è selezionata la modalità di installazione /etc/sysconfig
. Si tratta tuttavia di un backup parziale in quanto mancano tutte le altre directory importanti indicate sopra. Trovare il backup nella directory /var/adm/backup
.
19.3.3.1 Elenco dei pacchetti installati e degli archivi #
Spesso è utile disporre di un elenco dei pacchetti installati, ad esempio quando si esegue una nuova installazione di una release principale di SLE o si ripristina la versione precedente.
È opportuno sapere che nelle release più recenti di SUSE Linux Enterprise, non tutti i pacchetti installati o gli archivi utilizzati sono disponibili. Alcuni potrebbero essere stati rinominati e altri sostituiti. È inoltre possibile che alcuni pacchetti siano ancora disponibili per poter essere utilizzati quando per default è in uso un altro pacchetto. Pertanto, potrebbe essere necessario apportare manualmente alcune modifiche ai file. A tal fine, è possibile utilizzare un editor di testo.
Creare un file denominato repositories.bak
contenente un elenco di tutti gli archivi utilizzati:
root #
zypper
lr -e repositories.bak
Creare anche un file denominato installed-software.bak
contenente un elenco di tutti i pacchetti installati:
root #
rpm
-qa --queryformat '%{NAME}\n' > installed-software.bak
Eseguire il backup di entrambi i file. È possibile ripristinare gli archivi e i pacchetti installati con i seguenti comandi:
root #
zypper
ar repositories.bakroot #
zypper
install $(cat installed-software.bak)
Un sistema di cui si è eseguito l'upgrade a una nuova versione principale (SLE X+1) può contenere più pacchetti rispetto al sistema iniziale (SLE X). Contiene anche più pacchetti rispetto a una nuova installazione di SLE X+1 con la stessa selezione di modelli. I motivi di questo comportamento sono i seguenti:
I pacchetti sono stati suddivisi per consentire una selezione più granulare degli stessi. Ad esempio, 37 pacchetti texlive su SLE 11 sono stati suddivisi in 422 pacchetti su SLE 12.
Quando un pacchetto è suddiviso in altri pacchetti, tutti i nuovi pacchetti vengono installati nell'upgrade in modo che mantengano le stesse funzionalità della versione precedente. Per una nuova installazione di SLE X+1 è tuttavia possibile che il nuovo default sia di non installare tutti i pacchetti.
È possibile che i pacchetti esistenti in SLE X siano stati mantenuti ai fini della compatibilità.
Le dipendenze dei pacchetti e l'ambito dei modelli potrebbero essere stati modificati.
19.3.4 Migrazione del database MySQL #
A partire da SUSE Linux Enterprise 12, SUSE è passato da MySQL a MariaDB. Prima di iniziare un upgrade, si consiglia vivamente di eseguire il backup del database.
Per eseguire la migrazione del database, procedere come segue:
Eseguire il login al computer con SUSE Linux Enterprise 11.
Creare un file di dump:
root #
mysqldump
-u root -p --all-databases > mysql_backup.sqlPer default,
mysqldump
non effettua il dump del databaseINFORMATION_SCHEMA
operformance_schema
. Per ulteriori informazioni, fare riferimento a https://dev.mysql.com/doc/refman/5.5/en/mysqldump.html.Memorizzare in un luogo sicuro il file di dump, il file di configurazione
/etc/my.cnf
e la directory/etc/mysql/
per analizzarli in seguito (NON per l'installazione!).Eseguire l'upgrade. Dopo l'upgrade, il file di configurazione precedente
/etc/my.cnf
resta inalterato. È possibile trovare la nuova configurazione nel file/etc/my.cnf.rpmnew
.Configurare il database MariaDB in base alle proprie esigenze. NON utilizzare il file di configurazione e la directory precedenti se non come promemoria da adeguare alla situazione specifica.
Avviare il server MariaDB:
root #
systemctl
start mysqlSe si desidera avviare il server MariaDB a ogni avvio, attivare il servizio:
root #
systemctl
enable mysqlVerificare che MariaDB sia in esecuzione connettendolo al database:
root #
mysql
-u root -p
19.3.5 Migrazione del database PostgreSQL #
Una versione più recente del database PostgreSQL viene fornita come aggiornamento di manutenzione. A causa del lavoro richiesto per la migrazione del database, non è disponibile alcun processo di upgrade automatico. Il passaggio da una versione all'altra deve essere pertanto effettuato manualmente.
Il processo di migrazione viene eseguito mediante il comando pg_upgrade
, un metodo alternativo al classico dump e ricaricamento. Rispetto al metodo «dump e ricaricamento», pg_upgrade
, rende più rapida la migrazione.
I file di programma per ciascuna versione di PostgreSQL vengono memorizzati in directory diverse in base alla versione. Ad esempio, in /usr/lib/postgresql96/
per la versione 9.6 e in /usr/lib/postgresql10/
per la versione 10. Tenere presente che la policy del controllo versioni di PostgreSQL è stata modificata dalla versione principale 9.6 alla versione principale 10. Per informazioni, vedere https://www.postgresql.org/support/versioning/.
Quando si esegue l'upgrade da SLE 11, postgresql94
verrà disinstallato e non sarà possibile utilizzarlo per la migrazione del database a una versione successiva di PostgreSQL. Pertanto, in questo caso assicurarsi di eseguire la migrazione del database PostgreSQL prima di eseguire l'upgrade del sistema.
Nella procedura riportata di seguito è descritta la migrazione del database dalla versione 9.6 alla 10. Quando si utilizza una versione diversa come avvio o destinazione, sostituire i numeri di versione di conseguenza.
Per eseguire la migrazione del database, procedere come segue:
Verificare che siano soddisfatte le seguenti condizioni preliminari:
Eseguire l'upgrade di tutti i pacchetti della versione precedente di PostgreSQL all'ultima release mediante un aggiornamento di manutenzione.
Creare una copia di backup del database esistente.
Installare i pacchetti della nuova versione principale di PostgreSQL. Per SLE12 SP5 questo prevede l'installazione di postgresql10-server e di tutti i pacchetti da cui dipende.
Installare il pacchetto postgresql10-contrib contenente il comando
pg_upgrade
.Verificare che sia disponibile spazio sufficiente nell'area dati di PostgreSQL, che per default è
/var/lib/pgsql/data
. Se lo spazio è limitato, provare a ridurre le dimensioni con il comando SQL seguente su ciascun database. Questa operazione può richiedere molto tempo:VACUUM FULL
Interrompere il server PostgreSQL in uno dei seguenti modi:
root #
/usr/sbin/rcpostgresql
stopoppure
root #
systemctl stop postgresql.service(a seconda della versione SLE utilizzata come versione iniziale per l'upgrade).
Ridenominare la directory dei dati precedente:
root #
mv
/var/lib/pgsql/data /var/lib/pgsql/data.oldInizializzare la nuova istanza di database manualmente con il comando
initdb
o in modo automatico avviando e arrestando il server PostgreSQL:root #
/usr/sbin/rcpostgresql
startroot #
/usr/sbin/rcpostgresql
stopoppure
root #
systemctl start postgresql.serviceroot #
systemctl stop postgresql.service(a seconda della versione SLE utilizzata come versione iniziale per l'upgrade).
Se i file di configurazione nella versione precedente sono stati modificati, si consiglia di riportare tali modifiche nei nuovi file di configurazione. Ciò potrebbe avere un impatto sui file
postgresql.auto.conf
,postgresql.conf
,pg_hba.conf
epg_ident.conf
. Le versioni precedenti di questi file si trovano in/var/lib/pgsql/data.old/
, mentre le nuove versioni sono disponibili in/var/lib/pgsql/data
.Non è consigliabile limitarsi a copiare i file di configurazione precedenti, in quanto tale operazione può comportare la sovrascrittura delle nuove opzioni, delle nuove impostazioni di default e dei commenti modificati.
Avviare il processo di migrazione come utente
postgres
:root #
su - postgres postgres >pg_upgrade
\ --old-datadir "/var/lib/pgsql/data.old" \ --new-datadir "/var/lib/pgsql/data" \ --old-bindir "/usr/lib/postgresql96/bin/" \ --new-bindir "/usr/lib/postgresql10/bin/"Avviare la nuova istanza del database in uno dei seguenti modi:
root #
/usr/sbin/rcpostgresql
startoppure
root #
systemctl start postgresql.service(a seconda della versione SLE utilizzata come versione iniziale per l'upgrade).
Controllare che la migrazione sia stata eseguita correttamente. L'ambito del test dipende da ogni singolo caso di utilizzo: Non esiste uno strumento generico che possa automatizzare questo passaggio.
Rimuovere tutti i pacchetti di PostgreSQL e la directory dei dati precedenti:
root #
zypper
search -s postgresql96 | xargs zypper rm -uroot #
rm
-rf /var/lib/pgsql/data.old
19.3.6 Creare certificati server non MD5 per applicazioni Java #
Durante l'aggiornamento da SP1 a SP2, i certificati basati su MD5 sono stati disabilitati all'interno di una correzione di sicurezza. Se sono presenti certificati creati come MD5, ricrearli seguendo la procedura indicata:
Aprire un terminale ed eseguire il login come
root
.Creare una chiave privata:
root #
openssl
genrsa -out server.key 1024Se si desidera una chiave più sicura, sostituire
1024
con un numero più alto, ad esempio,4096
.Creare una richiesta di firma del certificato (CSR):
root #
openssl
req -new -key server.key -out server.csrFirmare il certificato:
root #
openssl
x509 -req -days 365 -in server.csr -signkey server.key -out server.crtCreare il file PEM:
root #
cat
server.key server.crt > server.pemSpostare i file
server.crt
,server.csr
,server.key
eserver.pem
nelle directory rispettive dove si trovano le chiavi. Per Tomcat, ad esempio, la directory è/etc/tomcat/ssl/
.
19.3.7 Chiusura dei guest delle macchine virtuali #
Se il computer funge da server host per macchine virtuali per KVM o Xen, assicurarsi di spegnere correttamente tutti i guest delle macchine virtuali prima dell'aggiornamento. altrimenti l'accesso ai guest dopo l'aggiornamento potrebbe risultare impossibile.
19.3.8 Regolazione della configurazione del client SMT #
Se il computer di cui si desidera effettuare l'upgrade è registrato come client di un server SMT, eseguire le seguenti operazioni:
Verificare che la versione dello script clientSetup4SMT.sh
sull'host sia aggiornata. clientSetup4SMT.sh
dalle versioni precedenti di SMT non è in grado di gestire i client SMT 12. Se si applicano regolarmente patch software sul server SMT, è sempre possibile trovare la versione più recente di clientSetup4SMT.sh
in <SMT_HOSTNAME>/repo/tools/clientSetup4SMT.sh
.
Qualora l'upgrade del computer a una versione successiva di SUSE Linux Enterprise Server risultasse impossibile, annullare la registrazione del computer dal server SMT come descritto in Procedura 19.1. Riavviare quindi il processo di upgrade.
Eseguire il login sul computer client.
Il passaggio seguente dipende dal sistema operativo del client:
Per SUSE Linux Enterprise 11, eseguire i seguenti comandi:
tux >
sudo
suse_register -Etux >
sudo
rm -f /etc/SUSEConnecttux >
sudo
rm -rf /etc/zypp/credentials.d/*tux >
sudo
rm -rf /etc/zypp/repos.d/*tux >
sudo
rm -f /etc/zypp/services.d/*tux >
sudo
rm -f /var/cache/SuseRegister/*tux >
sudo
rm -f /etc/suseRegister*tux >
sudo
rm -f /var/cache/SuseRegister/lastzmdconfig.cachetux >
sudo
rm -f /etc/zmd/deviceidtux >
sudo
rm -f /etc/zmd/secretPer SUSE Linux Enterprise 12, eseguire i seguenti comandi:
tux >
sudo
SUSEConnect --de-registertux >
sudo
SUSEConnect --cleanuptux >
sudo
rm -f /etc/SUSEConnecttux >
sudo
rm -rf /etc/zypp/credentials.d/*tux >
sudo
rm -rf /etc/zypp/repos.d/*tux >
sudo
rm -f /etc/zypp/services.d/*
Eseguire il login al server SMT.
Verificare che l'annullamento della registrazione del client sia stato completato visualizzando l'elenco di tutte le registrazioni client:
tux >
sudo
smt-list-registrationsSe il nome host del client risulta ancora nell'output del comando, ottenere l'
ID univoco
dalla prima colonna (nell'elenco potrebbero essere presenti più ID per il client).Eliminare la registrazione per il client specificato:
tux >
sudo
smt-delete-registration -g UNIQUE_IDSe nell'elenco risultano più ID per il client, ripetere il passaggio indicato sopra per ciascun ID univoco.
Verificare che l'annullamento della registrazione del client sia completato eseguendo:
tux >
sudo
smt-list-registrations
19.3.9 Spazio su disco #
I programmi tendono a crescere da una versione all'altra. Quindi, prima di effettuare un aggiornamento, controllare lo spazio disponibile nella partizione. Se si teme di esaurire lo spazio su disco, eseguire il backup dei dati prima di incrementare lo spazio disponibile, ad esempio ridimensionando le partizioni. Non esiste una regola generale in merito allo spazio che deve essere disponibile in ogni partizione. I requisiti di spazio dipendono dal particolare profilo di partizionamento e dal software selezionato.
Durante la procedura di aggiornamento YaST controlla la quantità di spazio su disco disponibile su disco e visualizza un avviso se vi è la possibilità che l'installazione superi tale valore. In questo caso, l'aggiornamento potrebbe rendere inutilizzabile il sistema. È possibile ignorare l'avviso e continuare con l'aggiornamento solo se si sa esattamente cosa si sta facendo (sulla base dei test eseguiti in precedenza).
19.3.9.1 Verifica dello spazio su disco nei file system diversi da Btrfs #
Per visualizzare lo spazio disponibile su disco, utilizzare il comando df
. Come nell'Esempio 19.1, «Visualizzare l'elenco con il comando df -h
», la partizione radice è /dev/sda3
(montata come /
).
df -h
#Filesystem Size Used Avail Use% Mounted on /dev/sda3 74G 22G 53G 29% / tmpfs 506M 0 506M 0% /dev/shm /dev/sda5 116G 5.8G 111G 5% /home /dev/sda1 44G 4G 40G 9% /data
19.3.9.2 Verifica dello spazio su disco nei file system Btrfs #
Se si utilizza Btrfs come file system radice nel computer in uso, assicurarsi di disporre di spazio sufficiente. Nel caso peggiore, per un upgrade è necessaria la stessa quantità di spazio su disco del file system radice attuale (senza /.snapshot
) per un nuovo snapshot. Per visualizzare lo spazio su disco disponibile, usare il comando:
root #
df
-h /
Verificare lo spazio disponibile anche su tutte le altre partizioni montate. Sono stati comprovati i seguenti consigli:
Per tutti i file system, incluso Btrfs, è necessario spazio su disco sufficiente a effettuare il download e installare RPM di grandi dimensioni. Lo spazio degli RPM precedenti viene liberato solo dopo l'installazione di nuovi RPM.
Per il file system Btrfs con snapshot, è necessaria almeno la stessa quantità di spazio su disco richiesta per l'installazione corrente. È consigliabile avere a disposizione il doppio dello spazio occupato dall'installazione corrente.
Se lo spazio libero non è sufficiente, provare a eliminare gli snapshot precedenti con il comando
snapper
:root #
snapper
listroot #
snapper
delete NUMBERQuesta soluzione tuttavia potrebbe non funzionare in tutti i casi. Prima della migrazione, la maggior parte degli snapshot occupa una quantità ridotta di spazio.
19.3.10 Disabilitazione temporanea del supporto di più versioni del kernel #
SUSE Linux Enterprise Server consente l'installazione di più versioni del kernel, abilitando le impostazioni corrispondenti in /etc/zypp/zypp.conf
. Per eseguire l'upgrade di un Service Pack, il supporto di tale funzione deve essere temporaneamente disabilitato e può essere nuovamente abilitato al termine dell'aggiornamento. Per disabilitare il supporto di più versioni, trasformare in commento le righe corrispondenti in /etc/zypp/zypp.conf
. Il risultato deve assomigliare a quello riportato di seguito:
#multiversion = provides:multiversion(kernel) #multiversion.kernels = latest,running
Per riattivare la funzione al termine dell'aggiornamento, rimuovere i segni di commento. Per ulteriori informazioni sul supporto di più versioni, vedere Sezione 15.1, «Abilitazione e configurazione del supporto multiversione».
19.4 Upgrade su IBM Z #
Per l'upgrade di un'installazione SUSE Linux Enterprise su IBM Z è necessario il parametro del kernel Upgrade=1
, ad esempio tramite parmfile. Vedere Sezione 4.3, «Il parmfile — Automazione della configurazione del sistema».
19.5 IBM POWER: avvio di un server X #
In SLES 12 per IBM POWER, per default il display manager è configurato in modo che non venga avviato un server X locale. In SLES 12 SP1 tale impostazione è stata invertita e ora il display manager avvia un server X.
Per evitare problemi durante l'upgrade, l'impostazione di SUSE Linux Enterprise Server non viene modificata automaticamente. Affinché il display manager avvii un server X dopo l'upgrade, modificare come segue l'impostazione DISPLAYMANAGER_STARTS_XSERVER
in /etc/sysconfig/displaymanager
:
DISPLAYMANAGER_STARTS_XSERVER="yes"