CRIU, et system for å lagre og gjenopprette tilstanden til prosesser i Linux

CRIU (Kontrollpunkt og gjenoppretting i brukerområdet) er et verktøy som lar deg lagre tilstanden til en eller en gruppe prosesser og fortsett deretter arbeidet fra den lagrede posisjonen, selv etter at du har startet systemet på nytt eller på en annen server uten å bryte allerede etablerte nettverkstilkoblinger.

Med dette verktøyet, det er mulig å fryse et kjørende program (eller deler av det) og legg den på vedvarende lagring som en samling av filer. Filene kan deretter brukes til å gjenopprette og kjøre applikasjonen der den ble frosset.

Det særegne trekket av CRIU-prosjektet er det den implementeres primært i brukerområdet, i stedet for i kjernen.

Om CRIU

CRIU-verktøyet utvikles som en del av OpenVZ-prosjektet, med målet om å overstyre kontrollpunktet / gjenopprettingen i kjernen.

Selv deres primære fokus er å støtte containermigrering, slik at brukerne kan bekrefte og gjenopprette gjeldende tilstand for kjørende prosesser og prosessgrupper.

Tiden, verktøyet kan brukes på x86-64 og ARM-systemer y støtter følgende funksjoner:

  • Prosesser: deres hierarki, PID-er, bruker- og gruppeautentisering (UID, GID, SID, etc.), systemfunksjoner, tråder og kjører og stoppede tilstander
  • Programminne: minnekartede filer og delt minne
  • Åpne filer
  • Rør og FIFOer
  • Unix domenekontakter
  • Nettverkskontakter, inkludert TCP-kontakter i ESTABLISHED-tilstand
  • System V IPC
  • Timere
  • Signaler
  • Terminaler
  • Kernel ringer til spesifikt system: inotify, signalfd, eventfdyepoll

Mellom bruksområder av CRIU-teknologi, observeres det at operativsystemet starter på nytt uten å forstyrre kontinuiteten i prosessene langvarige, isolerte containere live migrasjon, som fremskynder lanseringen av sakte prosesser (kan starte fra lagret tilstand etter initialisering), utføre kjerneoppdateringer uten å starte tjenester på nytt, periodisk lagre langvarig oppgavetilstand for å gjenoppta arbeidet i tilfelle et krasj , lastbalanse over klyngede noder, dupliser prosesser på en annen maskin (gren til eksternt system), lag øyeblikksbilder av brukerapplikasjoner under drift for analyse på et annet system, eller i tilfelle du må avbryte flere handlinger i programmet. CRIU brukes i containerhåndteringssystemer som OpenVZ, LXC / LXD og Docker.

Om den nye versjonen av CRIU 3.15

Foreløpig er verktøyet i versjon 3.15, som nylig ble lansert, og den introduserer criu-image-streamer-tjenesten, som muliggjør overføring av prosessbilder direkte fra / til CRIUer under fryse- / gjenopprettingsoperasjoner.

  • Bilder kan overføres fra ekstern lagring (S3, GCS, etc.) uten buffering på det lokale filsystemet.
  • Støtte for MIPS-arkitektur ble lagt til.
  • Tillatt å fryse prosesser som ikke tilhører det eksisterende PID-navnområdet, etterfulgt av gjenoppretting til det eksisterende PID-navnområdet.
  • Ytterligere mekanismer ble lagt til for å bekrefte filer.
  • Lagt til støtte for frysing og gjenoppretting av BPF BPF_HASH_OF_MAPS og BPF_ARRAY_OF_MAPS strukturer.
  • Lagt til første støtte for den andre versjonen av cgroup.

Hvordan installere CRIU på Linux?

For de som er interessert i å kunne installere dette verktøyet, bør de vite at det er tilgjengelig innenfor de offisielle kanalene for de fleste Linux-distribusjoner.

Så for å installere verktøyet bare åpne en terminal og se etter verktøyet eller bruk en av følgende kommandoer som vi deler med hjelp av pakkelederen din.

For saken om de som er Debian, Ubuntu-brukere og derivater av disse to:

sudo apt install criu

Mens for de som er brukere av Arch Linux og eventuelle derivater av den:

sudo pacman -S criu

Når det gjelder de som er brukere av åpningsbruk:

sudo zypper install criu

Endelig for de som ønsker å kompilere verktøyet de kan gjøre det ved å 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 vite mer om det om dette verktøyet, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.