Solução de Problemas do Unbreakable Enterprise Kernel

Verifique as informações a seguir para solucionar problemas com o Unbreakable Enterprise Kernel (UEK) em instâncias do Oracle Linux no Oracle Cloud Infrastructure.

Consulte também: known-issues-kernel.htm#troubleshooting-uekr7.

Falha na inicialização da instância após a atualização para uma nova versão do kernel

Quando você atualiza para o kernel mais recente do UEK Release 7, o log da console mostra o seguinte erro:

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

Este erro ocorre porque não havia espaço suficiente no diretório /boot quando o kernel foi instalado, ou o arquivo initramfs está ausente ou não foi criado corretamente. Tente inicializar em um kernel anterior, verificar erros na configuração de inicialização grub e verificar a integridade da imagem initramfs.

Para diagnosticar e solucionar problemas, gere novamente a imagem initramfs, remova os kernels não utilizados para liberar espaço no diretório /bootou faça os dois.

Gerar novamente a imagem initramfs

Siga estas etapas para gerar novamente a imagem initramfs.

  1. Em uma linha de comando, usando privilégios administrativos, estabeleça conexão com a instância usando SSH.
  2. Verifique se o arquivo initramfs do kernel que não será inicializado existe executando 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
    Dica

    Você pode identificar os kernels do Oracle Linux pelo el8uek no nome da imagem initramfs: /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  3. Faça backup da imagem initramfs do kernel atualizado copiando-a para um diretório diferente de /boot. Por exemplo, para copiar /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img para o diretório /root, execute:
    sudo cp /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img /root
  4. Gere novamente a imagem initramfs para o kernel atualizado, por exemplo:
    sudo dracut --kver 5.15.0-305.176.4.el8uek.x86_64 --force
  5. Verifique se o initramfs foi gerado novamente, por exemplo:
    sudo ls -l /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img

    Observe a alteração de data:

    -rw-------. 1 root root 90117038 Apr  2 23:51 /boot/initramfs-5.15.0-305.176.4.el8uek.x86_64.img
  6. Reinicialize a instância para verificar se a instância agora pode ser inicializada com o kernel atualizado.

Remover kernel não utilizados

Siga estas etapas para liberar espaço de inicialização removendo os kernel não utilizados.

  1. Em uma linha de comando, usando privilégios administrativos, estabeleça conexão com a instância usando SSH.
  2. Limpe o sistema de arquivos /boot removendo os kernel antigos ou indesejados. Por exemplo, se você não precisar mais dos RHCK (Red Hat Compatible Kernels), eles poderão ser removidos, liberando espaço /boot.
    1. Verifique o espaço disponível em /boot.
      df -h /boot
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sda2      1014M 1006M  8.7M 100% /boot 
    2. Procure os RHCKs.
      sudo rpm -qa | grep kernel-core
      kernel-core-4.18.0-553.40.1.el8_10.x86_64 
    3. Remova os RHCKs indesejados.
      sudo dnf remove -y kernel-core-4.18.0-553.40.1.el8_10.x86_64
  3. Verifique novamente o espaço disponível em /boot.
    df -h /boot
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sdb2      1014M  782M  233M  78% /boot
  4. Reinicialize a instância para verificar se a instância agora pode ser inicializada com o kernel atualizado.