CRIU, система для збереження та відновлення стану процесів у Linux

КРІ (Перевірка та відновлення в просторі користувачів) - це інструмент, що дозволяє зберегти стан одного або групи процесів а потім відновити роботу зі збереженої позиції, навіть після перезапуску системи або на іншому сервері, не порушуючи вже встановлених мережевих з'єднань.

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

Відмінна риса проекту 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

У випадку з тими, хто є користувачами відкрите використання:

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. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.