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

Después de seis meses de desarrollo, se ha publicado la versión 4.1 de la herramienta CRIU (Checkpoint and Restore In Userspace), destinada a guardar y restaurar procesos en el espacio de usuario. La herramienta permite guardar el estado de uno o varios procesos y luego continuar desde el punto guardado, incluso después de reiniciar el sistema o en otro servidor sin interrumpir las conexiones de red ya 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 la composición principal del núcleo de Linux.

Entre las áreas de aplicación de la tecnología CRIU se destacan la reinicialización del sistema operativo sin interrumpir la continuidad de la ejecución de procesos de larga duración, 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), realizar actualizaciones del núcleo sin reiniciar servicios, guardar periódicamente el estado de tareas computacionales de larga duración para reanudar el trabajo en caso de un fallo, equilibrar la carga en nodos dentro de clústeres, duplicar procesos en otra máquina (fork en un sistema remoto) y crear instantáneas de aplicaciones de usuario en ejecución para su análisis en otro sistema o en caso de que se necesite deshacer acciones posteriores en el programa.

En esta nueva versión:

  • Se ha añadido soporte para la arquitectura RISC-V.
  • Se ha añadido soporte para el mecanismo PIDFD, que permite utilizar identificadores inmutables vinculados a procesos originales (un PID normal puede ser asignado a otro proceso después de que el proceso asociado a ese PID haya finalizado).
  • Para la plataforma ARM64 se ha implementado el soporte para extensiones de autenticación de punteros (PAC - Pointer Authentication Code), que proporcionan verificación de direcciones de retorno utilizando firmas digitales que se almacenan en los bits superiores no utilizados del propio puntero.
  • Se han ampliado las capacidades de guardar y restaurar el estado de aplicaciones que utilizan la tecnología NVIDIA CUDA.
  • Se ha proporcionado la posibilidad de elegir el backend de bloqueo de red durante la etapa de compilación, sin necesidad de modificar el código. El backend se puede cambiar pasando al utilitario make el parámetro NETWORK_LOCK_DEFAULT, que acepta los valores "NETWORK_LOCK_IPTABLES", "NETWORK_LOCK_NFTABLES" y "NETWORK_LOCK_SKIP".
  • Se ha incluido el soporte para la generación de archivos coredump para las arquitecturas Aarch64 y ARM.

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