Dépannage d'Unbreakable Enterprise Kernel

Consultez les informations suivantes pour résoudre les problèmes liés à Unbreakable Enterprise Kernel (UEK) sur les instances Oracle Linux dans Oracle Cloud Infrastructure.

Voir aussi : known-issues-kernel.htm#troubleshooting-uekr7.

Échec du démarrage de l'instance après la mise à jour vers une nouvelle version du noyau

Lorsque vous effectuez une mise à jour vers le dernier noyau UEK version 7, le journal de la console affiche l'erreur suivante :

error: ../../grub-core/fs/fshelp.c:258:file `/initramfs-5.15.0-206.153.7.el8uek.x86_64.img' not found.

Cette erreur se produit car il n'y avait pas assez d'espace dans le répertoire /boot lorsque le noyau a été installé, ou le fichier initramfs est manquant ou n'a pas été créé correctement. Essayez de démarrer dans un noyau précédent, de vérifier les erreurs dans la configuration de démarrage grub et de vérifier l'intégrité de l'image initramfs.

Pour résoudre le problème, régénérez l'image initramfs, supprimez les noyaux inutilisés pour libérer de l'espace dans le répertoire /boot, ou effectuez les deux.

Régénérer l'image initramfs

Suivez ces étapes pour régénérer l'image initramfs.

  1. À partir d'une ligne de commande, à l'aide des privilèges d'administration, connectez-vous à l'instance à l'aide de SSH.
  2. Vérifiez si le fichier initramfs du noyau qui ne démarre pas existe en exécutant ls -l /boot/initramfs-*.img.
    ls -l /boot/initramfs-*.img
    -rw-------. 1 root root 90917795 Feb 12 19:33 /boot/initramfs-0-rescue-7063910fe2979258f8fd66f2fb8b8567.img
    -rw-------. 1 root root 76584495 Mar 24 14:40 /boot/initramfs-4.18.0-553.40.1.el8_10.x86_64.img
    -rw-------. 1 root root 90117038 Mar 24 23:51 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
    -rw-------. 1 root root 35099136 Mar 24 14:57 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64kdump.img
    Conseil

    Vous pouvez identifier les noyaux Oracle Linux par el8uek dans le nom de l'image initramfs : /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  3. Sauvegardez l'image initramfs pour le noyau mis à jour en la copiant dans un répertoire autre que /boot. Par exemple, pour copier /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img dans le répertoire /root, exécutez :
    sudo cp /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img /root
  4. Régénérez l'image initramfs pour le noyau mis à jour, par exemple :
    sudo dracut --kver 5.15.0-305.176.4.el8uek.x86_64 --force
  5. Vérifiez que initramfs a été régénéré, par exemple :
    sudo ls -l /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img

    Notez le changement de date :

    -rw-------. 1 root root 90117038 Apr  2 23:51 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  6. Redémarrez l'instance pour vérifier qu'elle peut maintenant démarrer avec le noyau mis à jour.

Supprimer les noyaux inutilisés

Suivez ces étapes pour libérer de l'espace de démarrage en supprimant les noyaux inutilisés.

  1. À partir d'une ligne de commande, à l'aide des privilèges d'administration, connectez-vous à l'instance à l'aide de SSH.
  2. Nettoyez le système de fichiers /boot en supprimant les anciens noyaux ou les noyaux indésirables. Par exemple, si vous n'avez plus besoin de noyaux compatibles Red Hat (RHCK), ils peuvent être supprimés libérant de l'espace /boot.
    1. Vérifiez l'espace disponible dans /boot.
      df -h /boot
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda2      1014M 1006M  8.7M 100% /boot 
    2. Recherchez les RHCK.
      sudo rpm -qa | grep kernel-core
      kernel-core-4.18.0-553.40.1.el8_10.x86_64 
    3. Retirez les RHCK indésirables.
      sudo dnf remove -y kernel-core-4.18.0-553.40.1.el8_10.x86_64
  3. Vérifiez de nouveau l'espace disponible dans /boot.
    df -h /boot
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdb2      1014M  782M  233M  78% /boot
  4. Redémarrez l'instance pour vérifier qu'elle peut maintenant démarrer avec le noyau mis à jour.