Sortie de CRIU 4.0, un système pour sauvegarder et restaurer l'état des processus sous Linux

La version 4.0 de l'outil CRIU (Checkpoint and Restore In Userspace) a été publiée, conçue pour sauvegarder et restaurer des processus dans l'espace utilisateur. Cet outil permet de conserver l'état d'un ou plusieurs processus, puis de reprendre le travail à partir de la position sauvegardée, même après un redémarrage du système ou sur un autre serveur sans interrompre les connexions réseau déjà établies. Le code du projet est écrit en langage C et distribué sous la licence GPLv2. CRIU est utilisé dans des systèmes de gestion de conteneurs tels qu'OpenVZ, LXC/LXD et Docker. Les modifications nécessaires au fonctionnement de CRIU sont incluses dans le noyau Linux principal.

Parmi les applications de la technologie CRIU, on peut noter la possibilité de redémarrer le système d'exploitation sans interrompre l'exécution de processus longs, la migration en direct de conteneurs isolés, l'accélération du démarrage de processus lents (on peut commencer à travailler à partir d'un état sauvegardé après l'initialisation), la mise à jour du noyau sans redémarrer les services, la sauvegarde périodique de l'état des tâches de calcul longue durée pour reprendre le travail en cas de panne, la répartition de la charge entre les nœuds dans les clusters, la duplication des processus sur une autre machine (fork sur un système distant), et la création de snapshots d'applications utilisateur en cours d'exécution pour les analyser sur un autre système ou au cas où il serait nécessaire d'annuler des actions ultérieures dans le programme.

Dans cette nouvelle version :

  • Ajout d'un plugin CUDA qui permet de sauvegarder et de restaurer l'état des applications basées sur la technologie NVIDIA CUDA.
  • Ajout du support du mécanisme Shadow Stack, pris en charge à partir du noyau Linux 6.6, qui permet de bloquer le fonctionnement de nombreux exploits, en utilisant les capacités matérielles des processeurs Intel (après le transfert de contrôle d'une fonction, les adresses de retour sont sauvegardées par le processeur non seulement dans la pile normale, mais aussi dans une pile « ombre » distincte, qui ne peut pas être modifiée directement, et avant de quitter la fonction, l'adresse de retour est extraite de la pile ombre et vérifiée avec l'adresse de retour de la pile principale).
  • Ajout de la prise en charge de la commande ioctl PAGEMAP_SCAN pour obtenir des informations sur le contenu des tables de pages mémoire, ce qui, entre autres, permet d'identifier les écritures dans une zone mémoire spécifique lors de l'utilisation de userfaultfd().
  • Mise en œuvre de la possibilité de restaurer le flux dans un cgroup v1 correct.

    Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster