Come forse già saprai, non è stato possibile migrare tra le versioni principali dei derivati RHEL. Significato:non puoi aggiornare direttamente da CentOS 7.x alla versione CentOS 8.x. L'unico modo era una nuova installazione. Non più! Ora puoi migrare facilmente da CentOS 7.x a qualsiasi 8.x di tua scelta utilizzando ELEvate attrezzo. Questa guida spiega come migrare CentOS 7 ad AlmaLinux 8, CentOS Stream 8, Oracle Linux 8 e Rocky Linux 8 utilizzando lo strumento AlmaLinux ELvate.
Cos'è ELEvate?
ELEvate è uno strumento di migrazione open source sviluppato dal team di AlmaLinux. Ti consente di migrare facilmente e senza intoppi tra le versioni principali delle distribuzioni basate su RHEL dalla versione 7.x alla versione 8.x.
ELEvate combina il framework Leapp di Red Hat con una libreria e un servizio creati dalla community per il set di metadati di migrazione necessari.
Attualmente supporta la migrazione da CentOS 7 ai seguenti sistemi operativi:
- AlmaLinux OS 8
- CentOS Stream 8
- Oracle Linux 8
- Rocky Linux 8
Le migrazioni possono essere eseguite sul posto, il che significa che i dati e i file di configurazione vengono conservati. In altre parole, tutte le applicazioni, le impostazioni ei dati installati rimarranno intatti. Tuttavia, gli utenti sono ALTAMENTE INCORAGGIATI per fare il backup i dati importanti prima di iniziare la migrazione.
ELEvate è un programma open source, rilasciato sotto la licenza Apache 2.0.
Per chi se lo stesse chiedendo, le lettere "EL" di ELEvate stanno per Enterprise Linux .
Cose da ricordare prima di iniziare la migrazione a CentOS 7
- Come affermato in precedenza, si consiglia vivamente di eseguire il backup i tuoi dati e impostazioni importanti.
- La migrazione in tempo reale non è supportata. Il tuo sistema si riavvierà due volte. Assicurati che tutti i lavori importanti (ad es. i backup pianificati) non siano in esecuzione.
- ELEvate è ancora in fase di sviluppo. Quindi ti suggerisco di testarlo a fondo in un sistema virtuale o in un ambiente sandbox prima di provarlo in produzione.
Ho testato lo strumento ELEvate su una macchina virtuale CentOS 7 appena installata. La migrazione è stata fluida e priva di errori. Se riscontri problemi, segnalali a AlmaLinux Bug Tracker e/o AlmaLinux Chat Migration Channel.
Aggiorna il sistema CentOS 7
Assicurati di eseguire l'ultimo ramo CentOS 7.x. In caso contrario, aggiorna il tuo sistema CentOS usando il comando:
$ sudo yum update
$ sudo yum upgrade
Riavvia il sistema per applicare le modifiche:
$ sudo reboot
Controlla la versione di CentOS 7 attualmente installata usando il comando:
$ cat /etc/centos-release CentOS Linux release 7.9.2009 (Core)
$ cat /etc/os-release NAME="CentOS Linux" VERSION="7 (Core)" ID="centos" ID_LIKE="rhel fedora" VERSION_ID="7" PRETTY_NAME="CentOS Linux 7 (Core)" ANSI_COLOR="0;31" CPE_NAME="cpe:/o:centos:centos:7" HOME_URL="https://www.centos.org/" BUG_REPORT_URL="https://bugs.centos.org/" CENTOS_MANTISBT_PROJECT="CentOS-7" CENTOS_MANTISBT_PROJECT_VERSION="7" REDHAT_SUPPORT_PRODUCT="centos" REDHAT_SUPPORT_PRODUCT_VERSION="7"

Come puoi vedere, il mio sistema funziona con la versione CentOS 7.9. Questa è l'ultima versione nel ramo 7.x.
Migrare CentOS 7 ad AlmaLinux 8, CentOS 8, Rocky Linux 8 e Oracle Linux 8
Passaggio 1:installa ELEvate
Installa elevate-release
pacchetto nel tuo sistema CentOS 7 usando il comando:
$ sudo yum install http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm

Passaggio 2:installa Leapp e i dati di migrazione
Il elevate-release
il pacchetto fornisce il Leapp utility e i dati necessari per migrare Enterprise Linux 7.x a qualsiasi versione Enterprise Linux 8.x di nostra scelta.
A seconda della distribuzione che desideri aggiornare, devi installare uno qualsiasi dei seguenti pacchetti:
- leapp-data-almalinux
- leapp-data-centos
- leapp-data-oraclelinux
- leapp-data-rocky
Ad esempio, se desideri migrare da CentOS 7 ad AlmaLinux 8 , devi installare i seguenti pacchetti:
$ sudo yum install -y leapp-upgrade leapp-data-almalinux
Per migrare da CentOS 7 a CentOS 8 , installa i seguenti pacchetti:
$ sudo yum install -y leapp-upgrade leapp-data-centos
Per migrare CentOS 7 a Oracle Linux 8 , installa i seguenti pacchetti:
$ sudo yum install -y leapp-upgrade leapp-data-oraclelinux
Per migrare CentOS 7 a Rocky Linux 8 , installa i seguenti pacchetti:
$ sudo yum install -y leapp-upgrade leapp-data-rocky
Ora abbiamo installato l'leap-upgrade
pacchetto e i dati di migrazione per il sistema operativo che vogliamo aggiornare.
Ai fini di questa guida, aggiornerò CentOS 7 ad AlmaLinux 8.

Passaggio 3:avvia il controllo pre-aggiornamento
Quindi esegui il seguente comando per verificare se l'aggiornamento è possibile o meno:
$ sudo leapp preupgrade
Questo eseguirà una serie di azioni e verificherà se è possibile eseguire l'aggiornamento.
==> Processing phase `configuration_phase` ====> * ipu_workflow_config IPU workflow config actor ==> Processing phase `FactsCollection` ====> * scanmemory Scan Memory of the machine. ====> * source_boot_loader_scanner Scans the boot loader configuration on the source system. . . . ============================================================ UPGRADE INHIBITED ============================================================ Upgrade has been inhibited due to the following problems: 1. Inhibitor: Detected loaded kernel drivers which have been removed in RHEL 8. Upgrade cannot proceed. 2. Inhibitor: Multiple devel kernels installed 3. Inhibitor: Possible problems with remote login using root account 4. Inhibitor: Missing required answers in the answer file Consult the pre-upgrade report for details and possible remediation. ============================================================ UPGRADE INHIBITED ============================================================ Debug output written to /var/log/leapp/leapp-preupgrade.log ============================================================ REPORT ============================================================ A report has been generated at /var/log/leapp/leapp-report.json A report has been generated at /var/log/leapp/leapp-report.txt ============================================================ END OF REPORT ============================================================ Answerfile has been generated at /var/log/leapp/answerfile

Al termine del controllo di preaggiornamento, l'utility Leapp genererà un report in /var/log/leapp/leapp-report.txt
file. Questo file contiene possibili problemi e soluzioni consigliate. In questa fase non verranno installati pacchetti rpm.
AVVISO:
Il controllo di preaggiornamento avrà esito negativo se CentOS 7 predefinito non soddisfa tutti i requisiti per la migrazione. In tal caso, devi risolvere tutti i problemi e riprovare.
Le seguenti correzioni da /var/log/leapp/leapp-report.txt
sono obbligatori , ma puoi anche rivedere il resto, se necessario.
Nel mio caso, ho risolto i seguenti problemi:
$ sudo rmmod pata_acpi
$ echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
$ sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
Ho anche dovuto rimuovere gli sviluppatori extra del kernel.
Elenca i kernel installati in CentOS:
$ rpm -qa kernel kernel-3.10.0-1160.45.1.el7.x86_64 kernel-3.10.0-1160.42.2.el7.x86_64
Come vedi sopra, ci sono attualmente due kernel installati nel mio sistema.
Rimuovi il vecchio kernel e kernel-devels e mantieni solo il kernel attualmente attivo usando il comando:
$ sudo package-cleanup --oldkernels --count=1
Una volta risolti tutti i problemi, esegui il comando seguente per migrare CentOS 7 su qualsiasi Enterprise Linux 8.x di tua scelta:
$ sudo leapp upgrade

Una volta completato l'aggiornamento, riavvia il sistema:
$ sudo reboot
Una nuova voce chiamata ELevate-Upgrade-Initramfs
nel menu di GRUB apparirà. Il sistema verrà avviato automaticamente al suo interno. Puoi vedere come va il processo di aggiornamento nella console.

Il sistema si riavvierà automaticamente una volta completato l'aggiornamento. Le voci del menu di GRUB verranno aggiornate automaticamente a seconda del sistema operativo.
Accedi al sistema e verifica che il sistema operativo corrente sia quello che ti serve.
$ cat /etc/os-release
Risultato di esempio:
NAME="AlmaLinux" VERSION="8.4 (Electric Cheetah)" ID="almalinux" ID_LIKE="rhel centos fedora" VERSION_ID="8.4" PLATFORM_ID="platform:el8" PRETTY_NAME="AlmaLinux 8.4 (Electric Cheetah)" ANSI_COLOR="0;34" CPE_NAME="cpe:/o:almalinux:almalinux:8.4:GA" HOME_URL="https://almalinux.org/" DOCUMENTATION_URL="https://wiki.almalinux.org/" BUG_REPORT_URL="https://bugs.almalinux.org/" ALMALINUX_MANTISBT_PROJECT="AlmaLinux-8" ALMALINUX_MANTISBT_PROJECT_VERSION="8.4"

Grande! Abbiamo aggiornato con successo CentOS 7 alla versione AlmaLinux 8.4.
Svuota cache (facoltativo)
Tutti i pacchetti scaricati durante la migrazione verranno salvati nella cache fino alla successiva transazione andata a buon fine. Puoi rimuovere i pacchetti memorizzati nella cache eseguendo il comando seguente come sudo
o root
utente:
$ sudo dnf clean packages
Aggiorna nome host
Infine, aggiorna il nome host, il nome utente in modo che corrisponda ad AlmaLinux.
$ sudo hostnamectl set-hostname almalinux8
Tutto fatto! Riavvia il sistema per rendere effettive le modifiche.
Conclusione
In questa guida, abbiamo visto come aggiornare CentOS 7 a derivati di RHEL 8 come AlmaLinux, CentOS Stream, Oracle Linux e Rocky Linux con l'aiuto del progetto ELEvate degli sviluppatori AlmaLinux.
Non mi aspettavo che la migrazione da CentOS 7 ai derivati di RHEL 8 sarebbe stata molto più semplice! Gli sviluppatori di AlmaLinux hanno svolto un lavoro encomiabile. Che si tratti di una correzione di bug o di un'aggiunta di funzionalità, intervengono rapidamente e ci lavorano. Sono stati i primi a rilasciare un'alternativa stabile a CentOS 8. Hanno anche fornito uno script Bash per convertire facilmente i sistemi CentOS 8 esistenti in AlmaLinux 8. Per maggiori dettagli, fare riferimento alla seguente guida.
- Migra ad AlmaLinux da CentOS 8 utilizzando lo script Almalinux-deploy
Risorsa:
- AlmaLinux ELEvate