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

CRIU (Point de contrôle et restauration dans l'espace utilisateur) est un outil qui vous permet de sauvegarder l'état d'un ou d'un groupe de processus puis reprenez le travail à partir de la position enregistrée, même après avoir redémarré le système ou un autre serveur sans interrompre les connexions réseau déjà établies.

Avec cet outil, il est possible de figer une application en cours d'exécution (ou une partie de celui-ci) et placez-le sur un stockage persistant en tant que collection de fichiers. Les fichiers peuvent ensuite être utilisés pour restaurer et exécuter l'application à partir de l'endroit où elle a été gelée.

La particularité du projet CRIU est que il est implémenté principalement dans l'espace utilisateur, plutôt que dans le noyau.

À propos du CRIU

L'outil CRIU est en cours de développement dans le cadre du projet OpenVZ, dans le but de remplacer le point de contrôle / restauration dans le noyau.

Bien que son objectif principal est de prendre en charge la migration des conteneurs, permettant aux utilisateurs de vérifier et de restaurer l'état actuel des processus en cours et des groupes de processus.

Actuellement, l'outil peut être utilisé sur les systèmes x86-64 et ARM y prend en charge les fonctions suivantes:

  • Processus: leur hiérarchie, les PID, les authentificateurs d'utilisateurs et de groupes (UID, GID, SID, etc.), les capacités du système, les threads et les états en cours et arrêtés
  • Mémoire d'application: fichiers mappés en mémoire et mémoire partagée
  • Ouvrir des fichiers
  • Tuyaux et FIFO
  • Sockets de domaine Unix
  • Sockets réseau, y compris les sockets TCP à l'état ESTABLISHED
  • Système V IPC
  • Timers
  • Signalétique
  • Terminaux
  • Appels du noyau à un système spécifique: inotify, signalfd, eventfdyepoll

Entre les domaines d'application de la technologie CRIU, on observe que le système d'exploitation redémarre sans interrompre la continuité des processus migration en direct de conteneurs isolés de longue durée, accélération du lancement de processus lents (peut démarrer à partir de l'état enregistré après l'initialisation), mise à jour du noyau sans redémarrage des services, enregistrement périodique de l'état des tâches de longue durée pour reprendre le travail en cas de panne, équilibrer la charge entre les nœuds en cluster, dupliquer des processus sur une autre machine (branche vers un système distant), créer des instantanés des applications utilisateur pendant le fonctionnement pour analyse sur un autre système ou sur au cas où vous auriez besoin d'annuler plus d'actions dans le programme. CRIU est utilisé dans les systèmes de gestion de conteneurs tels qu'OpenVZ, LXC / LXD et Docker.

À propos de la nouvelle version de CRIU 3.15

Actuellement, l'outil est dans sa version 3.15, qui a été récemment lancé et introduit le service criu-image-streamer, qui permet la transmission d'images de processus directement depuis / vers les CRIU pendant les opérations de gel / restauration.

  • Les images peuvent être transférées depuis un stockage externe (S3, GCS, etc.) sans mise en mémoire tampon sur le système de fichiers local.
  • La prise en charge de l'architecture MIPS a été ajoutée.
  • Autorisé à geler les processus n'appartenant pas à l'espace de noms PID existant, suivi d'une restauration dans l'espace de noms PID existant.
  • Des mécanismes supplémentaires ont été ajoutés pour vérifier les fichiers.
  • Ajout de la prise en charge du gel et de la restauration des structures BPF_HASH_OF_MAPS et BPF_ARRAY_OF_MAPS.
  • Ajout du support initial pour la deuxième version de cgroup.

Comment installer CRIU sur Linux?

Ceux qui sont intéressés par l'installation de cet outil doivent savoir qu'il est disponible dans les canaux officiels de la plupart des distributions Linux.

Donc, pour installer l'outil ouvrez simplement un terminal et avec l'aide de votre gestionnaire de paquets, recherchez l'outil ou utilisez l'une des commandes suivantes que nous partageons.

Pour le cas de ceux qui sont Debian, utilisateurs d'Ubuntu et dérivés de ces deux:

sudo apt install criu

Alors que pour ceux qui utilisent Arch Linux et ses dérivés:

sudo pacman -S criu

Dans le cas de ceux qui utilisent ouvreutilisation :

sudo zypper install criu

Enfin pour ceux qui veulent compiler l'outil ils peuvent le faire en tapant:

git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all

Si vous voulez en savoir plus à propos de cet outil, vous pouvez vérifier les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.