Wydanie CRIU 4.1, systemu do zapisywania i przywracania stanu procesów w Linuxie

Po sześciu miesiącach prac opublikowano wersję 4.1 narzędzia CRIU (Checkpoint and Restore In Userspace), które służy do zapisywania i przywracania procesów w przestrzeni użytkownika. Narzędzie umożliwia zapis stanu jednego lub grupy procesów, a następnie wznowienie pracy z zapisaną pozycją, w tym po ponownym uruchomieniu systemu lub na innym serwerze, bez zerwania już nawiązanych połączeń sieciowych. Kod projektu napisano w języku C i jest udostępniany na licencji GPLv2. CRIU jest wykorzystywane w systemach zarządzania kontenerami, takich jak OpenVZ, LXC/LXD i Docker. Niezbędne zmiany do działania CRIU są już zawarte w głównym składzie jądra Linux.

Z obszarów zastosowania technologii CRIU można wymienić zapewnienie ponownego uruchomienia systemu operacyjnego bez zakłócania ciągłości wykonania długoterminowych procesów, migrację na żywo izolowanych kontenerów, przyspieszenie uruchamiania wolnych procesów (można rozpocząć pracę od stanu zapisanego po inicjalizacji), przeprowadzanie aktualizacji jądra bez restartu usług, okresowe zapisywanie stanu długoterminowych zadań obliczeniowych w celu wznowienia pracy w przypadku awaryjnego zakończenia, równoważenie obciążenia w węzłach klastrów, duplikowanie procesów na inny komputer (fork do zdalnego systemu), tworzenie zrzutów aplikacji użytkowych w trakcie pracy w celu ich analizy w innym systemie lub na wypadek, gdyby konieczne było anulowanie dalszych działań w programie.

W nowym wydaniu:

  • Dodano wsparcie dla architektury RISC-V.
  • Dodano wsparcie dla mechanizmu PIDFD, który umożliwia użycie niezmiennych identyfikatorów powiązanych z oryginalnymi procesami (zwykły PID może zostać przypisany innemu procesowi po zakończeniu bieżącego procesu, powiązanego z tym PID).
  • Dla platformy ARM64 wprowadzono wsparcie dla rozszerzeń do uwierzytelniania wskaźników (PAC Pointer Authentication Code), które zapewniają kontrolę adresów powrotu za pomocą podpisów cyfrowych, które są przechowywane w niespożytkowanych wyższych bitach samego wskaźnika.
  • Rozszerzono możliwości zapisywania i przywracania stanu aplikacji wykorzystujących technologię NVIDIA CUDA.
  • Dodano możliwość wyboru backendu blokowania sieci na etapie budowy, bez potrzeby edytowania kodu. Backend można zmienić, przekazując narzędziu make parametr NETWORK_LOCK_DEFAULT, który przyjmuje wartości „NETWORK_LOCK_IPTABLES”, „NETWORK_LOCK_NFTABLES” i „NETWORK_LOCK_SKIP”.
  • Włączono wsparcie dla generowania plików coredump dla architektur Aarch64 i ARM.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster