CRIU (Checkpoint in Restore v uporabniškem prostoru) je orodje, ki vam omogoča, da shranite stanje enega ali skupine procesov in nato nadaljujte z delom iz shranjenega položaja, tudi po ponovnem zagonu sistema ali na drugem strežniku, ne da bi prekinili že vzpostavljene omrežne povezave.
S tem orodjem je mogoče zamrzniti delujočo aplikacijo (ali del tega) in ga shranite v trajno shrambo kot zbirko datotek. Datoteke lahko nato uporabite za obnovitev in zagon aplikacije od tam, kjer je bila zamrznjena.
Posebnost projekta CRIU je to implementiran je predvsem v uporabniški prostor in ne v jedro.
O CRIU
Orodje CRIU se razvija v okviru projekta OpenVZ, s ciljem zamenjati kontrolno točko / obnovitev v jedru.
Čeprav njegov glavni poudarek je podpora selitvi zabojnikov, ki uporabnikom omogoča, da preverijo in obnovijo trenutno stanje izvajanih procesov in skupin procesov.
Trenutno orodje se lahko uporablja na sistemih x86-64 in ARM y podpira naslednje funkcije:
- Procesi: njihova hierarhija, PID-ji, overitelji uporabnikov in skupin (UID, GID, SID itd.), Sistemske zmogljivosti, niti ter stanja delovanja in zaustavitve
- Aplikacijski pomnilnik: preslikane datoteke s pomnilnikom in skupni pomnilnik
- Odprite datoteke
- Cevi in FIFO
- Unix domene vtičnice
- Omrežne vtičnice, vključno s TCP vtičnicami v VSTAVLJENEM stanju
- Sistem V IPC
- Števci
- Signali
- Terminali
- Klici jedra k določenemu sistemu: inotify, signalfd, eventfdyepoll
Med področji uporabe tehnologije CRIU je opaziti, da operacijski sistem se znova zažene, ne da bi motil kontinuiteto procesov dolgotrajni, izolirani vsebniki, migracija v živo, pospeševanje zagona počasnih procesov (lahko se začne iz shranjenega stanja po inicializaciji), izvajanje posodobitev jedra brez ponovnega zagona storitev, občasno shranjevanje dolgotrajnega stanja nalog za nadaljevanje dela v primeru zrušitve , naloži ravnovesje obremenitev v gručastih vozliščih, podvoji procese na drugem računalniku (podružnica na oddaljeni sistem), ustvari posnetke uporabniških aplikacij med delovanjem za analizo v drugem sistemu ali v primeru, da moraš preklicati več dejanj v programu. CRIU se uporablja v sistemih za upravljanje zabojnikov, kot so OpenVZ, LXC / LXD in Docker.
O novi različici CRIU 3.15
Trenutno je orodje v različici 3.15, ki je bil nedavno predstavljen in uvaja storitev criu-image-streamer, ki omogoča prenos procesnih slik neposredno iz / v CRIU med operacijami zamrznitve / obnovitve.
- Slike je mogoče prenesti iz zunanjega pomnilnika (S3, GCS itd.) Brez medpomnjenja v lokalnem datotečnem sistemu.
- Dodana je bila podpora za arhitekturo MIPS.
- Dovoljeno zamrznitev procesov, ki ne spadajo v obstoječi imenski prostor PID, čemur sledi obnovitev v obstoječi imenski prostor PID.
- Dodani so bili dodatni mehanizmi za preverjanje datotek.
- Dodana podpora za zamrznitev in obnovo struktur BPF BPF_HASH_OF_MAPS in BPF_ARRAY_OF_MAPS.
- Dodana začetna podpora za drugo različico cgroup.
Kako namestiti CRIU na Linux?
Tisti, ki jih zanima namestitev tega orodja, bi morali vedeti, da je na voljo v uradnih kanalih večine distribucij Linuxa.
Torej, da namestite orodje preprosto odprite terminal in s pomočjo upravitelja paketov poiščite orodje ali uporabite enega od naslednjih ukazov, ki jih delimo.
Za primer tistih, ki so Uporabniki Debiana, Ubuntuja in izpeljanke teh dveh:
sudo apt install criu
Medtem ko je za tiste, ki so uporabniki Arch Linux in njegovi izpeljanki:
sudo pacman -S criu
V primeru tistih, ki so uporabniki opensuse:
sudo zypper install criu
Končno za tiste, ki želijo sestaviti orodje to lahko storijo s tipkanjem:
git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all
Če želite vedeti več o tem o tem orodju lahko preverite podrobnosti V naslednji povezavi.