Passer au contenu

Comment mettre à niveau mon instance EC2 RHEL de RHEL 7 vers RHEL 8 ?

Lecture de 4 minute(s)
0

Je dois mettre à niveau mon instance Red Hat Enterprise Linux (RHEL) Amazon Elastic Compute Cloud (Amazon EC2).

Brève description

Utilisez l'utilitaire Leapp pour effectuer une mise à niveau sur place de RHEL version 7 vers RHEL version 8 sur votre instance Amazon EC2. Leapp est un outil d'interface de la ligne de commande AWS (AWS CLI) qui assiste les utilisateurs dans le processus d'installation et la mise à niveau sur place.

Il est recommandé d'effectuer une sauvegarde de votre instance avant de procéder à la mise à niveau. Pour ce faire, créez une Amazon Machine Image (AMI) à partir de votre instance ou créez un instantané.

Il est également recommandé de procéder d'abord à une mise à niveau sur une instance de test. Si toutes vos applications fonctionnent comme prévu pour votre environnement, effectuez une mise à niveau sur votre instance de production en direct.

Pour plus d'informations sur les limitations connues et les instructions détaillées de mise à niveau du système d'exploitation (OS) sur place, consultez la page Mise à niveau de RHEL 7 vers RHEL 8 sur le site Web de Red Hat.

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

  1. Avant d’effectuer une mise à niveau de RHEL 7 vers RHEL 8, mettez à niveau l'instance vers la dernière version mineure de RHEL 7. Utilisez les commandes suivantes dans l'interface de ligne de commande AWS :

    $ sudo su
    \# yum update -y
    \# reboot
  2. Après le redémarrage de l'instance, assurez-vous qu'elle a été mise à jour avec la dernière version mineure de RHEL 7 disponible. Utilisez la commande suivante :

    $ sudo su   
    \# cat /etc/redhat-release   
    Red Hat Enterprise Linux Server release 7.9 (Maipo)
  3. Installez Leapp. Pour effectuer l'installation, activez les référentiels RHUI nécessaires et installez le package. Exécutez la commande suivante :

     # yum-config-manager --enable rhui-client-config-server-7  
     # yum-config-manager --enable rhel-7-server-rhui-extras-rpms  
     # yum install -y leapp leapp-rhui-aws leapp-repository leapp-repository-deps lvm2-python-boom —enablerepo=\*
  4. Pour vérifier l'absence d'erreurs, exécutez la commande de pré-mise à niveau :

    $ leapp preupgrade --no-rhsm

    Si vous constatez des erreurs, suivez les étapes décrites dans la section Résoudre les erreurs de pré-mise à niveau.

  5. Si vous n'utilisez pas Red Hat Subscription Manager (RHSM), exécutez la commande suivante :

    $ leapp upgrade --no-rhsm
  6. Pour effectuer une mise à niveau vers une version spécifique (telle que RHEL 8.8), exécutez la commande suivante :

    $ leapp upgrade --target 8.8 --no-rhsm
  7. Redémarrez l'instance, puis vérifiez qu'elle exécute RHEL 8 :

    \# reboot  
    \# cat /etc/redhat-release

Résoudre les erreurs de pré-mise à niveau

Lorsque vous exécutez la commande de pré-mise à niveau, vous pouvez obtenir la sortie suivante :

\============================================================   
UPGRADE INHIBITED  
\============================================================  
Upgrade has been inhibited due to the following problems: 1. Inhibitor: Possible problems with remote login using root account 2. Inhibitor: Missing required answers in the answer fileConsult the pre-upgrade report for details and possible remediation  
\============================================================   
UPGRADE INHIBITED   
\============================================================  
Debug output written to /var/log/leapp/leapp-preupgrade.log  
\============================================================

Pour résoudre ces erreurs, effectuez l'une des actions suivantes :

« Inhibitor: Possible problems with remote login using root account. »

Autorisez PermitRootLogin pour SSH afin de résoudre ce problème. Le fichier de configuration sshd se trouve dans le dossier /etc/ssh/sshd_config. Dans le fichier de configuration sshd, décommentez la ligne suivante :

#PermitRootLogin yes

« Inhibitor: Missing required answers in the answer file. Consult the pre-upgrade report for details and possible remediation. »

La sortie du fichier de réponses est générée dans le fichier /var/log/leapp/answer par Leapp. Accédez au fichier de réponses à l'aide de la commande suivante :

$ cat /var/log/leapp/answerfile

Le fichier de réponses affiche des résultats similaires aux suivants :

\[remove\_pam\_pkcs11\_module\_check\]#   
Title: None# Reason: Confirmation  
#===================  remove\_pam\_pkcs11\_module\_check.confirm ==================  
\# Label: Disable pam\_pkcs11 module in PAM configuration? If no, the upgrade process will be interrupted.  
\# Description: PAM module pam\_pkcs11 is no longer available in RHEL-8 since it was replaced by SSSD.  
\# Reason: Leaving this module in PAM configuration may lock out the system.  
\# Type: bool# Default: None# Available choices: True/False  
\# Unanswered question. Uncomment the following line with your answer  
\# confirm =

Confirmez les réponses au format suivant :

$ leapp answer —section remove\_pam\_pkcs11\_module\_check.confirm=True

Vérifiez les mises à jour du fichier à l'aide de la commande suivante :

$ cat /var/log/leapp/answerfile  
\[remove\_pam\_pkcs11\_module\_check\]  
confirm = True
AWS OFFICIELA mis à jour il y a 10 mois