CRIU, un sistem pentru salvarea și restabilirea stării proceselor în Linux

CRIU (Punctul de verificare și restaurare în spațiul utilizator) este un instrument care vă permite să salvați starea unuia sau a unui grup de procese și apoi reluați lucrul din poziția salvată chiar și după repornirea sistemului sau pe alt server fără a întrerupe conexiunile de rețea deja stabilite.

Cu acest instrument, este posibil să înghețe o aplicație care rulează (sau o parte din ea) și plasați-l în stocare persistentă ca o colecție de fișiere. Fișierele pot fi apoi folosite pentru a restaura și rula aplicația din punctul în care a fost înghețată.

Trăsătura distinctivă al proiectului CRIU este că Este implementat în principal în spațiul utilizatorului, mai degrabă decât în ​​nucleu.

Despre CRIU

Instrumentul CRIU Este dezvoltat ca parte a proiectului OpenVZ, cu scopul de a înlocui punctul de control/restaurare din nucleu.

Deși principalul său obiectiv este sprijinirea migrației containerelor, permițând utilizatorilor să verifice și să restabilească starea curentă a proceselor care rulează și a grupurilor de procese.

În prezent, Instrumentul poate fi utilizat pe sistemele x86-64 și ARM y acceptă următoarele funcții:

  • Procese: ierarhia lor, PID, autentificatori de utilizatori și de grup (UID, GID, SID etc.), capabilitățile sistemului, firele de execuție și stările de rulare și oprite
  • Memoria aplicației: fișiere mapate în memorie și memorie partajată
  • Deschideți fișierele
  • Țevi și FIFO
  • Prize de domeniu Unix
  • Socket-uri de rețea, inclusiv socket-uri TCP în starea ESTABLISHED
  • Sistemul V IPC
  • Cronometre
  • Semnale
  • Terminale
  • Apeluri kernel către un anumit sistem: inotify, signalfd, eventfdyepoll

Între domeniile de aplicare a tehnologiei CRIU se observă că sistemul de operare repornește fără a întrerupe continuitatea proceselor migrare de lungă durată, live a containerelor izolate, accelerarea lansării proceselor lente (poate începe din starea salvată după inițializare), efectuarea de actualizări ale nucleului fără repornirea serviciilor, salvarea periodică a stării de lungă durată a sarcinilor pentru a relua lucrul în eventualitate a unui accident, echilibrarea încărcăturii între nodurile din clustere, procese duplicate pe o altă mașină (furcarea la un sistem de la distanță), crearea de instantanee ale aplicațiilor utilizator în timpul funcționării pentru analiză pe alt sistem sau în cazul în care trebuie să anulați mai multe acțiuni în program. CRIU este utilizat în sistemele de management al containerelor, cum ar fi OpenVZ, LXC/LXD și Docker.

Despre noua versiune a CRIU 3.15

În prezent, instrumentul este în versiunea 3.15, care a fost lansat recent și introduce serviciul criu-image-streamer, care permite transmiterea imaginilor de proces direct către/de la CRIU-uri în timpul operațiunilor de înghețare/restaurare.

  • Imaginile pot fi transferate din stocarea externă (S3, GCS, etc.) fără a fi stocate în tampon în sistemul de fișiere local.
  • S-a adăugat suport pentru arhitectura MIPS.
  • Permis să înghețe procesele care nu aparțin spațiului de nume PID existent, urmată de restaurare în spațiul de nume PID existent.
  • S-au adăugat mecanisme suplimentare pentru verificarea fișierelor.
  • S-a adăugat suport pentru înghețarea și restaurarea structurilor BPF BPF_HASH_OF_MAPS și BPF_ARRAY_OF_MAPS.
  • S-a adăugat suport inițial pentru a doua versiune a cgroup.

Cum se instalează CRIU pe Linux?

Pentru cei care sunt interesați să poată instala acest instrument, ar trebui să știe că este disponibil în canalele oficiale ale majorității distribuțiilor Linux.

Deci, pentru a instala instrumentul Doar deschideți un terminal și, cu ajutorul managerului de pachete, căutați instrumentul sau utilizați una dintre următoarele comenzi pe care le împărtășim.

Pentru cazul celor care sunt utilizatorii Debian, Ubuntu și derivate ale acestor două:

sudo apt install criu

În timp ce pentru cei care sunt utilizatori de Arch Linux și orice derivate ale acestuia:

sudo pacman -S criu

În cazul celor care sunt utilizatori ai opensuse:

sudo zypper install criu

În cele din urmă pentru cei care doresc să compileze instrumentul O poți face tastând:

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

Dacă doriți să aflați mai multe despre asta despre acest instrument, puteți verifica detaliile În următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.