Lanzamiento de CRIU 4.0, un sistema para guardar y restaurar el estado de procesos en Linux

Se ha publicado la versión 4.0 de la herramienta CRIU (Checkpoint and Restore In Userspace), diseñada para guardar y restaurar procesos en el espacio de usuario. Esta herramienta permite guardar el estado de uno o varios procesos y luego reanudar la operación desde la posición guardada, incluso después de reiniciar el sistema o en otro servidor sin interrumpir las conexiones de red establecidas. El código del proyecto está escrito en C y se distribuye bajo la licencia GPLv2. CRIU se utiliza en sistemas de gestión de contenedores como OpenVZ, LXC/LXD y Docker. Los cambios necesarios para el funcionamiento de CRIU están incluidos en el núcleo principal de Linux.

Entre las aplicaciones de la tecnología CRIU se destaca la capacidad de reiniciar el sistema operativo sin interrumpir la ejecución de procesos que llevan mucho tiempo, la migración en vivo de contenedores aislados, la aceleración del inicio de procesos lentos (se puede comenzar a trabajar desde un estado guardado después de la inicialización), la realización de actualizaciones del núcleo sin reiniciar los servicios, el guardado periódico del estado de tareas computacionales de larga duración para reanudar el trabajo en caso de fallo, el balanceo de carga en nodos en clústeres, la duplicación de procesos en otra máquina (fork en un sistema remoto), la creación de instantáneas de aplicaciones de usuario durante su ejecución para su análisis en otro sistema o en caso de que sea necesario deshacer acciones posteriores en el programa.

En esta nueva versión:

  • Se ha añadido un plugin de CUDA que permite guardar y restaurar el estado de aplicaciones basadas en tecnología NVIDIA CUDA.
  • Se ha añadido soporte para el mecanismo Shadow Stack, disponible a partir del núcleo Linux 6.6, que permite bloquear muchas exploitaciones utilizando las capacidades de hardware de los procesadores Intel (tras pasar el control a una función, la dirección de retorno es guardada por el procesador no solo en la pila normal, sino en una pila 'sombría' separada, que no puede ser modificada directamente, y antes de salir de la función, se extrae la dirección de retorno de la pila sombría y se compara con la dirección de retorno de la pila principal).
  • Se ha añadido soporte para el comando ioctl PAGEMAP_SCAN para obtener información sobre el contenido de las tablas de páginas de memoria, lo que permite, entre otras cosas, determinar la escritura en un área de memoria específica al usar userfaultfd().
  • Se ha implementado la posibilidad de restaurar el flujo en la cgroup v1 correcta.

    Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster