Выпуск CRIU 3.18, системы для сохранения и восстановления состояния процессов в Linux

Опубликован выпуск инструментария CRIU 3.18 (Checkpoint and Restore In Userspace), предназначенного для сохранения и восстановления процессов в пространстве пользователя. Инструментарий позволяет сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений. Код проекта распространяется под лицензией GPLv2.

Из областей применения технологии CRIU отмечается обеспечение перезагрузки ОС без нарушения непрерывности выполнения длительно выполняемых процессов, Live-миграция изолированных контейнеров, ускорение запуска медленных процессов (можно начать работу с состояния, сохранённого после инициализации), проведение обновлений ядра без перезапуска сервисов, периодическое сохранение состояния долговыполняемых вычислительных задач для возобновления работы в случае краха, балансировка нагрузки на узлы в кластерах, дублирование процессов на другую машину (fork на удалённую систему), создание снапшотов пользовательских приложений в процессе работы для их анализа на другой системе или на случай если потребуется отменить дальнейшие действия в программе. CRIU применяется в таких системах управления контейнерами, как OpenVZ, LXC/LXD и Docker. Необходимые для работы CRIU изменения включены в основной состав ядра Linux.

В новом выпуске:

  • Предоставлена возможность использования CRIU без прав root.
  • Добавлена поддержка сигнала SIGTSTP (интерактивный сигнал приостановки выполнения, который в отличие от SIGSTOP может быть обработан и проигнорирован).
  • Добавлен параметр «—skip-file-rwx-check» для пропуска проверки прав доступа к файлу (r/w/x) при восстановлении.
  • Добавлена поддержка опций IP_PKTINFO и IPV6_RECVPKTINFO.
  • Для платформ ARM реализована поддержка аппаратных точек останова.
  • Добавлена оптимизация точек сохранения для сильно разреженных ghost-файлов (—ghost-fiemap).

Источник: opennet.ru