CRIU, et system til at gemme og gendanne processernes tilstand i Linux

CRIU (Kontrolpunkt og gendannelse i brugerområdet) er et værktøj, der giver dig mulighed for at gemme tilstanden for en eller en gruppe processer og genoptag derefter arbejdet fra den gemte position, selv efter genstart af systemet eller på en anden server uden at afbryde allerede etablerede netværksforbindelser.

Med dette værktøj det er muligt at fryse en kørende applikation (eller en del af det) og læg den på vedvarende lagring som en samling af filer. Filerne kan derefter bruges til at gendanne og køre applikationen, hvorfra den blev frosset.

Det karakteristiske træk af CRIU-projektet er det det implementeres primært i brugerrummet snarere end i kernen.

Om CRIU

CRIU-værktøjet udvikles som en del af OpenVZ-projektet, med det mål at udskifte kontrolpunktet / gendannelsen i kernen.

Skønt dets primære fokus er at understøtte migrering af containere, der giver brugerne mulighed for at kontrollere og gendanne den aktuelle tilstand af kørende processer og procesgrupper.

Currently, værktøjet kan bruges på x86-64 og ARM-systemer y understøtter følgende funktioner:

  • Processer: deres hierarki, PID'er, bruger- og gruppeautentificatorer (UID, GID, SID osv.), Systemfunktioner, tråde og kørende og stoppede tilstande
  • Programhukommelse: hukommelseskortede filer og delt hukommelse
  • Åbn filer
  • Rør og FIFO'er
  • Unix domænesokler
  • Netværksstik, herunder TCP-stik i tilstanden ESTABLISHED
  • System V IPC
  • Timere
  • Signaler
  • Terminaler
  • Kernel kalder på det specifikke system: inotify, signalfd, eventfdyepoll

Mellem anvendelsesområder af CRIU-teknologi observeres det operativsystemet genstarter uden at afbryde processernes kontinuitet langvarig, isoleret container-live-migration, der fremskynder lanceringen af ​​langsomme processer (kan starte fra gemt tilstand efter initialisering), udføre kerneopdateringer uden genstart af tjenester, periodisk gemme langvarig tilstand af opgaver for at genoptage arbejdet i tilfælde af et nedbrud , belastningsbalance på tværs af klyngede noder, duplikere processer på en anden maskine (filial til et eksternt system), oprette snapshots af brugerapplikationer under drift til analyse på et andet system, eller hvis du har brug for at annullere flere handlinger i programmet. CRIU bruges i containerhåndteringssystemer som OpenVZ, LXC / LXD og Docker.

Om den nye version af CRIU 3.15

I øjeblikket er værktøjet i sin version 3.15, som for nylig blev lanceret, og den introducerer criu-image-streamer-tjenesten, som muliggør transmission af procesbilleder direkte fra / til CRIU'er under fryse- / gendannelsesoperationer.

  • Billeder kan overføres fra eksternt lager (S3, GCS osv.) Uden buffering på det lokale filsystem.
  • Support til MIPS-arkitektur blev tilføjet.
  • Tilladt at fryse processer, der ikke hører til det eksisterende PID-navneområde, efterfulgt af gendannelse til det eksisterende PID-navneområde.
  • Yderligere mekanismer blev tilføjet for at bekræfte filer.
  • Tilføjet understøttelse til frysning og gendannelse af BPF-strukturer BPF_HASH_OF_MAPS og BPF_ARRAY_OF_MAPS.
  • Tilføjet initial support til den anden version af cgroup.

Hvordan installeres CRIU på Linux?

For dem, der er interesserede i at kunne installere dette værktøj, skal de vide, at det er tilgængeligt inden for de officielle kanaler for de fleste Linux-distributioner.

Så for at installere værktøjet skal du bare åbne en terminal og med hjælp fra din pakkehåndtering kigge efter værktøjet eller bruge en af ​​følgende kommandoer, som vi deler.

For tilfældet med dem, der er Debian-, Ubuntu-brugere og derivater af disse to:

sudo apt install criu

Mens for dem, der er brugere af Arch Linux og eventuelle derivater af det:

sudo pacman -S criu

For dem, der er brugere af åbningsbrug:

sudo zypper install criu

Endelig til dem, der ønsker at kompilere værktøjet de kan gøre det ved at skrive:

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

Hvis du vil vide mere om det om dette værktøj kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.