Opublikowana została wersja narzędzia CRIU 3.16 (Checkpoint and Restore In Userspace), zaprojektowanego do zachowywania i przywracania procesów w przestrzeni użytkownika. Narzędzie pozwala na zapisanie stanu jednego lub grupy procesów, a następnie wznowienie pracy z zapisanego miejsca, w tym po ponownym uruchomieniu systemu lub na innym serwerze bez przerywania już nawiązanych połączeń sieciowych. Kod projektu jest dostępny na licencji GPLv2.
W obszarach zastosowań technologii CRIU wymienia się zapewnienie ponownego uruchomienia systemu operacyjnego bez zakłócania ciągłości wykonywania procesów długoterminowych, migrację na żywo izolowanych kontenerów, przyspieszenie uruchamiania wolno działających procesów (można rozpocząć pracę z stanu zapisanego po inicjalizacji), przeprowadzanie aktualizacji jądra bez ponownego uruchamiania usług, okresowe zapisywanie stanu obliczeń długoterminowych dla wznowienia pracy w przypadku awarii, równoważenie obciążenia w węzłach klastrów, duplikowanie procesów na inną maszynę (fork na zdalny system), tworzenie migawki aplikacji użytkowych w trakcie pracy w celu ich analizy na innym systemie lub w razie potrzeby anulowania dalszych działań w programie. CRIU jest stosowany w takich systemach zarządzania kontenerami jak OpenVZ, LXC/LXD i Docker. Konieczne do działania CRIU zmiany są zawarte w głównym składzie jądra Linux.
W nowym wydaniu:
- Dodano polecenie criu-ns, które pozwala na przywrócenie zapisanej kopii procesu z nowym identyfikatorem PID oraz w osobnej przestrzeni nazw punktów montowania (mount namespace). Uruchomienie z innym PID może być wymagane, na przykład w przypadku, gdy stary PID jest już używany w systemie.
- Zrealizowano możliwość zapisywania i przywracania kopii stanu zagnieżdżonych profili apparmor.
- Wprowadzono blokadę i odblokowanie zasobów sieciowych opartych na nftables.
- Dodano wsparcie dla przywracania wcześniej utworzonych urządzeń veth.
- Ulepszono wsparcie dla przywracania kontenerów do istniejących pod-ów.
- Dla klientów RPC dodano możliwość wielokrotnego użycia PID, zrealizowaną przy pomocy mechanizmu pidfd.
- Licencja dla wszystkich plików proto w katalogu images/ została zmieniona na MIT.
Źródło: opennet.ru
