Resolva problemas de estabilidade ou desempenho, como falhas ou vazamentos de memória, atualizando o kernel do Linux em uma instância ECS.
Atualizações de kernel envolvem risco de instabilidade ou incompatibilidade de hardware. Faça backup dos seus dados antes de começar e verifique se você compreende todo o procedimento e seus impactos.
Pré-requisitos
Certifique-se do seguinte:
-
(Opcional) Um snapshot de cada disco conectado à instância foi criado para fazer backup dos dados.
-
O acesso SSH à instância está configurado.
Atualizar o kernel
Escolha o procedimento correspondente à sua distribuição Linux.
Alibaba Cloud Linux e CentOS
-
Verifique a versão atual do kernel.
uname -r -
Verifique se há um kernel mais recente disponível.
-
No kernel version available for upgrade: Migre para o Alibaba Cloud Linux 3. Consulte Migração de SO ou Substituir SO (disco do sistema).
-
Uma versão mais recente do kernel está disponível: Continue para a etapa 3.
O CentOS 6 atingiu o fim da vida útil (EOL). Seu repositório oficial em
http://mirror.centos.org/centos-6/foi removido. Se você usar o repositório padrão do CentOS 6 no Alibaba Cloud, o comando retornará um erro. Altere primeiro o endereço do repositório. Consulte Como alterar os endereços de repositório do CentOS 6?sudo yum list kernel -
-
Verifique se o arquivo
initrdouinitramfscontém os driversvirtio-blkexen-blkfront.sudo lsinitrd /boot/initramfs-`uname -r`.img | grep -E 'virtio|xen'Se a saída incluir entradas semelhantes às seguintes, ambos os drivers estão presentes. Pule para a etapa 4.
-rw-r--r-- 1 root root 83312 Jul 22 10:38 usr/lib/modules/4.19.91-27.5.al7.x86_64/kernel/drivers/block/xen-blkfront.ko -rw-r--r-- 1 root root 68016 Jul 22 10:38 usr/lib/modules/4.19.91-27.5.al7.x86_64/kernel/drivers/net/xen-netfront.koSe algum dos drivers estiver ausente, adicione-o antes de atualizar.
sudo sh -c 'echo 'add_drivers+="xen-blkfront virtio_blk"' >> /etc/dracut.conf.d/virt-drivers.conf' -
Instale o novo kernel.
sudo yum install kernel -y -
Atualize a configuração do GRUB para carregar o novo kernel na inicialização.
sudo grub2-mkconfig -o /boot/grub2/grub.cfg -
Reinicie a instância.
sudo reboot -
Verifique se o novo kernel está em execução.
uname -rA saída mostra a nova versão do kernel.
Ubuntu e Debian
-
Verifique a versão atual do kernel.
uname -r -
Atualize a lista de pacotes e verifique os pacotes de kernel disponíveis.
-
Nenhuma versão de kernel disponível para atualização: Substitua o SO por uma versão superior. Consulte Substituir SO (disco do sistema).
-
Uma versão mais recente do kernel está disponível: Continue para a etapa 3.
sudo apt update apt-cache search linux-image -
-
Instale o pacote do kernel.
sudo apt-get install linux-image-<Kernel package name>(Opcional) Se a instância executar o Ubuntu, instale os módulos extras do kernel para a nova versão.
sudo apt-get install linux-modules-extra-<Kernel package name>Exemplo: atualizar o Ubuntu 20.04 para o kernel 5.15.0
sudo apt update apt-cache search linux-image | grep '5.15' | grep generic sudo apt-get install linux-image-5.15.0-122-generic sudo apt-get install linux-modules-extra-5.15.0-122-generic -
Atualize a configuração do GRUB para carregar o novo kernel na inicialização.
sudo update-grub -
Reinicie a instância e atualize a página do Workbench.
sudo reboot -
Verifique se o novo kernel está em execução.
uname -rA saída mostra a nova versão do kernel.
Reverter após uma atualização com falha
Se o kernel atualizado causar falhas de inicialização ou instabilidade, restaure o serviço usando um dos métodos a seguir:
-
Restaurar a partir de snapshot: Reverta o disco do sistema usando o snapshot criado antes da atualização.
-
Substituir o SO: Substitua o disco do sistema por uma imagem de SO compatível. Consulte Substituir SO (disco do sistema).
Perguntas frequentes
Preciso reiniciar após atualizar o kernel?
Sim. O novo kernel entra em vigor somente após a reinicialização. Até lá, a instância continua executando o kernel anterior.
Como confirmo que a atualização foi bem-sucedida?
Execute uname -r após a reinicialização. Se a saída mostrar a nova versão, a atualização foi bem-sucedida.
E se o novo kernel for incompatível com meu hardware ou drivers?
Restaure a partir do snapshot criado antes da atualização ou substitua o SO. Consulte Reverter após uma atualização com falha.
E se não houver um kernel mais recente disponível para minha distribuição?
Para Alibaba Cloud Linux e CentOS, migre para o Alibaba Cloud Linux 3 por meio da migração de SO. Para Ubuntu e Debian, substitua o SO por uma versão superior. Consulte Substituir SO (disco do sistema).
Próximas etapas
-
Configure um agendamento regular de snapshots para o disco do sistema a fim de minimizar o tempo de inatividade causado por futuras correções de segurança.