Wydanie CRIU 4.0, systemu do zapisywania i przywracania stanu procesów w Linux

Opublikowano wersję narzędzia CRIU 4.0 (Checkpoint and Restore In Userspace), które służy do zapisywania i przywracania procesów w przestrzeni użytkownika. Narzędzie umożliwia zapisanie stanu jednego lub grupy procesów, a następnie wznowienie pracy z zapisanego miejsca, nawet po ponownym uruchomieniu systemu lub na innym serwerze bez przerywania już nawiązanych połączeń sieciowych. Kod projektu napisany jest w języku C i jest dystrybuowany na licencji GPLv2. CRIU jest stosowane w takich systemach zarządzania kontenerami, jak OpenVZ, LXC/LXD i Docker. Niektóre zmiany wymagane do działania CRIU są włączone w główną wersję jądra Linux.

W obszarach zastosowania technologii CRIU wymienia się zapewnienie ponownego uruchomienia systemu operacyjnego bez naruszania ciągłości wykonywania długoterminowych procesów, migrację na żywo izolowanych kontenerów, przyspieszenie uruchamiania wolno działających procesów (można rozpocząć pracę od stanu zapisanego po inicjalizacji), przeprowadzanie aktualizacji jądra bez ponownego uruchamiania usług, okresowe zapisywanie stanu długoterminowych zadań obliczeniowych w celu wznowienia pracy w przypadku awarii, równoważenie obciążenia w węzłach w klastrach, duplikowanie procesów na inny komputer (fork na zdalny system), tworzenie migawek aplikacji użytkowych w trakcie pracy do ich analizy na innym systemie lub na wypadek, gdyby zaszła potrzeba anulowania dalszych działań w programie.

W nowym wydaniu:

  • Dodano wtyczkę CUDA, która zapewnia możliwość zapisywania i przywracania stanu aplikacji opartych na technologii NVIDIA CUDA.
  • Dodano wsparcie dla mechanizmu Shadow Stack, wspieranego od jądra Linux 6.6, który umożliwia blokowanie działania wielu exploitów, wykorzystując możliwości sprzętowe procesorów Intel (po przeniesieniu kontroli do funkcji adresy zwrotu są zapisywane przez procesor nie tylko w zwykłym stosie, ale również w osobnym 'cieniowym' stosie, który nie może być modyfikowany bezpośrednio, a przed wyjściem z funkcji adres zwrotu jest wydobywany z cieniowego stosu i porównywany z adresem zwrotu ze zwykłego stosu).
  • Dodano wsparcie dla polecenia ioctl PAGEMAP_SCAN, umożliwiającego uzyskiwanie informacji o zawartości tabel stron pamięci, co między innymi w połączeniu z userfaultfd() pozwala na ustalanie faktów zapisu w określonym obszarze pamięci.
  • Wprowadzono możliwość przywracania wątku w poprawnej cgroup v1.

    Ź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