CRIU (Kontrolní bod a obnovení v uživatelském prostoru) je nástroj, který umožňuje uložit stav jednoho nebo skupiny procesů a poté pokračovat v práci z uložené pozice, a to i po restartování systému nebo na jiném serveru bez přerušení již navázaných síťových připojení.
S tímto nástrojem je možné zastavit spuštěnou aplikaci (nebo jeho část) a dát ji na trvalé úložiště jako sbírku souborů. Soubory lze poté použít k obnovení a spuštění aplikace z místa, kde byla zmrazena.
Charakteristický rys projektu CRIU je to je implementován primárně v uživatelském prostoru, nikoli v jádře.
O společnosti CRIU
Nástroj CRIU je vyvíjen v rámci projektu OpenVZ, s cílem přepsat kontrolní bod / obnovení v jádře.
Ačkoli jeho primárním zaměřením je podpora migrace kontejnerůumožňující uživatelům ověřit a obnovit aktuální stav spuštěných procesů a skupin procesů.
V současné době, nástroj lze použít na systémech x86-64 a ARM y podporuje následující funkce:
- Procesy: jejich hierarchie, PID, autentizátory uživatelů a skupin (UID, GID, SID atd.), Možnosti systému, vlákna a spuštěné a zastavené stavy
- Paměť aplikace: soubory mapované do paměti a sdílená paměť
- Otevřít soubory
- Trubky a FIFO
- Sokety unixových domén
- Síťové sokety, včetně soketů TCP ve stavu ESTABLISHED
- Systém V IPC
- Časovače
- Signály
- Terminály
- Volání jádra do konkrétního systému: inotify, signalfd, eventfdyepoll
Mezi aplikačními oblastmi technologie CRIU, bylo zjištěno, že operační systém se restartuje bez přerušení kontinuity procesů dlouhodobá, izolovaná migrace živých kontejnerů, zrychlení spouštění pomalých procesů (lze spustit z uloženého stavu po inicializaci), provádění aktualizací jádra bez restartování služeb, periodické ukládání dlouhodobého stavu úkolů pro obnovení práce v případě selhání , rozložení zátěže napříč klastrovanými uzly, duplikování procesů na jiném počítači (pobočka na vzdálený systém), vytváření snímků uživatelských aplikací během provozu pro analýzu v jiném systému nebo pro případ, že potřebujete zrušit více akcí v programu. CRIU se používá v systémech správy kontejnerů, jako je OpenVZ, LXC / LXD a Docker.
O nové verzi CRIU 3.15
Aktuálně je nástroj ve verzi 3.15, který byl nedávno spuštěn a zavádí službu criu-image-streamer, která umožňuje přenos obrazů procesu přímo z / do CRIU během operací zmrazení / obnovení.
- Snímky lze přenášet z externího úložiště (S3, GCS atd.) Bez ukládání do mezipaměti v místním systému souborů.
- Byla přidána podpora pro architekturu MIPS.
- Povoleno zmrazit procesy, které nepatří do existujícího oboru názvů PID, následované obnovením do stávajícího oboru názvů PID.
- Byly přidány další mechanismy k ověření souborů.
- Přidána podpora pro zmrazení a obnovení struktur BPF BPF_HASH_OF_MAPS a BPF_ARRAY_OF_MAPS.
- Přidána počáteční podpora pro druhou verzi cgroup.
Jak nainstalovat CRIU na Linux?
Pro zájemce o možnost instalace tohoto nástroje by měli vědět, že je k dispozici v oficiálních kanálech většiny distribucí Linuxu.
Takže za účelem instalace nástroje jednoduše otevřete terminál a pomocí správce balíčků vyhledejte nástroj nebo použijte jeden z následujících příkazů, které sdílíme.
Pro případ těch, kteří jsou Uživatelé Debianu, Ubuntu a deriváty těchto dvou:
sudo apt install criu
Zatímco pro ty, kteří jsou uživateli Arch Linux a jeho deriváty:
sudo pacman -S criu
V případě těch, kteří jsou uživateli opensuse:
sudo zypper install criu
Konečně pro ty, kteří chtějí nástroj sestavit mohou to udělat zadáním:
git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all
Pokud se o tom chcete dozvědět více o tomto nástroji můžete zkontrolovat podrobnosti Na následujícím odkazu.