Hulpartikel overzicht

Hulpartikel

CentOS 7 upgraden naar AlmaLinux 8

In 2020 kondigde Red Hat aan dat CentOS 8 geen support meer krijgt na eind 2021 en wordt opgevolgd door CentOS Stream, zie ook ons artikel 'Wat is CentOS Stream'. CentOS 7 wordt langer ondersteund tot 30 juni 2024.

Misschien wil je al voor die tijd upgraden naar een alternatief voor CentOS, maar is een herinstallatie van je VPS geen wenselijke optie. In deze handleiding laten we zien hoe je je VPS upgrade van CentOS 7 naar AlmaLinux 8 (of OracleLinux of Rocky Linux).

  • De stappen in deze handleiding zijn succesvol getest op up-to-date installaties van CentOS 7 en DirectAdmin 1.63.0 met CentOS 7.
     
  • Deze handleiding werkt niet voor Plesk- en cPanel-installaties i.c.m. CentOS 7.
     
  • Maak een snapshot voor je begint aan het upgrade proces zodat je daar op terug kunt vallen mocht je toch problemen ervaren na het upgraden naar AlmaLinux.
     
  • Voer de stappen in dit artikel uit met sudo, of als gebruiker met root-rechten.

 

Stap 1

Verbind met je VPS via de VPS console in je controlepaneel of via SSH.


 

Stap 2 - optioneel bij private networks

Als je VPS is opgenomen in een private network is daar een netwerkadapter voor ingesteld. Het bijbehorende configuratiebestand voorkomt dat je de upgrade naar AlmaLinux kunt uitvoeren.

Controleer eerst de naam van je private network adapter:

ls /etc/sysconfig/network-scripts/ifcfg

De private network adapter heeft een naam zoals ifcfg-eth0:1 of ifcfg-eth1. Hernoem de bijbehorende netwerkadapter (pas de bestandsnaam van de private network adapter aan indien nodig):

mv /etc/sysconfig/network-scripts/ifcfg-eth0:1 /etc/sysconfig/backup

 

Stap 3

Update en herstart je VPS:

yum -y update
reboot

 

Stap 4

Installeer vervolgens de elevate-release- en leapp-packages en de benodigde migratie data.

leapp-data-almalinux bevat de migratie data. Hiermee geef je in feite aan dat het om een migratie naar almalinux gaat. Je kunt hier ook kiezen voor oraclelinux of rockylinux door leapp-data-almalinux te vervangen door leapp-data-oraclelinux of leapp-data-rocky.

yum -y install http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm 
yum -y install leapp-upgrade leapp-data-almalinux

 

Stap 5

Voer nu de preupgrade-controle uit.

leapp preupgrade

Je krijgt de eerste keer dat je die uitvoert altijd een melding aan het eind dat de upgrade niet uitgevoerd kan worden omdat er enkele 'inhibitors' gevonden worden. Je herkent dit aan de melding:

=====================================================
               UPGRADE INHIBITED
=====================================================

Het vinden van 'inhibitors' op dit punt is normaal en nodig om bijvoorbeeld een answer file te genereren (zie de volgende stap) en inzage te krijgen in eventuele kernel mods die verwijdert moeten worden.


 

Stap 6

Er zijn enkele 'inhibitors' waardoor het upgrade proces nog niet uitgevoerd kunnen worden. De eerste is de pam_pkcs11 module die niet beschikbaar is in RHEL-8. Voor dit issue is er een answer file gegenereerd (/var/log/leapp/answerfile) waarin gevraagd wordt of pam_pkcs11 verwijdert mag worden.

Geef toestemming om pam_pcks11 te verwijderen door de answer file aan te passen, of via het volgende commando:

leapp answer --section remove_pam_pkcs11_module_check.confirm=True

 

Stap 7

Als onderdeel van het upgrade-proces is SSH root-toegang nodig. Niet zozeer omdat er via SSH als root ingelogd gaat worden, maar omdat anders het upgrade proces de SSH-configuratie aanpast naar enkele standaard waardes waarmee inloggen via SSH met een wachtwoord niet langer mogelijk is.

Geef toestemming voor SSH root-toegang via het volgende commando:

sed -i -e "s/^PermitRootLogin no/PermitRootLogin yes/" /etc/ssh/sshd_config

 

Stap 8

De laatste 'inhibitor' zijn unsupported kernel modules. Dit gaat om de modules floppy en pata_acpi. Je verwijdert beide met de commando's:

modprobe -r floppy
modprobe -r pata_acpi

 

Stap 9

Controleer voor de zekerheid of er geen andere inhibitors zichtbaar zijn in het bestand /var/log/leapp/leapp-report.txt.

nano /var/log/leapp/leapp-report.txt

Issues in /var/log/leapp/leapp-report.txt die als high worden weergegeven zonder de toevoeging (inhibitor) mag je negeren.


 

Stap 10

Voer nogmaals het leapp preupgrade commando uit:

leapp preupgrade

De preupgrade zal nu geen inhibitors meer vinden. Aan het eind van de preupgrade controle herken je dat het proces geslaagd is wanneer je o.a. de volgende output ziet:

============================================================
                           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
============================================================

EPEL-packages zoals openssl kunnen ervoor zorgen dat het upgrade proces vast loopt, ook al geeft Leapp aan dat ze in orde zijn. Controleer daarom van tevoren welke EPEL-packages je geïnstalleerd hebt en overweeg om die eventueel te verwijderen voor de upgrade en na de upgrade te herinstalleren. Je controleert welke EPEL-packages je gebruikt met het commando:

 yum list installed | grep epel

Je kunt packages eventueel verwijderen met het commando:

yum erase packagenaam

 

Stap 11

Voer nu daadwerkelijk de upgrade uit met het commando:

leapp upgrade

 

Stap 12

Herstart na afloop je VPS. Het 'elevate-upgrade'-proces wordt nu uitgevoerd om CentOS 7 te upgraden naar AlmaLinux 8. Dit zal de nodige tijd in beslag nemen (30-60 min). Als je tot nu toe SSH gebruikte, is het handig om voor deze stap even de console in het TransIP-controlepaneel erbij te pakken om de voortgang in de gaten te houden.

reboot

 

Stap 13

Wanneer het proces klaar is herken je dit aan de volgende melding:

leapp upgrade complete

Je inlogscherm is niet zichtbaar. Druk op 'Enter' om deze te voorschijn te toveren. Je ziet dan een inlogprompt terug zoals in het screenshot hierboven. Log in als root-gebruiker.

Let op: heb je toch je VPS herstart? Dan wordt waarschijnlijk je console nu volgespamd met IPv6-foutmeldingen. Dit komt doordat de netwerkconfiguratie voor IPv6 van CentOS 7 afwijkt van die van RHEL-8. Deze meldingen kun je voor nu negeren maar zijn wel vervelend omdat ze het lastig maken te zien wat je aan het typen bent. Ons advies als dit je overkomt: kijk zo min mogelijk naar je console terwijl je deze stappen doorloopt (liever naar je toetsenbord), of gebruik SSH.


 

Stap 14

Schakel de toestemming om als root-gebruiker in te mogen loggen via SSH weer uit en herstart je SSH-server:

sed -i -e "s/^PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config
systemctl restart sshd

 

Stap 15

Corrigeer je IPv6-configuratie met de volgende commando's (gebruik 'paste to console' als je de console in het TransIP-controlepaneel gebruikt):

echo IPV6_AUTOCONF=no >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo IPV6_DEFROUTE=yes >> /etc/sysconfig/network-scripts/ifcfg-eth0
echo IPV6_FAILURE_FATAL=no >> /etc/sysconfig/network-scripts/ifcfg-eth0
ifdown eth0 && ifup eth0

Je krijgt een melding dat ifdown en ifup in de toekomst verwijdert worden. Dit is enkel een waarschuwing en geeft verder geen problemen. Op moment van schrijven (november 2021) werkt het networkmanager alternatief ook niet altijd. Mocht ifup en ifdown verwijdert zijn wanneer je dit leest, dan kun je het networkmanager altnernatief proberen als volgt:

nmcli networking off
nmcli networking on

 

Stap 16 - optioneel bij private networks

Als je gebruik maakt van een private network, hernoem dan nu het netwerkconfiguratiebestand en herstart je interface:

mv /etc/sysconfig/backup /etc/sysconfig/network-scripts/ifcfg-eth0:1
ifdown eth0 && ifup eth0

 

Stap 17

Gefelicteerd! Je CentOS 7 installatie is nu volledig omgezet naar AlmaLinux 8. Controleer dat de upgrade correct is uitgevoerd met het volgende commando en herstart daarna voor de zekerheid je VPS om uit te sluiten dat er geen problemen zijn ontstaan tijdens dit proces:

cat /etc/os-release
reboot

 

Stap 18 - DirectAdmin

Gebruikte je DirectAdmin icm CentOS 7? Rebuild dan door CustomBuild beheerde software opnieuw, anders is het mogelijk dat sommige software niet werkt. Dit doe je eenvoudig met twee commando's:

cd /usr/local/directadmin/custombuild
./build all d

 

Daarmee zijn we aan het eind gekomen van deze handleiding voor het upgraden van CentOS 7 naar AlmaLinux 8.

Mocht je aan de hand van dit artikel nog vragen hebben, aarzel dan niet om onze supportafdeling te benaderen. Je kunt hen bereiken via de knop 'Neem contact op' onderaan deze pagina.

Wil je dit artikel met andere gebruikers bespreken, laat dan vooral een bericht achter onder 'Reacties'.

Heb je ook een goed idee?

Stuur jouw idee in! Met genoeg stemmen komt jouw idee op onze wishlist!

Heeft dit artikel je geholpen?

Maak een account aan of log in om een beoordeling achter te laten.

Reacties

Maak een account aan of log in om een reactie te plaatsen.

0
devius 6 oktober 2022 (#8909)

nadat ik heb gereboot als ik leapp upgrade heb gebruikt loopt hij de gehele upgrade door om vervolgens in de rescue mode te booten

vervolgens snapshot terug gezet om weer een werkende machine te hebben.

0
vergezogt 10 augustus 2022 (#8543)

Na de upgrade wilde MySQL niet starten bij ons. We hebben dit opgelost met devolgende commands via SSH/console:

cd /usr/local/directadmin/custombuild ./build update ./build all d

0
vergezogt 10 augustus 2022 (#8540)

Blijft hier ook hangen op /bin/upgrade: line 19: /sysroot/var/tmp/system-upgrade.state: Read-only file system

0
Matthijs van Beek Admin 12 april 2022 (#7928)

@twelman, Bedankt voor je nuttige feedback! We hebben die verwerkt in een update van dit artikel.

0
twelman 6 april 2022 (#7883)

@moonglade, Het openssl package uit epel veroorzaakt inderdaad een probleem. Ik kon het oplossen door het tijdelijk te verwijderen: yum erase openssl-libs-1

0
twelman 6 april 2022 (#7880)

Typo in stap 14. Dat moet zijn:

sed -i -e "s/^PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config

Verder gooit het feit dat DirectAdmin gebruikt maakt van de Epel repo vaak wat roet in het eten. Een of meerdere packages kunnen dan niet goed overgezet worden naar Alma. Om te kijken welke epel packages je hebt:

yum list installed | grep epel

Zo kun je een inschatting maken van eventueel te verwachten problemen bij de upgrade. Leapp markeert dat niet als inhibitor, maar de upgrade na de reboot (stap 12) kan daardoor toch vastlopen. Dus als je dat risico wilt minimaliseren: verwijder eventuele epel packages die door leapp in de log als probleem zijn aangegeven en herinstalleer ze, indien nodig, na de update.

0
moonglade 13 februari 2022 (#7574)

Upgrade gaat helaas mis nadat de preupgrade zonder problemen draaide. Heb gezocht op internet maar kon helaas niet direct een oplossing vinden..

Error: Transaction test error:
  file /usr/lib64/.libcrypto.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-5.el8_5.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-2.el7.x86_64
  file /usr/lib64/.libssl.so.1.1.1k.hmac from install of openssl-libs-1:1.1.1k-5.el8_5.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-2.el7.x86_64
  file /usr/lib64/engines-1.1/afalg.so from install of openssl-libs-1:1.1.1k-5.el8_5.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-2.el7.x86_64
  file /usr/lib64/engines-1.1/capi.so from install of openssl-libs-1:1.1.1k-5.el8_5.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-2.el7.x86_64
  file /usr/lib64/engines-1.1/padlock.so from install of openssl-libs-1:1.1.1k-5.el8_5.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-2.el7.x86_64
  file /usr/lib64/libcrypto.so.1.1.1k from install of openssl-libs-1:1.1.1k-5.el8_5.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-2.el7.x86_64
  file /usr/lib64/libssl.so.1.1.1k from install of openssl-libs-1:1.1.1k-5.el8_5.x86_64 conflicts with file from package openssl11-libs-1:1.1.1k-2.el7.x86_64

============================================================
                       END OF ERRORS
============================================================
0
Matthijs van Beek Admin 1 februari 2022 (#7451)

@pd5wl, er is op gebied van license updates bij DirectAdmin recent het een en ander verandert. Voor de zekerheid heb ik er even een up-to-date installatie bij gepakt: tegenwoordig moet het weer zonder de 4096, oftewel:

./getLicense.sh auto

0
pd5wl 1 februari 2022 (#7448)

@Matthijs van Beek,

Ik krijg de melding: Usage: ./getLicense.sh <LK_hash> Het werkt dus niet.

0
Matthijs van Beek Admin 1 februari 2022 (#7445)

@pd5wl, Bedankt voor je feedback! Wij zijn zelf niet tegen dit issue aangelopen. Voor het licentie issue zou je de volgende commando's kunnen proberen:

cd /usr/local/directadmin/scripts

./getLicense.sh auto 4096

0
pd5wl 28 januari 2022 (#7400)

Ok na het volgende te hebben uitgevoerd vanaf de console, werkt exim weer, zonder de perl error:

cd /usr/local/directadmin/custombuild ./build update ./build set exim yes ./build set eximconf yes ./build set eximconf_release 4.5 ./build update ./build exim ./build exim_conf ./build set spamassassin yes ./build update ./build spamassassin

0
pd5wl 28 januari 2022 (#7397)

Na de upgrade krijg ik in het exim mainlog een Attempt to free unreferenced scalar: SV 0xxxxxxxxx, Perl interpreter: 0xxxxxxx. error en krijg ik geen mail meer binnen.

Veel google werk, maar niks relevants te vinden. Hebben jullie hier meerdere meldingen van gehad?

Wat ook opvalt is dat DirectAdmin moppert over de licentie (licentie is voor CentOS 7, maar je gebruikt 8.

0
Matthijs van Beek Admin 16 december 2021 (#7084)

@portiebami, ik zou inderdaad niet rebooten terwijl dit proces nog loopt; dan faalt inderdaad het upgradeproces. Helaas kunnen we niet uitsluiten of dit proces in alle scenarios werkt en bijv niet vastloopt bij een stap: deze tool is immers van een externe (maar betrouwbare) partij.

Ik zou voor nu aanraden het proces vooral door te laten lopen en mocht die echt niet verder lopen (na een paar uur) om het dan op een ander moment nog eens te proberen wanneer er (hopelijk) meer updates zijn geweest aan de tool.

0
portiebami 8 december 2021 (#7006)

stap 11) ( Creates the upgrade initramfs ) kan heel lang duren, zodat het lijkt alsof de boel helemaal vastgelopen is.

Als ik in de terminal van het Transip controlepaneel een reboot doe, blijft de installatie helaas wel degelijk hangen bij de regel:

/bin/upgrade: line 19: /sysroot/var/tmp/system-upgrade.state: Read-only file system

:(

0
testtransip 23 november 2021 (#6880)

@wzech,

Bedankt voor je handige feedback! We hebben deze verwerkt in een update van dit artikel.

Op een iets oudere VPS met DirectAdmin waren we dit niet tegengekomen, maar na een dergelijke ingrijpende update is het inderdaad wel zo vertandig om de software opnieuw op te bouwen.

1
wzech 12 november 2021 (#6823)

Uitstekende handleiding. Kleine opmerking:

Casus: CentOS7.9 + DirectAdmin -> AlmaLinux8.

Migratie ging zeer voorspoedig, wat echter ontbreekt in dit stappenplan was het rebuilden van DiretAdmin/CustomBuild. Hier waren in ons geval de volgende stappen nog nodig om te zorgen dat alle services weer functioneel werden:

cd /usr/local/directadmin/custombuild ./build all d

Kom je er niet uit?

Ontvang persoonlijke hulp van onze supporters

Neem contact op