Выпуск CRIU 1.7, системы для сохранения и восстановления состояния процессов в Linux
Список изменений:
- Гибкое восстановление CGroup при восстановлении процессов;
- Поддержка строгого режима фильтров seccomp;
- Поддержка наследуемых Unix-сокетов;
- Поддержка UID/GID для точек монтирования;
- Возможность восстановить пространство имён точек монтирования с удаленным bind-mount;
- Снижено время сохранения состояния процессов за счёт использования freeze cgroup;
- Возможность указать размер для открытого и удаленного файла;
- Поддержка OverlayFS;
- Расширен список вызовов библиотеки libcriu;
- Исправления для большого количества проблем.
Следует отметить, что проект CRIU всё больше и больше привлекает внимание других открытых проектов и компаний:
- Разработчик Андрей Арканджели (Andrea Arcangeli) из компании RedHat добавил поддержку userfaultfd в ядре Linux. Это даст возможность выполнять "lazy memory" восстановление процессов (то есть процессы будут восстанавливаться без памяти, а память будет подгружаться по мере необходимости).
- Пакет CRIU был добавлен в недавно анонсированный выпуск Red Hat Enterprise Linux 7.2, который сейчас находится в статусе беты.
- Сотрудники RedHat нашли в CRIU две уязвимости.
- Усилиями разработчика Laurent Dufour из IBM код CRIU был портирован на платформу PowerPC 64 LE и налажен процесс регулярного тестирования этого порта.
- Поддержка сохранения и восстановления процессов для архитектур ARM и PowerPC была по умолчанию включена в ядре Fedora Linux. В Fedora 23 можно будет использовать CRIU в сборках под архитектуры ARM и PowerPC без перекомпиляции ядра.
Из областей применения технологии CRIU отмечается обеспечение перезагрузки ОС без нарушения непрерывности выполнения длительно выполняемых процессов, Live-миграция изолированных контейнеров, ускорение запуска медленных процессов (можно начать работу с состояния, сохранённого после инициализации), проведение обновлений ядра без перезапуска сервисов, периодическое сохранение состояния долговыполняемых вычислительных задач для возобновления работы в случае краха, балансировка нагрузки на узлы в кластерах, дублирование процессов на другую машину (fork на удалённую систему), создание снапшотов пользовательских приложений в процессе работы для их анализа на другой системе или на случай если потребуется отменить дальнейшие действия в программе. Из интересных применений CRIU можно отметить проект Tonic, в котором при написании каждой строки кода сохраняется состояние процесса и всегда можно вернуться к предыдущей версии. Разработчик проекта подробно рассказал в своей статье как это работает.
Разработчики выбрали цели для новой версии CRIU из своего списка задач и в следующем релизе планируют сфокусироваться на следующей функциональности:
- Поддержка безопасных контейнеров (расширение поддержки seccomp, userns, возможно будет поддержка SELinux, и расширение поддержки AppArmor)
- Устранение проблем с поддержкой CGroups
- Поддержка архитектуры i386
Источник: http://www.opennet.ru/opennews/art.shtml?num=42939
|
0 | Tweet | Нравится |
|