CRIU, система за запазване и възстановяване на състоянието на процесите в Linux

CRIU (Проверка и възстановяване в потребителско пространство) е инструмент, който ви позволява да запазите състоянието на един или група процеси и след това възобновете работата от запазената позиция, дори след рестартиране на системата или на друг сървър, без да прекъсвате вече установени мрежови връзки.

С този инструмент, възможно е да замразите работещо приложение (или част от него) и го поставете на постоянно съхранение като колекция от файлове. След това файловете могат да се използват за възстановяване и стартиране на приложението от мястото, където е било замразено.

Отличителната черта на проекта CRIU е това той е реализиран предимно в потребителско пространство, а не в ядрото.

Относно CRIU

Инструментът CRIU се разработва като част от проекта OpenVZ, с цел да замени контролната точка / възстановяване в ядрото.

Въпреки че основният му фокус е да поддържа миграцията на контейнери, позволявайки на потребителите да проверяват и възстановяват текущото състояние на работещите процеси и групи процеси.

В момента инструментът може да се използва на x86-64 и ARM системи y поддържа следните функции:

  • Процеси: тяхната йерархия, PID, потребителски и групови удостоверители (UID, GID, SID и др.), Системни възможности, нишки и работещи и спрени състояния
  • Памет на приложението: картографирани файлове с памет и споделена памет
  • Отваряне на файлове
  • Тръби и FIFO
  • Unix домейни сокети
  • Мрежови сокети, включително TCP сокети в УСТАНОВЕНО състояние
  • Система V IPC
  • Таймери
  • Сигнали
  • Терминали
  • Извиквания на ядрото към конкретната система: inotify, signalfd, eventfdyepoll

Между областите на приложение на CRIU технологията се забелязва, че операционната система се рестартира, без да прекъсва непрекъснатостта на процесите дълготрайна, изолирана миграция на контейнер на живо, ускоряване на стартирането на бавни процеси (може да започне от запазено състояние след инициализация), извършване на актуализации на ядрото без рестартиране на услуги, периодично запазване на продължително състояние на задачите, за да възобнови работата в случай на срив , баланс на натоварване в клъстерирани възли, дублиране на процеси на друга машина (клон към отдалечена система), създаване на моментни снимки на потребителски приложения по време на работа за анализ на друга система или в случай, че трябва да отмените повече действия в програмата. CRIU се използва в системи за управление на контейнери като OpenVZ, LXC / LXD и Docker.

Относно новата версия на CRIU 3.15

В момента инструментът е във версията си 3.15, който беше пуснат наскоро и въвежда услугата criu-image-streamer, която позволява предаването на процесни изображения директно от / към CRIU по време на операции по замразяване / възстановяване.

  • Изображенията могат да се прехвърлят от външно хранилище (S3, GCS и др.) Без буфериране в локалната файлова система.
  • Добавена е поддръжка за MIPS архитектура.
  • Разрешено е да се замразяват процеси, които не принадлежат към съществуващото пространство на имена на PID, последвано от възстановяване на съществуващото пространство на имена на PID.
  • Добавени са допълнителни механизми за проверка на файлове.
  • Добавена е поддръжка за замразяване и възстановяване на BPF структури BPF_HASH_OF_MAPS и BPF_ARRAY_OF_MAPS.
  • Добавена е първоначална поддръжка за втората версия на cgroup.

Как да инсталирам CRIU на Linux?

За тези, които се интересуват от възможността да инсталират този инструмент, те трябва да знаят, че той е достъпен в официалните канали на повечето дистрибуции на Linux.

Така че, за да инсталирате инструмента просто отворете терминал и с помощта на вашия мениджър на пакети потърсете инструмента или използвайте една от следните команди, които споделяме.

За случая с тези, които са Потребители на Debian, Ubuntu и производни на тези две:

sudo apt install criu

Докато за тези, които са потребители на Arch Linux и производни от него:

sudo pacman -S criu

В случая с тези, които са потребители на opensuse:

sudo zypper install criu

Накрая за тези, които искат да компилират инструмента те могат да го направят, като напишат:

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

Ако искате да научите повече за това за този инструмент, можете да проверите подробностите В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.