Para resolver problemas de estabilidade ou desempenho, como travamentos ou vazamentos de memória, atualize o kernel do Linux em uma instância ECS.
As atualizações de kernel apresentam 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 de atender aos seguintes requisitos:
(Opcional) Crie um snapshot de cada disco anexado à instância para fazer backup dos dados.
O acesso SSH à instância está configurado.
Atualizar o kernel
Escolha o procedimento para a sua distribuição Linux.
Alibaba Cloud Linux e CentOS
-
Primeiro, verifique a versão atual do kernel.
uname -r -
Em seguida, verifique se há um kernel mais recente.
No kernel version available for upgrade: Migre para o Alibaba Cloud Linux 3. Consulte a migração de SO ou Replace OS (system disk).
Há uma versão mais recente do kernel disponível: Continue para a etapa 3.
O CentOS 6 atingiu o fim de 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 altero os endereços de repositório do CentOS 6?sudo yum list kernel -
Agora, 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' -
Agora, instale o novo kernel.
sudo yum install kernel -y -
Em seguida, 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 -
Por fim, verifique se o novo kernel está em execução.
uname -rA saída mostra a nova versão do kernel.
Ubuntu e Debian
-
Primeiro, verifique a versão atual do kernel.
uname -r -
Primeiro, atualize a lista de pacotes e verifique se há 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).
Há uma versão mais recente do kernel disponível: Continue para a etapa 3.
sudo apt update apt-cache search linux-image -
Agora, 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 -
Em seguida, 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 -
Por fim, verifique se o novo kernel está em execução.
uname -rA saída mostra a nova versão do kernel.
Reverter após uma falha na atualização
Se o kernel atualizado causar falhas de inicialização ou instabilidade, restaure o service usando um dos seguintes métodos:
Restaurar a partir de snapshot: Reverta o disco do sistema com 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 uma atualização de kernel?
Sim. O novo kernel só entra em vigor após a reinicialização. Até lá, a instância executa o kernel antigo.
Como confirmar se a atualização foi bem-sucedida?
Para isso, execute uname -r após a reinicialização e confirme se a saída mostra a nova versão.
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 falha na atualização.
E se não houver um kernel mais recente disponível para minha distribuição?
Para o 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
Defina uma programação regular de snapshots para o disco do sistema a fim de minimizar o tempo de inatividade em futuras correções de segurança.