Resuelva problemas de estabilidad o rendimiento, como bloqueos o fugas de memoria, mediante la actualización del kernel de Linux en una instancia ECS.
Las actualizaciones del kernel conllevan el riesgo de inestabilidad o incompatibilidad de hardware. Cree una copia de seguridad de sus datos antes de empezar y compruebe que comprende todo el procedimiento y sus impactos.
Requisitos previos
Asegúrese de lo siguiente:
(Opcional) Se creó una snapshot de cada disco conectado a la instancia para respaldar los datos.
Se configuró el acceso SSH a la instancia.
Actualizar el kernel
Elija el procedimiento correspondiente a su distribución de Linux.
Alibaba Cloud Linux y CentOS
-
Consulte la versión actual del kernel.
uname -r -
Compruebe si existe un kernel más reciente.
No kernel version available for upgrade: cambie a Alibaba Cloud Linux 3. Consulte Migración del sistema operativo o Replace OS (system disk).
Hay una versión más reciente del kernel disponible: continúe con el paso 3.
CentOS 6 alcanzó el fin de su vida útil (EOL). Su repositorio oficial en
http://mirror.centos.org/centos-6/se eliminó. Si utiliza el repositorio predeterminado de CentOS 6 en Alibaba Cloud, el comando devuelve un error. Cambie primero la dirección del repositorio. Consulte ¿Cómo cambio las direcciones del repositorio de CentOS 6?sudo yum list kernel -
Compruebe si el archivo
initrdoinitramfscontiene los controladoresvirtio-blkyxen-blkfront.sudo lsinitrd /boot/initramfs-`uname -r`.img | grep -E 'virtio|xen'Si la salida incluye entradas similares a las siguientes, ambos controladores están presentes. Pase directamente al paso 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.koSi falta alguno de los controladores, agréguelo antes de continuar con la actualización.
sudo sh -c 'echo 'add_drivers+="xen-blkfront virtio_blk"' >> /etc/dracut.conf.d/virt-drivers.conf' -
Instale el nuevo kernel.
sudo yum install kernel -y -
Actualice la configuración de GRUB para cargar el nuevo kernel durante el inicio.
sudo grub2-mkconfig -o /boot/grub2/grub.cfg -
Reinicie la instancia.
sudo reboot -
Compruebe que el nuevo kernel se está ejecutando.
uname -rLa salida muestra la nueva versión del kernel.
Ubuntu y Debian
-
Consulte la versión actual del kernel.
uname -r -
Actualice la lista de paquetes y compruebe qué paquetes de kernel están disponibles.
No hay ninguna versión del kernel disponible para actualizar: reemplace el sistema operativo por una versión superior. Consulte Reemplazar el sistema operativo (disco del sistema).
Hay una versión más reciente del kernel disponible: continúe con el paso 3.
sudo apt update apt-cache search linux-image -
Instale el paquete del kernel.
sudo apt-get install linux-image-<Kernel package name>(Opcional) Si la instancia ejecuta Ubuntu, instale los módulos adicionales del kernel para la nueva versión.
sudo apt-get install linux-modules-extra-<Kernel package name>Ejemplo: actualizar Ubuntu 20.04 al 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 -
Actualice la configuración de GRUB para cargar el nuevo kernel durante el inicio.
sudo update-grub -
Reinicie la instancia y actualice la página de Workbench.
sudo reboot -
Compruebe que el nuevo kernel se está ejecutando.
uname -rLa salida muestra la nueva versión del kernel.
Revertir tras una actualización con errores
Si el kernel actualizado provoca fallos de arranque o inestabilidad, restaure el servicio con uno de los métodos siguientes:
Restaurar desde una instantánea: revierta el disco del sistema con la instantánea que creó antes de la actualización.
Reemplazar el sistema operativo: sustituya el disco del sistema por una imagen de sistema operativo compatible. Consulte Reemplazar el sistema operativo (disco del sistema).
Preguntas frecuentes
¿Es necesario reiniciar después de actualizar el kernel?
Sí. El nuevo kernel entra en vigor únicamente después de reiniciar. Hasta ese momento, la instancia sigue ejecutando el kernel anterior.
¿Cómo confirmo que la actualización fue exitosa?
Ejecute uname -r después de reiniciar. Si la salida muestra la nueva versión, la actualización se completó correctamente.
¿Qué hago si el nuevo kernel es incompatible con mi hardware o mis controladores?
Restaure la instantánea que creó antes de la actualización o reemplace el sistema operativo. Consulte Revertir tras una actualización con errores.
¿Qué pasa si no hay un kernel más reciente para mi distribución?
En Alibaba Cloud Linux y CentOS, cambie a Alibaba Cloud Linux 3 mediante la migración del sistema operativo. Para Ubuntu y Debian, reemplace el sistema operativo por una versión superior. Consulte Reemplazar el sistema operativo (disco del sistema).
Siguientes pasos
Configure una programación periódica de instantáneas para el disco del sistema. De esta forma minimizará el tiempo de inactividad ante futuras correcciones de seguridad.