LINUX.ORG.RU
ФорумTalks

Phantom OS? Не, не слышал.

 ,


1

0

Доступен релиз проекта CRIU 0.2 и развиваемого им инструментария 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) и заморозки состояния TTY, что позволяет останавливать не только серверные, но и полноценные консольные приложения.

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

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

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

http://www.opennet.ru/opennews/art.shtml?num=34958

А если для работы процесса требуются какие-то файлы, оно их тоже запихает в образ?

Artificial_Thought ★★★★ ()

Вот это интересно. Ждём поддержку в современных DE.

AITap ★★★★★ ()

Йэх! Это ж какой вирус можно написать! Аж с целой операционкой внутри и с фотошопами там разными!

abraziv_whiskey ★★★★★ ()

я, конечно не все понимат в линуске, но как можно сохранить сетевые соединения?

Andersen ★★ ()
Ответ на: комментарий от Kindly_Cat

Значит, что во время заморозки были задействованы некие файловые дескрипторы.

buddhist ★★★★★ ()
Ответ на: комментарий от Kindly_Cat

Перенесли после заморозки на другую систему, а там эти дескрипторы в никуда кажут. Что будет с программой?

Artificial_Thought ★★★★ ()

Phantom OS

линэкс переписали на джава?? ох щи..

wxw ★★★★★ ()
Ответ на: комментарий от wxw

грешные жависты после смерти попадают назад в мир живых писать на жаве

stevejobs ★★★☆☆ ()
Ответ на: комментарий от Artificial_Thought

следующий fread вернет чиселку, отличную от количества аргументов которые попросили считать, наверное

stevejobs ★★★☆☆ ()

По фактам расплывчато, но интересно. Надо потестировать, возможно, что все клево. Меня интересует вопрос клонирования процессов.

gh0stwizard ★★★★★ ()

Phantom OS? Не, не слышал.

Как не слышал? Уже сотню раз здесь обсуждали.

mopsene ★★★ ()

1. Запускаем rm -rf / 2. Замораживаем 3. Размораживаем у недруга 4. ... 5. PROFIT!

false ★★★★★ ()
Ответ на: комментарий от stevejobs

грешные жависты после смерти попадают назад в мир живых писать на жаве

Вот, значит, почему они множатся в геометрической прогрессии.

Sadler ★★★ ()
Ответ на: комментарий от false

1. Запускаем rm -rf / 2. Замораживаем 3. Размораживаем у недруга 4. ... 5. PROFIT!

А вдруг оно юзает нечто вроде sandbox'а ФС так, что файлы удалятся только для софтины? =)

Sadler ★★★ ()
Ответ на: комментарий от Andersen

я, конечно не все понимат в линуске, но как можно сохранить сетевые соединения?

см. openstack virtual switch.

как и все остальное. виртуализируется свич и поток переключается на другую ноду.

AVL2 ★★★★★ ()
Ответ на: комментарий от false

вместо однострочников на перле будут выкладывать exe-файлы с замороженными процессами? «разморозь это от рута, детка!»

stevejobs ★★★☆☆ ()
Ответ на: комментарий от Sadler

А вдруг оно юзает нечто вроде sandbox'а ФС так, что файлы удалятся только для софтины? =)

lxc как бы намекает, что это для контейнеров.

AVL2 ★★★★★ ()
Ответ на: комментарий от abraziv_whiskey

Йэх! Это ж какой вирус можно написать! Аж с целой операционкой внутри и с фотошопами там разными!

так Рутковская и написала свой Qubes OS. а вирус ее назывался Blue Pill как ни странно.

havelite ()

хотеть. доставьте мне это в порты OpenBSD.

havelite ()

миграции активных десктоп-сеансов с одной машины на другую.

От такой свистелки всякие «синхронизации вкладок» будут нервно рыдать. Т.к. восстановить полное состояние DE на другой машине - это будет действительно круто.

Kuzz ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.