URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 86672
[ Назад ]

Исходное сообщение
"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."

Отправлено opennews , 28-Сен-12 12:57 
Доступен релиз проекта CRIU 0.2 (http://criu.org) и развиваемого им инструментария CRtools, предоставляющих для Linux средства для манипуляции snapshot-ами приложений в пространстве пользователя. Разработанный в рамках проекта инструментарий позволяет организовать создание контрольных точкек или заморозки состояния  для запущенных приложений и последующего восстановления работы с сохранённой позиции.

При помощи утилит CRtools можно не только замораживать процессы на одной системе, но и сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции на другой машине без разрыва уже установленных сетевых соединений. Также можно сохранить состояние процесса, перезапустить систему и восстановить работу приложения с момента остановки. Из других областей применения технологии CRIU можно отметить Live-миграцию изолированных контейнеров, ускорение запуска медленных процессов (можно начать работу с состояния, сохранённого после инициализации), проведение обновлений ядра без перезапуска сервисов, периодическое сохранение состояния долговыполняемых вычислительных задач для возобновления работы в случае краха. В будущем не исключается создание на базе CRIU решений для миграции активных десктоп-сеансов с одной машины на другую.

Важными особенностями CRIU являются поддержка любых состояний процессов и возможность работы на немодифицированной ОС, содержащей стандартное ядро Linux и системные библиотеки. Создаваемые ранее аналогичные проекты обладали ограниченной поддержкой состояний процессов, требовали модификации ядра или системных библиотек. CRIU базируется на технологиях, уже присутствующих в современных ядрах Linux, и позволяющих обеспечить заморозку групп процессов и сессий, состояния маппинга памяти, нитей, открытых файлов, именованных и неименованных каналов, сокетов, TCP-соединений (позволяет обеспечить миграцию процесса без разрыва соединения), IPC и т.п. Из популярных приложений, для которых протестирована корректная заморозка, можно выделить MySQL, Apache, GCC, make, tar, bz2, в процессе обеспечение поддержки для sendmail, git, java, ssh/sshd.


Версия 0.2 примечательна добавлением начальной поддержки  заморозки изолированных групп процессов (контейнеров), созданных с использованием инструментария LXC, манипулирующего  такими возможностями ядра Linux, как cgroups для контроля за ресурсами и пространства имён для выполнения отдельных изолированных групп идентификаторов ФС, IPC, процессов, сетевого стека. Кроме поддержки LXC в новой версии также добавлена поддержка  пакетных сокетов (RAW-сокеты семейства PF_PACKET (http://www.kernel.org/doc/man-pages/online/pages/man7/packet...)) и заморозки состояния TTY, что позволяет останавливать не только серверные, но и полноценные консольные приложения.  


В процессе обсуждения в списке разработчиков ядра Linux проект CRIU, а также инициативу продвижения в основное ядро Linux наработок компании Parallels,  поддержало (http://criu.org/History) несколько ведущих разработчиков, в том числе Линус Торвальд и Эндрю Мортон, которые способствовали принятию в ядро патчей с функциональностью, необходимой для работы CRIU. Например, недавно в ядро был добавлен созданный в рамках проекта CRIU интерфейс для получения информации о сокетах или экспорта из ядра подробной информации о разделяемой памяти процессов, а также  интерфейса для восстановления TCP-соединений c предварительно зафиксированной контрольной точки.  


Интересно, что необходимость поддержки заморозки процессов назрела уже давно и даже была предпринята попытка добавить подобную функциональность в ядро, оформив её в виде одной большой подсистемы. Но такой подход вызвал волну критики со стороны известных разработчиков ядра, так как подобная подсистема сильно разрушает внутреннюю целостность ядра. Проект CRIU снял напряжение в сообществе, так как стало понятно, что можно делать эти вещи и без разрушительного воздействия на ядро.


Интерес к использованию CRIU выразили компании IBM и Google, начавшие экспериментировать с инструментарием CRtools. Что касается дистрибутивов Linux, то Debian уже включил CRtools в свой будущий релиз, в Fedora рассматривается запрос на добавление пакета, так же есть надежда, что Red Hat, который анонсировал поддержку LXC в  RHEL7, включит инструментарий в свой дистрибутив.


На следующей неделе планируется опубликовать интервью с
Павлом Емельяновым, одним из самых активных российских разработчиков ядра Linux. С 2004 года Павел работает в компании Parallels над CRIU, OpenVZ и различными проектами, связанными с изолированными контейнерами и облачными системами. Для формирования вопросов для интервью требуется помощь сообщества - вопросы можно оставлять в виде комментариев к новости. Тематика вопросов не ограничена и может затрагивать как личную жизнь, так и технические аспекты OpenVZ и CRIU или инициативы Parallels по включению в стандартное ядро Linux всех элементов, необходимых для обеспечения полноценной контейнерной виртуализации.


URL: http://git.criu.org/?p=crtools.git;a=commit;h=v0.2
Новость: http://www.opennet.me/opennews/art.shtml?num=34958


Содержание

Сообщения в этом обсуждении
"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Григорий , 28-Сен-12 12:57 
Здорово!

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено myhand , 28-Сен-12 12:58 
> ... способствовали принятию в ядро патчей с функциональностью, необходимой для работы CRIU ...

Однако с ванильным ядром пока оно работает не полностью...

The v3.5 upstream kernel already has most of the required functionality merged. Some is still out-of-tree though, so you might need to clone the linux-cr.git, checkout the crtools-3.6-rc5 branch and compile the kernel. (с)


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Кашин Дмитрий , 28-Сен-12 13:00 
Хм...

Я правильно понимаю, что теперь я могу заморозить nginx с несколькими гигами кэша, перезагрузиться с новым ядром, разморозить его обратно и не получить лежащий от DoS-а сервер?

Если так, то это реально крутая вещь.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Алексей , 28-Сен-12 14:35 
да, если nginx запускать в контейнере (cgroups), то на время перезагрузки его лучше на другую машину перетащить (постепенно), а потом обратно. причем все это штатными средствами ядра (правда сам nginx хорошо написан, это редкость).

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено myhand , 29-Сен-12 11:53 
> да, если nginx запускать в контейнере (cgroups)

Да ну?  А на сайте сабжа написано, что для sshd - planned (sshd requires TCP listening sockets support).

Либо информация в вики устарела - либо вы наврали здесь.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 21:07 
В принципе ничему не противоречит. Хотя умнее заморозить -> поднять на другой машине -> заапдейтить старую -> передвинуть обратно. Так может получиться непрерывный сервис.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено 911 , 30-Сен-12 22:43 
>разморозить его обратно и не получить лежащий от DoS-а сервер?
>Если так, то это реально крутая вещь.

В любом случае, если он лежал до, ляжет и после. Причем очень быстро.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 13:29 
> Судя по Павлу первая девушка у него появилась лет этак в 35

Павел Емельянов, архитектор в департаменте серверной виртуализации Parallels.

В компании Parallels с 2004 года, начинал как разработчик в команде Linux kernel team, потом стал лидером этой команды. Идеолог проекта "живая миграция приложений в Linux". В середине 90-х и позднее — самый плодовитый генератор идей и кода в mainstream ядро Linux из России в целом и Parallels в частности. Завсегдатай тусовок (в том числе "только по приглашению") Linux community в режиме реального времени. Основной стратег в деле освоения Parallels облачных технологий. Выпускник МФТИ, к.ф.-м.н., отец троих детей.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено solardiz , 28-Сен-12 13:51 
Кир Колышкин и Павел Емельянов выступят с докладом как раз на тему CRIU на Yet another Conference в Москве (организатор - Yandex) 1-го октября:

http://events.yandex.ru/talks/334/

Сегодня (28-го сентября) до 18:00 последний день регистрации на YaC (бесплатно):

http://events.yandex.ru/events/yac/2012/


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Преподаватель информатики , 28-Сен-12 14:40 
Хм, это надо использовать в комнатах KDE (activities), а то LibreOffice офигивает от остановки комнаты.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 29-Сен-12 23:51 
Может, проще подлечить офигевших?

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено мимо_проходил , 28-Сен-12 15:00 
А что нибудь подобное, но во freebsd есть?

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 15:03 
Увы нет

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 21:09 
> А что нибудь подобное, но во freebsd есть?

Там вообще все с виртуализацией плохо. И контейнеры стали сильно отставать от пингвинов.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 17:31 
Вопрос на интервью для Павла:

1) Раньше был подобный по сути, но не реализации проект CryoPID - A Process Freezer for Linux.
Связаны ли как-то CRIU и CryoPID?

2) Насколько я понял из беглого взгляда на CRIU -этот проект начал использовать недавне появивщейся АПИ в ядре для "замораживания" статусов, которое вроде как сначала зародилось на будущее использование (на опеннете обсуждалось). Итого вопрос - насколько инфраструктура соответствующая в ядре готова насейчас для полноценного использования CRIU для любого процесса в системе и если не готова, то есть ли договоренности о ее расширении до нужного уровня и если есть - то когда (в каких релизах ванилы) это будет?


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Buy , 28-Сен-12 18:21 
Apple задавит патентами, точно помню у них подан иск на кого-то за реализацию возможности продолжить разговор без разрыва сессии перейдя с ноута или стационарного компа на айфон или айпад.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено ram_scan , 28-Сен-12 20:43 
Prior art был еще в 80-лохматые года, даже до победного шествия биллогейтсового масадоса. Таким образом тупоголовые защиты от копирования с программ сдирали.

Например на спекки (да святится имя его), году в 84-м или в 85-м был промышленно выпускаем хардварный девайс с именем Multiface, который позволял делать снапшоты аппликух, сохранять их на внешний сторадж, и пущать их потом с замороженого места на другой машине (собсно все страны СЭВ тогда на клонах этой машинки именно в снапшоты такие по большому счету и гамались). Позже появился beta-disc с точно такой-же но более криво работающей фичей.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 20:45 
В РФ и в Швейцарии запрещены патенты на софт. И тут совсем другое.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 21:12 
> Apple задавит патентами,

Эпплу ща для начала гугл навешает патентами так что они будут выпускать только прямоугольник. Скругленный. Гламурный. Но без начинки. Потому что все что касается сотовой связи - густо запатентовано моторолой :)


"Релиз CRIU 0.2, системы для заморозки и восстановления..."
Отправлено arisu , 29-Сен-12 01:06 
> Эпплу ща для начала гугл навешает патентами так что они будут выпускать
> только прямоугольник. Скругленный. Гламурный. Но без начинки.

ничего, фанаты огрызка купят. ещё и будут говорить, что так даже лучше — не надо думать о заряде батареи, о прошивках и прочей занудной ерунде.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Клим , 28-Сен-12 20:54 
виртуалбокс со снапшотоами уже не катит?

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Xaionaro , 28-Сен-12 21:01 
Ну-ну, виртуализируйте всё подряд...

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 21:11 
> виртуалбокс со снапшотоами уже не катит?

Ну вы сравнили, блин, грузовик с велосипедом.


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Xaionaro , 28-Сен-12 21:00 
Давно ждал эту вкусняшку :)

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 21:09 
А поддержка автоматизации переноса процесса в openvz/lxc контейнер не предвидится ? Чтобы заморозил процесс в системе, а потом разморозил в контейнере и главное, чтобы в этот контейнер перенеслись все нужные этому процессу компоненты.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 28-Сен-12 21:16 
Как быстро он сохраняет слепок процесса ? Есть ли смысл экспериментировать с заморозкой всех процессов, или suspend/resume всей системы будет слишком много времени занимать ? Интересно поковырять CRIU в сторону создания слепка для всей системы и восстановления на другой машине для обеспечения high availability или для переноса без остановки на более мощный сервер.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено AMD man , 29-Сен-12 00:59 
О прецедентах: Слепок (slepok) был ещё на EC ЭВМ и сохранял полное состояние работающей системы на ленту.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено www2 , 29-Сен-12 09:49 
Вся система и отдельный процесс - всё-таки несколько разные вещи.

"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено Аноним , 29-Сен-12 13:03 
> Интересно поковырять CRIU в сторону создания слепка для всей системы и восстановления на другой машине для обеспечения high availability или для переноса без остановки на более мощный сервер.

Для таких задач давно придумали виртуализацию.


"Релиз CRIU 0.2, системы для заморозки и восстановления..."
Отправлено arisu , 29-Сен-12 01:04 
у-у-у. я думал, можно на любое ведро водрузить. или хотя бы на любое третье ведро. или хотя бы на любое 3.3 ведро.

пичалька.


"Релиз CRIU 0.2, системы для заморозки и восстановления..."
Отправлено Аноним , 30-Сен-12 11:40 
к 3.6 обещали что везде будет

"Релиз CRIU 0.2, системы для заморозки и восстановления..."
Отправлено Аноним , 30-Сен-12 19:31 
3.6 выйдет завтра-послезавтра. Может, к 3.7?

"Релиз CRIU 0.2, системы для заморозки и восстановления..."
Отправлено arisu , 30-Сен-12 20:24 
> к 3.6 обещали что везде будет

что «3.6»? что «везде будет»? O_O


"Релиз CRIU 0.2, системы для заморозки и восстановления состо..."
Отправлено anonym , 01-Окт-12 15:14 
функционал восстановления/заморозки включили в 3,5, в 3,6 это будет реализовано полностью. Если интересуют не только контейнеры, то можно почитать на эту тему http://habrahabr.ru/post/152903/