Cómo los servidores Linux actualizan su núcleo sin reiniciar

13

Según mi información, la actualización del kernel de Linux necesita reiniciar. Reiniciar una computadora en casa no es un problema, pero no creo que sea lo mismo para un servidor.

Entonces, ¿los servidores que usan distribuciones de Linux se reinician después de actualizar el kernel, o usan algún tipo de truco para evitar el arranque?

Sidahmed
fuente

Respuestas:

8

Un cambio de kernel debería reiniciarse. Puede instalar el núcleo y, en algunos casos, puede insertar y eliminar módulos de diferentes núcleos, pero no lo recomendaría.

Se podría reiniciar un servidor y el servicio no se vería afectado si el servidor forma parte de un clúster. También puede crear grupos de firewall / enrutador, de modo que no haya un punto central de falla (SPOF). Para hacer esto, usa lo que se llama una IP virtual (VIP) que se comparte en más de un sistema.

Si desea experimentar con esta idea, puede usar QEMU o VirtualBox y otros para crear redes virtuales.

Ed Neville
fuente
8
¿Qué pasa con los parches de kernel en vivo?
jiggunjer
La pregunta no era específica para parches menores, pero menciona 'actualización', que consideraré como actualizaciones de versiones principales. Por lo tanto, para 'actualizar' de 2.6 -> 3.0, recomendaría dejar caer la máquina de la carga antes de comenzar el trabajo de actualización. Publicar cambios en el kernel que reiniciaría. Como es probable que grub / lilo necesite cambios, sugeriría un reinicio de cortesía de todos modos.
Ed Neville
15

Sí, hacen un "reinicio", pero podrían hacer una llamada al sistema kexec_load para precargar el nuevo núcleo.

También existe la posibilidad de parchear el kernel en ejecución, por ejemplo , redhat kpatch . Todo lo que hago que conozco no puede cambiar las estructuras de datos.

Por supuesto, las máquinas lisp solían ser capaces de parchear sus núcleos en ejecución en el siglo pasado.

Ícaro
fuente
1
También hay vainilla kexec, por arrancar el nuevo kernel inmediatamente. Dependiendo de su definición de "reinicio", esto podría calificar como una actualización del núcleo sin reinicio.
Patrick