Resolución de problemas de Unbreakable Enterprise Kernel

Si tiene problemas con Unbreakable Enterprise Kernel (UEK) en instancias de Oracle Linux en Oracle Cloud Infrastructure, revise la siguiente información.

Consulte también: Unbreakable Enterprise Kernel Known Issues.

La instancia no se puede iniciar después de actualizar a una nueva versión del núcleo

Al actualizar al núcleo UEK versión 7 más reciente, el log de la consola muestra el siguiente error:

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

Este error se produce porque no había suficiente espacio en /boot cuando se instaló el núcleo, el archivo initramfs no se creó o no se creó correctamente. Puede intentar iniciar en un núcleo anterior, comprobar si hay errores en la configuración del cargador de inicio (como GRUB) y verificar la integridad de la imagen initramfs.

Para solucionar problemas, vuelva a crear la imagen initramfs, elimine los núcleos no utilizados para liberar espacio en el directorio /booto realice ambas acciones.

Volver a crear la imagen initramfs

Siga los pasos que se indican a continuación para volver a crear la imagen initramfs.

  1. Desde una línea de comandos, mediante privilegios administrativos, conéctese a la instancia mediante SSH.
  2. Compruebe si existe el archivo initramfs para el núcleo que no se iniciará ejecutando 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
    Consejo

    Puede identificar los núcleos de Oracle Linux por el8uek en el nombre de imagen initramfs: /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  3. Realice una copia de seguridad de la imagen initramfs para el núcleo actualizado copiándola en un directorio distinto de /boot. Por ejemplo, para copiar /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img en el directorio /root, ejecute:
    sudo cp /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img /root
  4. Vuelva a crear la imagen initramfs para el núcleo actualizado, por ejemplo:
    sudo dracut --kver 5.15.0-305.176.4.el8uek.x86_64 --force
  5. Compruebe que se ha vuelto a crear initramfs, por ejemplo:
    sudo ls -l /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img

    Observe el cambio de fecha:

    -rw-------. 1 root root 90117038 Apr  2 23:51 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  6. Reinicie la instancia para verificar que la instancia ahora se puede iniciar con el núcleo actualizado.

Eliminar núcleos no utilizados

Siga los pasos que se indican a continuación para liberar espacio de inicio mediante la eliminación de núcleos no utilizados.

  1. Desde una línea de comandos, mediante privilegios administrativos, conéctese a la instancia mediante SSH.
  2. Limpie el sistema de archivos /boot eliminando los núcleos antiguos o no deseados. Por ejemplo, si ya no necesita núcleos compatibles con Red Hat (RHCK), se pueden eliminar liberando espacio /boot.
    1. Compruebe el espacio disponible en /boot.
      df -h /boot
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda2      1014M 1006M  8.7M 100% /boot 
    2. Busque los RHCK.
      sudo rpm -qa | grep kernel-core
      kernel-core-4.18.0-553.40.1.el8_10.x86_64 
    3. Retire los RHCK no deseados.
      sudo dnf remove -y kernel-core-4.18.0-553.40.1.el8_10.x86_64
  3. Vuelva a comprobar el espacio disponible en /boot.
    df -h /boot
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdb2      1014M  782M  233M  78% /boot
  4. Reinicie la instancia para verificar que la instancia ahora se puede iniciar con el núcleo actualizado.