Jak již možná víte, nebylo možné migrovat mezi hlavními verzemi derivátů RHEL. To znamená - nemůžete přímo upgradovat z CentOS 7.x na verzi CentOS 8.x. Jedinou cestou byla nová instalace. Už ne! Nyní můžete snadno migrovat z CentOS 7.x na libovolný 8.x dle vašeho výběru pomocí ELevate nářadí. Tato příručka vysvětluje, jak migrovat CentOS 7 na AlmaLinux 8, CentOS Stream 8, Oracle Linux 8 a Rocky Linux 8 pomocí nástroje AlmaLinux ELvate.
Co je Elevate?
Elevate je open source migrační nástroj vyvinutý týmem AlmaLinux. Umožňuje vám snadno a hladce migrovat mezi hlavními verzemi distribucí založených na RHEL z verze 7.x na verzi 8.x.
Elevate kombinuje rámec Leapp společnosti Red Hat s komunitou vytvořenou knihovnou a službou pro sadu metadat pro migraci, která je pro ni nezbytná.
V současnosti podporuje migraci z CentOS 7 na následující OS:
- AlmaLinux OS 8
- CentOS Stream 8
- Oracle Linux 8
- Rocky Linux 8
Migrace lze provádět na místě, což znamená, že data a konfigurační soubory jsou zachovány. Jinými slovy, všechny nainstalované aplikace a nastavení a data zůstanou nedotčeny. Uživatelé jsou však VELMI POROVNANÍ k zálohování důležitá data před zahájením migrace.
Elevate je program s otevřeným zdrojovým kódem, vydaný pod licencí Apache 2.0.
Pro ty, kdo by se zajímali, písmena „EL“ z ELevate znamenají Enterprise Linux .
Na co si pamatovat před zahájením migrace CentOS 7
- Jak bylo uvedeno dříve, důrazně se doporučuje zálohovat vaše důležitá data a nastavení.
- Migrace za provozu není podporována. Váš systém se dvakrát restartuje. Ujistěte se, že neběží žádné důležité úlohy (např. plánované zálohování).
- ELevate je stále ve vývoji. Proto vám doporučuji, abyste to důkladně otestovali ve virtuálním systému nebo prostředí sandbox, než to zkusíte v produkci.
Testoval jsem nástroj Elevate na čerstvě nainstalovaném virtuálním stroji CentOS 7. Migrace proběhla hladce a bez chyb. Pokud narazíte na nějaké problémy, nahlaste je AlmaLinux Bug Tracker a/nebo AlmaLinux Chat Migration Channel.
Aktualizujte systém CentOS 7
Ujistěte se, že používáte nejnovější větev CentOS 7.x. Pokud ne, aktualizujte svůj systém CentOS pomocí příkazu:
$ sudo yum update
$ sudo yum upgrade
Pro použití změn restartujte systém:
$ sudo reboot
Zkontrolujte aktuálně nainstalovanou verzi CentOS 7 pomocí příkazu:
$ 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"
Jak můžete vidět, můj systém běží s verzí CentOS 7.9. Toto je nejnovější verze ve větvi 7.x.
Migrujte CentOS 7 na AlmaLinux 8, CentOS 8, Rocky Linux 8 a Oracle Linux 8
Krok 1:Nainstalujte Elevate
Nainstalujte elevate-release
balíček ve vašem systému CentOS 7 pomocí příkazu:
$ sudo yum install http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
Krok 2:Nainstalujte Leapp a data migrace
elevate-release
balíček poskytuje Leapp nástroj a potřebná data k migraci Enterprise Linux 7.x na jakoukoli verzi Enterprise Linux 8.x dle našeho výběru.
V závislosti na distribuci, kterou chcete upgradovat, musíte nainstalovat některý z následujících balíčků:
- leapp-data-almalinux
- leapp-data-centos
- leapp-data-oraclelinux
- leapp-data-rocky
Pokud například chcete migrovat CentOS 7 na AlmaLinux 8 , musíte nainstalovat následující balíčky:
$ sudo yum install -y leapp-upgrade leapp-data-almalinux
Chcete-li migrovat CentOS 7 na CentOS 8 , nainstalujte následující balíčky:
$ sudo yum install -y leapp-upgrade leapp-data-centos
Chcete-li migrovat CentOS 7 na Oracle Linux 8 , nainstalujte následující balíčky:
$ sudo yum install -y leapp-upgrade leapp-data-oraclelinux
Chcete-li migrovat CentOS 7 na Rocky Linux 8 , nainstalujte následující balíčky:
$ sudo yum install -y leapp-upgrade leapp-data-rocky
Nyní jsme nainstalovali leap-upgrade
balíček a migrační data pro operační systém, který chceme upgradovat.
Pro účely této příručky upgraduji CentOS 7 na AlmaLinux 8.
Krok 3:Spusťte kontrolu před upgradem
Poté spusťte následující příkaz a zkontrolujte, zda je upgrade možný nebo ne:
$ sudo leapp preupgrade
To provede řadu akcí a ověří, zda je možné provést upgrade.
==> 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
Na konci kontroly před upgradem vygeneruje obslužný program Leapp zprávu ve formátu /var/log/leapp/leapp-report.txt
soubor. Tento soubor obsahuje možné problémy a doporučená řešení. V této fázi nebudou instalovány žádné rpm balíčky.
UPOZORNĚNÍ:
Kontrola před upgradem selže, pokud výchozí CentOS 7 nesplňuje všechny požadavky pro migraci. V takovém případě musíte opravit všechny problémy a zkusit to znovu.
Následující opravy ze souboru /var/log/leapp/leapp-report.txt
soubor jsou povinné , ale v případě potřeby si můžete prohlédnout i zbytek.
V mém případě jsem opravil následující problémy:
$ 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
Také jsem musel odstranit nadbytečné jádro devels.
Seznam nainstalovaných jader v CentOS:
$ rpm -qa kernel kernel-3.10.0-1160.45.1.el7.x86_64 kernel-3.10.0-1160.42.2.el7.x86_64
Jak vidíte výše, v mém systému jsou aktuálně nainstalována dvě jádra.
Odstraňte staré jádro a kernel-devels a ponechte pouze aktuálně aktivní jádro pomocí příkazu:
$ sudo package-cleanup --oldkernels --count=1
Jakmile opravíte všechny problémy, spusťte následující příkaz pro migraci CentOS 7 na libovolný Enterprise Linux 8.x dle vašeho výběru:
$ sudo leapp upgrade
Po dokončení upgradu restartujte systém:
$ sudo reboot
Nový záznam s názvem ELevate-Upgrade-Initramfs
v nabídce GRUB se objeví. Systém se do něj automaticky zavede. Jak proces aktualizace probíhá, si můžete prohlédnout v konzole.
Po dokončení aktualizace se systém automaticky restartuje. Položky nabídky GRUB budou automaticky aktualizovány v závislosti na OS.
Přihlaste se do systému a ověřte, že aktuální OS je ten, který potřebujete.
$ cat /etc/os-release
Ukázkový výstup:
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"
Skvělý! Úspěšně jsme upgradovali CentOS 7 na verzi AlmaLinux 8.4.
Vymazat mezipaměť (volitelné)
Všechny balíčky stažené během migrace budou uloženy do mezipaměti až do další úspěšné transakce. Balíčky uložené v mezipaměti můžete odstranit provedením následujícího příkazu jako sudo
nebo root
uživatel:
$ sudo dnf clean packages
Aktualizovat název hostitele
Nakonec aktualizujte název hostitele, uživatelské jméno, aby odpovídalo AlmaLinuxu.
$ sudo hostnamectl set-hostname almalinux8
Vše hotovo! Restartujte systém, aby se změny projevily.
Závěr
V této příručce jsme viděli, jak upgradovat CentOS 7 na deriváty RHEL 8, jako jsou AlmaLinux, CentOS Stream, Oracle Linux a Rocky Linux s pomocí projektu Elevate od vývojářů AlmaLinux.
Nečekal jsem, že migrace CentOS 7 na deriváty RHEL 8 bude mnohem jednodušší! Vývojáři AlmaLinuxu odvedli chvályhodnou práci. Ať už jde o opravu chyby nebo o přidání funkce, rychle zakročí a zapracují na tom. Byli první, kdo vydal stabilní alternativu k CentOS 8. Poskytli také skript Bash pro snadnou konverzi stávajících systémů CentOS 8 na AlmaLinux 8. Další podrobnosti naleznete v následující příručce.
- Migrujte na AlmaLinux z CentOS 8 pomocí skriptu Almalinux-deploy Script
Zdroj:
- AlmaLinux Elevate