Po šiestich mesiacoch vývoja bolo zverejnené vydanie nástrojov CRIU 4.1 (Checkpoint and Restore In Userspace), určené na uchovávanie a obnovovanie procesov v užívateľskom priestore. Nástroj umožňuje uložiť stav jedného alebo skupiny procesov a následne obnoviť prácu z uloženého miesta, vrátane prípadu reštartu systému alebo na inom serveri bez prerušenia už nadviazaných sieťových pripojení. Kód projektu je napísaný v C a je sprístupnený pod licenciou GPLv2. CRIU sa používa v takých systémových správach kontajnerov, ako sú OpenVZ, LXC/LXD a Docker. Potrebné zmeny na fungovanie CRIU sú zahrnuté v základnom jadre Linuxu.
Medzi oblasti využitia technológie CRIU patrí zabezpečenie reštartovania operačného systému bez narušenia kontinuity dlhodobo bežiacich procesov, live migrácia izolovaných kontajnerov, urýchlenie spúšťania pomalých procesov (je možné začať prácu zo stavu, ktorý bol zachovaný po inicializácii), vykonávanie aktualizácií jadra bez reštartu služieb, pravidelné ukladať stav dlhodobo bežiacich výpočtových úloh na obnovenie práce v prípade havarijného ukončenia, vyvažovanie zaťaženia na uzloch v klastroch, duplikovanie procesov na iný stroj (fork na vzdialený systém), tvorba snapshotov užívateľských aplikácií v priebehu práce na ich analýzu na inom systéme alebo v prípade, že bude potrebné zrušiť ďalšie kroky v programe.
V novom vydaní:
- Pridaná podpora architektúry RISC-V.
- Pridaná podpora mechanizmu PIDFD, ktorý umožňuje používať nemenné identifikátory viazané na pôvodné procesy (bežný PID môže byť priradený inému procesu po ukončení aktuálneho procesu, ktorý je s týmto PID spojený).
- Pre platformu ARM64 bola implementovaná podpora rozšírení pre autentifikáciu ukazovateľov (PAC Pointer Authentication Code), ktorá zabezpečuje overenie adries návratu pomocou digitálnych podpisov, ktoré sú uložené v nevyužitých horných bitoch samotného ukazovateľa.
- Rozšírené možnosti uchovávania a obnovovania stavu aplikácií využívajúcich technológiu NVIDIA CUDA.
- Poskytla sa možnosť výberu backendu blokovania siete v priebehu zostavovania, bez potreby úpravy kódu. Backend môže byť zmenený prostredníctvom odovzdania parametra NETWORK_LOCK_DEFAULT nástroju make, ktorý prijíma hodnoty „NETWORK_LOCK_IPTABLES“, „NETWORK_LOCK_NFTABLES“ a „NETWORK_LOCK_SKIP“.
- Zahrnutá podpora generovania coredump súborov pre architektúry Aarch64 a ARM.
Zdroj: opennet.ru
