Спустя четыре года после выпуска первой версии 7 марта разработчики проекта CRIU (Checkpoint and Restore In Userspace) представили (https://lists.openvz.org/pipermail/criu/2016-March/026045.html) новый релиз инструментария для сохранения и восстановления процессов в пространстве пользователя для Linux - CRIU 2.0 (http://criu.org/Download/criu/2.0). Разработанный в рамках проекта инструментарий позволяет организовать создание контрольных точек, с заморозкой состояния запущенных приложений, и последующего восстановления работы с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений.Представленная версия включает в себя множество функциональных исправлений, улучшений безопасности и новую функциональность. Полный список изменений доступен на странице сайте проекта (https://criu.org/Download/criu/2.0), посвященной новой версии CRIU. Наиболее существенные изменения в новой версии:
- Исходный код проекта подготовлен (https://lists.openvz.org/pipermail/criu/2015-December/024128...) для выделения компонентов libsockcr и compel (https://criu.org/Compel), о которых будет объявлено позднее;
- Поддержка (https://criu.org/User-mode) сохранения состояния процесса непривилегированным пользователем;
- В инструментарий CRIT (CRiu Image Tool) добавлены средства для просмотра дерева процессов (ps), используемых файлов (fds) и информации об маппинге в память (mems);- Добавлен скрипт "post-setup-namespaces";- Реализована возможность задания таймаута для процедуры сохранения дампа (по умолчанию 5 секунд);- Добавлена возможность переопределения профиля LSM при восстановлении с опциями CLI/RPC;- Монтирование в режиме "bind" теперь может применяться и для монтирования корня;- Расширена поддержка внешних файлов (https://criu.org/Inheriting_FDs_on_restore), добавлена поддержка внешних TTY (https://criu.org/Inheriting_FDs_on_restore#Example_4_-_Exter...);
- Поддержка C/R для новой функциональности в ядре Linux;
Учитывая предыдущий опыт разработки CRIU разработчики приняли решение изменить график выпуска новых версий и процесс разработки в проекте. После выпуска версии 2.0 в репозиторий добавили ветку devel (https://github.com/xemul/criu/tree/criu-dev), в которую будут попадать абсолютно все новые изменения. Основная ветка будет считаться стабильной и изменения в нее будут добавлять только при абсолютной уверенности, что эти изменения не вносят никаких деградаций в существующую функциональность. Новые версии будут появляться каждый месяц из стабильной ветки. Дата выхода будет анонсирована чуть позднее.
Также доступны два доклада о практическом применении инструментария CRIU:
- Доклад о плюсах и минусах "живой" миграции контейнеров (https://www.youtube.com/watch?v=M1FKW945bQA) c конференции DevConf.CZ
<center><iframe width="640" height="480" src="https://www.youtube.com/embed/M1FKW945bQA?rel=0" frameborder="0" allowfullscreen></iframe></center>
- Доклад об использовании CRIU для "живой" миграции контейнеров LXC (https://www.youtube.com/watch?v=ol85OJxDaHc) с конференции Linux.au
<center><iframe width="640" height="360" src="https://www.youtube.com/embed/ol85OJxDaHc?rel=0" frameborder="0" allowfullscreen></iframe></center>
URL: https://lists.openvz.org/pipermail/criu/2016-March/026045.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=44015