
Recientemente, ha surgido una propuesta interesante en la serie de parches de Linux: un nuevo hilo de desarrollo conocido como Live Update Orchestrator (LUO). Esta iniciativa, liderada por la ingeniera de Google Pasha Tatashin, se basa en un conjunto anterior de parches conocido como KHO v5 y busca mejorar la forma en que el kernel de Linux maneja las actualizaciones en vivo con interrupciones mínimas.
LUO está diseñado para minimizar el tiempo de inactividad del sistema al preservar los estados de los dispositivos durante una transición de un kernel antiguo a uno nuevo. Este enfoque es especialmente beneficioso en entornos de nube, donde incluso una breve interrupción puede afectar servicios críticos.
Funcionamiento del Live Update Orchestrator
El sistema LUO emplea un mecanismo basado en máquinas de estado para gestionar la transición entre kernels de manera ordenada. Este subsistema rastrea el progreso a través de diferentes estados y los vincula mediante APIs de devolución de llamadas (callbacks), permitiendo que varios componentes del kernel se integren sin problemas en el flujo de trabajo de la actualización en vivo.
Entre los subsistemas que se beneficiarían de LUO se incluyen:
-
KVM (Kernel-based Virtual Machine)
-
IOMMU (Unidad de gestión de memoria de entrada/salida)
-
Manejadores de interrupciones
-
La nueva capa de dispositivo dev_liveupdate
-
Gestión de memoria
Estados del proceso de actualización en vivo
LUO se puede controlar a través de una interfaz de sysfs en /sys/kernel/liveupdate/. La secuencia de la actualización en vivo sigue estos estados:
-
Normal: El sistema opera sin ninguna actualización en vivo en proceso.
-
Preparación: Se escribe 1 en /sys/kernel/liveupdate/prepare, activando la devolución de llamada LIVEUPDATE_PREPARE, lo que pone a los subsistemas en un estado de transición.
-
Actualizado: Una vez que el nuevo kernel toma el control, el sistema entra en el estado actualizado, donde los dispositivos y subsistemas reanudan su funcionalidad normal.
-
Finalizado: Al escribir en /sys/kernel/liveupdate/finish, se ejecuta la devolución de llamada LIVEUPDATE_FINISH, restaurando completamente el estado operativo del sistema.
Desafíos y escepticismo dentro de la comunidad
A pesar de los beneficios potenciales, LUO enfrenta escepticismo por parte de desarrolladores clave del kernel de Linux. Greg Kroah-Hartman, una figura influyente en el desarrollo del kernel, ha expresado preocupaciones sobre la viabilidad de este sistema y ha solicitado pruebas más concretas antes de considerar su inclusión.
En particular, Kroah-Hartman ha enfatizado la necesidad de parches funcionales para al menos tres subsistemas de buses antes de proceder con una revisión seria de la propuesta. Según él:
"Antes de siquiera considerar revisar esto, quiero ver parches reales y funcionales para al menos tres subsistemas de buses que implementen correctamente esta característica."
Además, también ha subrayado la importancia de contar con herramientas de espacio de usuario bien desarrolladas que puedan gestionar el potencialmente gran número de dispositivos involucrados en cualquier actualización en vivo.
El Live Update Orchestrator representa un avance significativo en la gestión de actualizaciones en vivo del kernel de Linux, especialmente en entornos que requieren alta disponibilidad. Sin embargo, su adopción en el árbol principal del kernel dependerá de la solidez de su implementación y de la aceptación por parte de los principales mantenedores del proyecto.
Si bien la propuesta de Google ofrece una solución innovadora para reducir el tiempo de inactividad, aún queda trabajo por hacer para demostrar su viabilidad y compatibilidad con los numerosos subsistemas del kernel. La comunidad de desarrolladores seguirá de cerca el progreso de LUO y su posible incorporación en futuras versiones del kernel de Linux.
Fuente: linuxiac
Añadir comentario
Comentarios