Команда разработчиков OpenVZ объявила о выходе первой версии утилиты CRtools, предназначенной для обеспечения работы в Linux функции по созданию контрольных точек для работающих приложений и последующего восстановления работы с сохранённой позиции. Например, можно заморозить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции на другой машине или после перезагрузки текущей системы. Из областей применения также отмечается Live-миграция изолированных контейнеров, ускорение старта медленных процессов, проведение обновлений ядра без перезапуска сервисов, периодическое сохранение состояния долговыполняемых вычислительных задач для возобновления работы в случае краха системы, миграция активных десктоп-сеансов с одной машины на другую.

Реализованная система заморозки процессов примечательна тем, что основной код для обеспечения работы данной функциональности реализован не на уровне ядра Linux, а в пространстве пользователя. Работа контрольных точек создаётся непосредственно представленной утилитой, при задействовании минимального числа специфичных функций, работающих на уровне ядра. Разработка выполнена в рамках проекта CRIU (Checkpoint/Restore In Userspace), за год существования которого добавлена возможность обрабатывать почти все приложения, и в ядре 3.5 уже есть 90% необходимых для этого возможностей.

В настоящее время в CRtools присутствует поддержка заморозки групп процессов и сессий, состояния маппинга памяти, нитей, открытых файлов, именованных и неименованных каналов, сокетов (в том числе TCP, что позволяет обеспечить миграцию процесса без разрыва сетевого соединения), IPC и т.п. Из архитектур пока поддерживается только x86_64. В ближайшее время ожидается поддержка контейнеров (в том числе и LXC).

Источник: http://www.opennet.ru/opennews/art.shtml?num=34408