Por Canuto  

Kmorph propone que un segundo kernel Linux, preparado de antemano, tome el control si el que está en funcionamiento falla. El proyecto plantea devolver servicios como Nginx a la actividad en unos dos segundos, aunque depende de Multikernel, una iniciativa que todavía no forma parte del kernel principal.
***

  • El kernel sucesor se inicia antes de una caída y vigila al kernel en funcionamiento, con recursos propios de CPU y memoria.
  • Ante un fallo, la toma de control incluye recuperar dispositivos y red; el proyecto estima cerca de un segundo hasta tener al sucesor en ejecución.
  • Kmorph funciona actualmente en x86_64 y ARM64, mientras RISC-V sigue en desarrollo; su adopción amplia depende de que Multikernel avance.

 


Un fallo del kernel puede interrumpir el funcionamiento de un servidor y obligar a reiniciarlo para recuperar sus servicios. Kmorph, un proyecto de código abierto anunciado el viernes, busca evitar esa interrupción mediante un segundo kernel Linux que ya está activo y preparado para asumir el control, en lugar de esperar a que la máquina vuelva a arrancar desde cero.

La propuesta se apoya en Multikernel, un trabajo que permite que varias instancias independientes del kernel coexistan en una misma máquina física. Según la descripción publicada por Phoronix, Kmorph podría recuperar servicios importantes, como el servidor web Nginx, con un tiempo de inactividad de apenas unos dos segundos, aunque todavía no opera sobre el kernel principal de Linux.

Un sucesor preparado antes de la caída

Multikernel organiza cada instancia con sus propias CPU, memoria y dispositivos, y permite que los kernels se comuniquen mediante vsock. Kmorph aprovecha esa separación para mantener un kernel sucesor junto al kernel que está en funcionamiento, al que el proyecto denomina predecesor, en vez de esperar a que ocurra un fallo para comenzar una recuperación desde cero.

El sucesor arranca por adelantado utilizando una o dos CPU y una parte de la memoria disponible, mientras vigila al kernel principal. La preparación anticipada es central para el diseño: cuando el predecesor entra en pánico o queda colgado, el sucesor ya existe y puede iniciar la toma de control sin depender de un reinicio convencional de la máquina.

El proyecto describe una secuencia que comienza con el aislamiento de las CPU del kernel que falló y continúa con la adopción y el reinicio de sus dispositivos. El sucesor también restaura la identidad de red y puede guardar, de manera opcional, un vmcore compatible con kdump, una función relevante para conservar información de diagnóstico tras el fallo.

Después de esa primera etapa, el kernel sucesor incorpora en caliente las CPU y la memoria restantes, y pasa a ser el kernel de la máquina. Kmorph estima que transcurre alrededor de un segundo desde la detección del fallo hasta que el sucesor queda en ejecución, sin reinicio, intervención de firmware ni acción de un operador.

Recuperar servicios y también actualizar el kernel

La toma de control del kernel no es el único aspecto de la propuesta: Kmorph también contempla mantener servicios importantes de systemd en espera dentro del kernel de respaldo. Esa preparación busca reducir el tiempo entre la caída del kernel principal y la recuperación de aplicaciones prioritarias, aunque el proyecto distingue ese proceso del posterior arranque de servicios menos urgentes.

Nginx funciona como ejemplo del objetivo de continuidad: ante un fallo del kernel, el servicio podría volver a estar disponible en apenas dos segundos. La cifra describe el resultado que plantea el proyecto para ese caso, no una garantía general para cualquier aplicación o configuración, y la recuperación de los servicios menos importantes llegaría después.

La misma mecánica también permitiría realizar una actualización en vivo cuando el sistema todavía funciona con normalidad. El comando “kmorph upgrade” entrega una máquina saludable a un kernel sucesor más nuevo, de modo que el cambio se realiza mediante una toma de control en vez de reiniciar el equipo para cargar la nueva versión.

Una vez que el sucesor queda al mando, puede preparar a su vez otro kernel para que lo reemplace en el futuro. Así, la arquitectura descrita por Kmorph no se limita a una única pareja de kernels, sino que prevé una sucesión de relevos, ya sea como respuesta a un fallo o como parte de una actualización planificada.

La dependencia de Multikernel y el contraste con Linux

La principal limitación actual es que Kmorph se construye sobre Multikernel, una propuesta que todavía no forma parte del árbol principal de Linux. Por esa razón, Kmorph no funciona hoy sobre el kernel principal, y todavía no está definido si Multikernel llegará a incorporarse a esa rama ni cuándo podría ocurrir.

El kernel principal ya cuenta con Kexec Handover, o KHO, y Live Update Orchestrator, o LUO, pero, según la información publicada por Phoronix, esas capacidades no ofrecen una recuperación similar frente a un fallo del kernel. Para actualizar el kernel mediante el mecanismo actual descrito en la fuente todavía hace falta un reinicio con Kexec, y ese proceso tampoco permite que el sistema sobreviva a una caída del kernel.

La diferencia propuesta por Kmorph consiste en tener otra instancia en funcionamiento antes de que ocurra el problema, para que pueda asumir las CPU, los dispositivos y la red del sistema afectado. Esa arquitectura introduce una vía distinta a la secuencia habitual de detener el sistema y volver a arrancarlo, aunque su disponibilidad práctica depende de que las capacidades necesarias de Multikernel puedan utilizarse fuera de su desarrollo actual.

El proyecto funciona hoy en sistemas x86_64 y ARM64, mientras el soporte para RISC-V permanece en progreso. Esa información delimita el alcance declarado hasta el momento: la fuente no presenta compatibilidad universal ni ofrece cifras de pruebas en producción para todas esas arquitecturas.

Orquestación sencilla sobre un trabajo de kernel complejo

Kmorph se presenta como una capa de orquestación escrita en C que utiliza las interfaces de Multikernel, mientras que el trabajo técnico novedoso se concentra en este último. Entre las tareas que la descripción atribuye a Multikernel figuran el aislamiento de recursos, la entrega de dispositivos y de la unidad de gestión de memoria de entrada/salida, o IOMMU, y la incorporación en caliente de CPU y memoria.

Para esa incorporación, el sistema utiliza un árbol de dispositivos del host, según la explicación del proyecto. La división de responsabilidades importa porque Kmorph coordina operaciones sobre una base técnica que debe resolver el reparto y la transferencia de recursos entre kernels; por ello, la sencillez de la capa de orquestación no elimina la dependencia de las funciones implementadas en Multikernel.

En cuanto a la integración con distribuciones, Kmorph plantea apoyarse en herramientas y componentes habituales del proceso de arranque y administración de Linux. La lista incluye dracut, initramfs-tools, kernel-install y un servicio de systemd, una estrategia que el proyecto compara con la integración de kdump en distintas distribuciones.

El anuncio presenta una propuesta para reducir la interrupción de servicios cuando falla un kernel y para hacer posible una entrega planificada a una versión más reciente. Sin embargo, sus tiempos estimados y su potencial de adopción deben leerse junto con el estado todavía externo de Multikernel: que la idea llegue a un uso más amplio dependerá de la evolución de esa base y de su eventual incorporación al kernel principal.


Imagen original de DiarioBitcoin, creada con inteligencia artificial, de uso libre, licenciada bajo Dominio Público.

Este artículo fue escrito por un redactor de contenido de IA y revisado por un editor humano para garantizar calidad y precisión.


ADVERTENCIA: DiarioBitcoin ofrece contenido informativo y educativo sobre diversos temas, incluyendo criptomonedas, IA, tecnología y regulaciones. No brindamos asesoramiento financiero. Las inversiones en criptoactivos son de alto riesgo y pueden no ser adecuadas para todos. Investigue, consulte a un experto y verifique la legislación aplicable antes de invertir. Podría perder todo su capital.

Suscríbete a nuestro boletín