¿Es bueno tener varias versiones del kernel de Linux?

¿Es bueno tener varias versiones del kernel de Linux?

Una vez, estaba instalando algunos parches del kernel y algo salió mal en un servidor activo donde teníamos cientos de clientes. Sólo había un núcleo en el sistema. Entonces, el servidor estuvo inactivo por algún tiempo y, usando un CD en vivo, pusimos el sistema en funcionamiento e hicimos el trabajo de reparación adicional.

Ahora mi pregunta: ¿Es una buena idea tener 2 versiones del kernel, de modo que si el kernel está dañado siempre podamos reiniciar con otro kernel disponible? Por favor hágamelo saber.

Además, ¿es posible tener 2 versiones del mismo kernel? ¿Para poder elegir otro kernel cuando hay daños en el kernel?

Edited:
My Server Details:
2.6.32-431.el6.x86_64
CentOS release 6.5 (Final)

¿Cómo puedo tener la misma copia de este kernel, de modo que cuando mi kernel se dañe, pueda iniciar el kernel de respaldo?

Respuesta1

Tanto RedHat como la distribución basada en Debian mantienen varias versiones de Kernel cuando instalas una nueva usando yumo apt-getde forma predeterminada. Esto se considera una buena práctica y se hace exactamente para el caso que usted describe: si algo sale mal con el último kernel, siempre puede reiniciar y en GRUB elegir arrancar usando uno de los kernels anteriores.

En las distribuciones RedHat, usted controla la cantidad de núcleos para mantenerse al día /etc/yum.confcon installonly_limitla configuración. En mi nueva instalación de CentOS 7, el valor predeterminado es 5.

Además, si en RedHat está instalando un nuevo kernel desde el paquete RPM, debe usar rpm -ivh, no rpm -Uvh: el primero mantendrá el kernel anterior en su lugar mientras que el segundo lo reemplazará.

Debian conserva los núcleos antiguos pero no los elimina automáticamente. Si necesita liberar su partición de arranque, debe eliminar los kernels antiguos manualmente (recuerde dejar al menos uno de los kernels anteriores). Para enumerar todos los paquetes de instalación y encabezados del kernel, utilice dpkg -l | egrep "linux-(im|he)".

Respondiendo tu pregunta --Además, ¿es posible tener 2 versiones del mismo kernel?-- Sí, es posible. No puedo verificarlo en CentOS 6.5 en este momento, pero en CentOS 7 pude obtener el resultado deseado simplemente duplicando archivos de /bootdirectorio relacionados con el kernel y reconstruyendo el menú de grub:

cd /boot

# Duplicate kernel files; 
# "3.10.0-123.el7" is a substring in the name of the current kernel
ls -1 | grep "3.10.0-123.el7" | { while read i; \
    do cp $i $(echo $i | sed 's/el7/el7.backup/'); done; }

# Backup the grub configuration, just in case
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

# Rebuild grub configuration
grub2-mkconfig -o /boot/grub2/grub.cfg

# At this point you can reboot and see that a new kernel is available 
# for you to choose in GRUB menu

Respuesta2

Sí, es posible y diría incluso aconsejable. Sólo necesitas configurar el proceso de arranque para ofrecerte la alternativa. Normalmente, esto se hace en la configuración del cargador de arranque; por lo general, puede simplemente duplicar la entrada que está allí y cambiar el nombre del archivo de la imagen del kernel y la etiqueta de la entrada del menú de arranque.

En un servidor de producción esto normalmente no es un problema, pero siempre que actualice el kernel es una buena idea tener una copia de seguridad presente. Algunas distribuciones de Linux ofrecen reversión (generalmente respaldada por capacidades de creación de instantáneas del sistema de archivos) en las actualizaciones de paquetes para que el proceso sea lo más sencillo posible, pero incluso en esos casos yo tendería a mantener una copia de seguridad lista.

En cuanto a tener varias copias del mismo kernel, incluso eso tendría sentido, pero como @goldilocks señala en el comentario a continuación, si su kernel se corrompe debería pensar en reemplazar el hardware. Por otro lado, colocar el duplicado en un disco duro físico diferente podría ahorrarle algunos problemas. Pero tenga en cuenta que el archivo de imagen del kernel es sóloalguna vezutilizado durante el arranque.

información relacionada