CRIU, system do zapisywania i przywracania stanu procesów w Linuksie

CRIU (Punkt kontrolny i przywracanie w przestrzeni użytkownika) to narzędzie pozwalające na zapisanie stanu jednego lub kilku procesów a następnie wznowić pracę z zapisanej pozycji, nawet po zrestartowaniu systemu lub na innym serwerze bez przerywania już nawiązanych połączeń sieciowych.

Za pomocą tego narzędzia możliwe jest zamrożenie uruchomionej aplikacji (lub jego część) i umieść go w trwałym magazynie jako zbiór plików. Pliki można następnie wykorzystać do przywrócenia i uruchomienia aplikacji z miejsca, w którym została zamrożona.

Charakterystyczna cecha projektu CRIU jest to jest zaimplementowany głównie w przestrzeni użytkownika, a nie w jądrze.

O CRIU

Narzędzie CRIU powstaje w ramach projektu OpenVZ, w celu zastąpienia punktu kontrolnego / przywracania w jądrze.

Chociaż jego głównym celem jest wspieranie migracji kontenerów, umożliwiając użytkownikom weryfikację i przywracanie aktualnego stanu uruchomionych procesów i grup procesów.

Obecnie narzędzie może być używane w systemach x86-64 i ARM y obsługuje następujące funkcje:

  • Procesy: ich hierarchia, identyfikatory PID, identyfikatory użytkowników i grup (UID, GID, SID itp.), Możliwości systemu, wątki oraz stany uruchomione i zatrzymane
  • Pamięć aplikacji: pliki mapowane w pamięci i pamięć współdzielona
  • Otwórz pliki
  • Rury i FIFO
  • Gniazda domeny Unix
  • Gniazda sieciowe, w tym gniazda TCP w stanie ESTABLISHED
  • IPC Systemu V
  • Timers
  • Sygnały
  • Terminale
  • Kernel wywołuje określony system: inotify, signalfd, eventfdyepoll

Pomiędzy obszarami zastosowań technologii CRIU, zaobserwowano, że system operacyjny uruchamia się ponownie bez przerywania ciągłości procesów długotrwałe, izolowane kontenery migracja na żywo, przyspieszenie uruchamiania powolnych procesów (można rozpocząć od zapisanego stanu po inicjalizacji), wykonywanie aktualizacji jądra bez restartowania usług, okresowe zapisywanie długotrwałego stanu zadań, aby wznowić pracę w przypadku awarii , równoważenie obciążenia między węzłami w klastrze, duplikowanie procesów na innym komputerze (rozgałęzienie do systemu zdalnego), tworzenie migawek aplikacji użytkownika podczas pracy w celu analizy w innym systemie lub w przypadku konieczności anulowania większej liczby działań w programie. CRIU jest używany w systemach zarządzania kontenerami, takich jak OpenVZ, LXC / LXD i Docker.

O nowej wersji CRIU 3.15

Obecnie narzędzie jest w wersji 3.15, który został niedawno uruchomiony i wprowadza usługę criu-image-streamer, która umożliwia przesyłanie obrazów procesu bezpośrednio z / do CRIU podczas operacji zamrażania / przywracania.

  • Obrazy można przesyłać z pamięci zewnętrznej (S3, GCS itp.) Bez buforowania w lokalnym systemie plików.
  • Dodano obsługę architektury MIPS.
  • Zezwala się na zamrażanie procesów nienależących do istniejącej przestrzeni nazw PID, a następnie przywracanie do istniejącej przestrzeni nazw PID.
  • Dodano dodatkowe mechanizmy weryfikacji plików.
  • Dodano obsługę zamrażania i przywracania struktur BPF BPF_HASH_OF_MAPS i BPF_ARRAY_OF_MAPS.
  • Dodano wstępne wsparcie dla drugiej wersji cgroup.

Jak zainstalować CRIU w systemie Linux?

Ci, którzy chcą zainstalować to narzędzie, powinni wiedzieć, że jest ono dostępne w oficjalnych kanałach większości dystrybucji Linuksa.

Aby więc zainstalować narzędzie po prostu otwórz terminal i przy pomocy swojego menedżera pakietów poszukaj narzędzia lub użyj jednego z poniższych poleceń, które udostępniamy.

W przypadku tych, którzy są Debian, użytkownicy Ubuntu i ich pochodne:

sudo apt install criu

Natomiast dla tych, którzy są użytkownikami Arch Linux i wszelkie jego pochodne:

sudo pacman -S criu

W przypadku tych, którzy są użytkownikami openuse:

sudo zypper install criu

W końcu dla tych, którzy chcą skompilować narzędzie mogą to zrobić wpisując:

git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all

Jeśli chcesz dowiedzieć się więcej na ten temat o tym narzędziu, możesz sprawdzić szczegóły W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.