Mehdi Assabbane
← Tous les articles

Migrer de RHEL 8 vers RHEL 9 avec Leapp : le guide pas à pas

Mehdi Assabbane ·

En bref

  • Red Hat prend en charge la mise à jour sur place de RHEL 8 vers RHEL 9 avec l'outil Leapp, à partir de RHEL 8.10, vers RHEL 9.6 (EUS) ou 9.8.
  • Le même outil permet ensuite de passer de RHEL 9 à RHEL 10 (chemins documentés : 9.6 vers 10.0 et 9.8 vers 10.2).
  • Leapp ne propose pas de retour arrière natif : une sauvegarde complète ou un instantané est indispensable.

Introduction

RHEL 8 n'est plus en support complet depuis mai 2024 et se trouve en phase de maintenance. De nombreux serveurs de production y tournent encore, souvent parce qu'une réinstallation complète paraît trop lourde. La mise à jour sur place avec Leapp est l'alternative officielle : elle conserve la configuration, les données et les applications, à condition d'être bien préparée.

Ce guide reprend la procédure documentée par Red Hat, avec les commandes à lancer, les points de blocage les plus fréquents et les vérifications à faire après la mise à jour.

Quand choisir la mise à jour sur place ?

Mise à jour sur place (Leapp) Réinstallation
Serveur unique, configuration riche difficile à reproduire Serveurs gérés par une automatisation (Ansible, Terraform)
Applications installées à la main Environnements conteneurisés
Fenêtre d'intervention limitée Envie de repartir d'un socle propre

Si vos serveurs sont entièrement décrits par du code, réinstaller en RHEL 9 et redéployer est souvent plus simple et plus sûr. Sinon, Leapp est la bonne option.

Les chemins de mise à jour supportés

D'après la documentation Red Hat :

Depuis Vers Remarque
RHEL 8.10 RHEL 9.6 (EUS) Standard
RHEL 8.10 RHEL 9.8 Standard et SAP NetWeaver
RHEL 8.10 RHEL 9.6 (E4S) SAP HANA
RHEL 9.6 RHEL 10.0
RHEL 9.8 RHEL 10.2

Ces chemins sont garantis pour les systèmes enregistrés via Red Hat Subscription Manager (RHSM). Depuis RHEL 7, il faut passer d'abord en RHEL 8, puis en RHEL 9 : il n'existe pas de saut direct.

Les prérequis

  • Être en RHEL 8.10, avec un abonnement valide, et verrouiller la version :
sudo subscription-manager release --set 8.10

Fixe la version mineure utilisée pour les dépôts à 8.10.

  • Espace disque : l'évaluation préalable peut demander jusqu'à 4 Go dans /var/lib/leapp.
df -h /var/lib /boot

Affiche l'espace disponible sur les partitions concernées.

  • Supprimer les verrous de version de paquets :
sudo dnf versionlock list
sudo dnf versionlock clear

La première commande liste les paquets verrouillés ; la seconde supprime les verrous (notez-les avant pour les réappliquer si besoin).

  • Paquets signés en RSA/SHA-1 : ils bloquent la mise à jour et doivent être retirés ou remplacés.
  • Désactiver temporairement l'antivirus, les outils de gestion de configuration (Ansible, Puppet…) et les chiens de garde matériels (watchdogs), qui pourraient interférer avec le redémarrage.
  • Sauvegarder : sauvegarde complète (Red Hat recommande ReaR), instantané de la machine virtuelle ou de LVM.

La procédure pas à pas

1. Installer Leapp et mettre à jour le système

sudo dnf install leapp-upgrade
sudo dnf update
sudo reboot

Installe l'outil de mise à jour, applique les dernières mises à jour de RHEL 8.10 et redémarre sur le dernier noyau.

2. Lancer l'évaluation préalable

sudo leapp preupgrade --target-version 9.6

Analyse le système sans rien modifier et produit un rapport des problèmes détectés. Adaptez la version cible (9.6 ou 9.8).

3. Lire le rapport et lever les blocages

sudo less /var/log/leapp/leapp-report.txt

Le rapport classe les points relevés par niveau de gravité. Les éléments marqués inhibitor bloquent la mise à jour et doivent être résolus. Certains demandent une réponse explicite :

sudo cat /var/log/leapp/answerfile
sudo leapp answer --section <section>.<question>=True

La première commande affiche les questions en attente ; la seconde enregistre une réponse (remplacez section et question par celles du fichier).

Relancez leapp preupgrade jusqu'à ce qu'il n'y ait plus de blocage.

4. Lancer la mise à jour

sudo leapp upgrade --target-version 9.6
sudo reboot

Leapp prépare la mise à jour, puis le redémarrage lance un environnement dédié qui met à jour les paquets. Le serveur redémarre ensuite une seconde fois sur RHEL 9. Prévoyez un accès console (hyperviseur, iDRAC, iLO) pour suivre l'opération en cas de problème.

Vérifier après la mise à jour

cat /etc/redhat-release

Doit afficher Red Hat Enterprise Linux release 9.x.

uname -r

Doit afficher un noyau 5.14 se terminant par .el9.

sudo subscription-manager release
sudo subscription-manager status

Vérifient la version mineure verrouillée et l'état de l'abonnement.

systemctl --failed

Liste les services en échec après le redémarrage.

Testez ensuite vos applications : services réseau, bases de données (certaines exigent une migration de leurs données entre versions majeures), tâches planifiées.

Le nettoyage après mise à jour

Red Hat recommande notamment de :

  • retirer les paquets Leapp de la liste d'exclusion de DNF ;
  • supprimer les paquets RHEL 8 restants et les dépendances de Leapp ;
  • désactiver les dépôts tiers non compatibles avec RHEL 9 ;
  • examiner les fichiers .rpmnew et .rpmsave laissés dans /etc ;
  • réactiver les outils désactivés avant l'intervention.
sudo find /etc -name '*.rpmnew' -o -name '*.rpmsave'

Liste les fichiers de configuration pour lesquels une nouvelle version a été installée à côté de la vôtre, à comparer et fusionner.

Les limitations à connaître

D'après la documentation Red Hat, la mise à jour sur place n'est pas possible ou pas prise en charge dans plusieurs cas, notamment :

  • passage du démarrage BIOS à UEFI (une réinstallation est nécessaire) ;
  • stockage réseau multipath ou via Ethernet/InfiniBand, y compris FCoE et démarrage sur SAN via FC (le SAN Fibre Channel classique est supporté) ;
  • systèmes sur lesquels Ansible Automation Platform est installé ;
  • stockage chiffré autrement qu'en LUKS2 avec un jeton Clevis TPM 2.0 ;
  • scripts réseau network-scripts, absents de RHEL 9 : ils doivent être migrés vers NetworkManager.

SAP HANA, Satellite et les clusters haute disponibilité ont leurs propres procédures.

Et ensuite, RHEL 10 ?

Une fois en RHEL 9.6 ou 9.8, Leapp permet de passer en RHEL 10.0 ou 10.2 selon le même principe : évaluation préalable, levée des blocages, mise à jour, vérification. RHEL 10 a relevé les exigences matérielles : sur x86, il demande un processeur compatible x86-64-v3. Les serveurs anciens peuvent donc être bloqués à ce stade, ce que l'évaluation préalable signale.

Checklist

  • Choisir entre mise à jour sur place et réinstallation.
  • Vérifier que le système est en RHEL 8.10, enregistré via RHSM.
  • Sauvegarde complète ou instantané réalisé et vérifié.
  • Au moins 4 Go libres dans /var/lib/leapp.
  • Verrous de paquets supprimés, outils de gestion de configuration suspendus.
  • leapp preupgrade sans blocage restant.
  • Accès console disponible pendant l'intervention.
  • Vérifications après mise à jour : version, noyau, abonnement, services, applications.
  • Nettoyage des paquets, dépôts et fichiers .rpmnew / .rpmsave.

FAQ

Combien de temps dure la mise à jour ? Elle dépend du nombre de paquets et des performances du disque. Comptez le plus souvent de l'ordre d'une heure d'interruption, plus le temps de vérification. Testez d'abord sur un clone pour mesurer.

Peut-on revenir en arrière ? Leapp n'a pas de fonction de retour arrière. Seuls une sauvegarde complète ou un instantané préalable permettent de revenir à l'état initial.

Puis-je utiliser Leapp sur Rocky Linux ou AlmaLinux ? Ces distributions ont leurs propres outils dérivés (par exemple ELevate). La procédure décrite ici est celle de Red Hat pour RHEL.

Mes applications vont-elles fonctionner en RHEL 9 ? Le système conserve vos applications, mais leurs dépendances changent de version (Python, OpenSSL, bases de données…). Vérifiez la compatibilité de chaque application et testez sur un clone avant la production.

Conclusion

La mise à jour sur place de RHEL 8 vers RHEL 9 est fiable quand elle est préparée : le rapport de leapp preupgrade fait l'essentiel du travail de diagnostic, à condition de le lire attentivement.

  1. Testez d'abord sur un clone du serveur de production.
  2. Sauvegardez systématiquement : Leapp ne sait pas revenir en arrière.
  3. Planifiez dès maintenant l'étape suivante vers RHEL 10, en vérifiant la compatibilité matérielle.

Sources officielles