CRIU, un sistema per guardar i restaurar l'estat de processos en Linux

CRIU (Checkpoint and Restore In userspace) és una eina que permet guardar l'estat d'un o un grup de processos i després reprendre la feina des de la posició guardada, fins i tot després de reiniciar el sistema o en un altre servidor sense trencar les connexions de xarxa ja establertes.

Amb aquesta eina, és possible congelar una aplicació en execució (O part d'ella) i col·locar-la en l'emmagatzematge persistent com una col·lecció d'arxius. Després, es poden usar els arxius per restaurar i executar l'aplicació des del punt en què es va immobilitzar.

La característica distintiva de el projecte CRIU és que s'implementa principalment en l'espai de l'usuari, més que en el nucli.

sobre CRIU

L'eina CRIU s'està desenvolupant com a part de el projecte OpenVZ, amb l'objectiu de reemplaçar el punt de control / restauració al nucli.

Encara que el seu enfocament principal és donar suport a la migració de contenidors, El que permet als usuaris verificar i restaurar l'estat actual dels processos en execució i els grups de processos.

Actualment, l'eina es pot utilitzar en sistemes x86-64 i ARM y admet les següents funcions:

  • Processos: la seva jerarquia, PID, autenticadors d'usuaris i grups (UID, GID, SID, etc.), capacitats de el sistema, subprocessos i estats d'execució i detingut
  • Memòria de l'aplicació: arxius assignats en memòria i memòria compartida
  • obrir arxius
  • Pipes i FIFOs
  • Unix domain sockets
  • Network sòcols, inclosos TCP sòcols en l'estat ESTABLISHED
  • Sistema V IPC
  • Timers
  • Senyals
  • terminals
  • Trucades de el nucli a sistema específic: inotify, signalfd, eventfdyepoll

Entre les àrees d'aplicació de la tecnologia CRIU, s'observa que el sistema operatiu es reinicia sense interrompre la continuïtat dels processos de llarga execució, migració en viu de contenidors aïllats, accelerant el llançament de processos lents (pot començar des de l'estat guardat després de la inicialització), portant a terme actualitzacions de l'nucli sense reiniciar els serveis, guardant periòdicament l'estat de llarga execució de tasques de computació per reprendre el treball en cas d'un bloqueig, equilibrar la càrrega en els nodes en clústers, duplicar processos en una altra màquina (bifurcar a un sistema remot), crear instantànies d'aplicacions d'usuari durant l'operació per analitzar-les en un altre sistema o en cas que necessiti cancel·lar més accions en programa. CRIU s'utilitza en sistemes de gestió de contenidors com OpenVZ, lxc / LXD i Docker.

Sobre la nova versio de CRIU 3.15

Actualment l'eina es troba en el seu version 3.15, La qual va ser recentment llançada i en ella s'introdueix el servei criu-image-streamer, que permet la transmissió d'imatges de procés directament des / cap a les CRIU durant les operacions de congelació / restauració.

  • Les imatges es poden transferir des d'un emmagatzematge extern (S3, GCS, etc.) sense emmagatzemar en memòria intermèdia en el sistema de fitxers local.
  • Es va agregar suport per a l'arquitectura MIPS.
  • Permès per congelar processos que no pertanyen a l'espai de noms PID existent, seguit de restauració en l'espai de noms PID existent.
  • Es van agregar mecanismes addicionals per verificar arxius.
  • Es va agregar suport per congelar i restaurar les estructures BPF BPF_HASH_OF_MAPS i BPF_ARRAY_OF_MAPS.
  • Es va agregar suport inicial per a la segona versió de cgroup.

Com instal.lar CRIU en Linux?

Per als que estiguin interessats en poder instal·lar aquesta eina han de saber que es troba disponible dins dels canals oficials de la majoria de les distribucions de Linux.

Pel que per poder instal·lar l'eina només cal obrir una terminal i amb ajuda del teu gestor de paquets busquis l'eina o utilitzis algun dels següents ordres que compartim.

Per al cas dels que són usuaris de Debian, Ubuntu i derivats d'aquests dos:

sudo apt install criu

Mentre que per als que són usuaris de Arch Linux i qualsevol derivat d'aquest:

sudo pacman -S criu

En el cas dels que són usuaris de openSUSE:

sudo zypper install criu

Finalment per als que vulguin compilar l'eina poden fer-ho teclejant:

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

Si vols conèixer més a l'respecte sobre aquesta eina, pots consultar els detalls en el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.