LINUX.ORG.RU

CRIU 3.11

 ,

CRIU 3.11

2

3

6 ноября вышла новая версия CRIU (Checkpoint and Restore In Userspace). Это проект по разработке инструментария для ОС, основанных на ядре Linux, который позволяет сохранить состояние процесса или группы процессов в файлы на диске и позднее восстановить его, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений.

Основные сценарии использования CRIU:

  • Живая миграция контейнеров между серверами.
  • Ускорение загрузки медленно стартующих сервисов.
  • Бесшовное обновление ядра.
  • Балансировка сетевой нагрузки.
  • Распределение нагрузки в кластере и сохранение его состояния.
  • Удалённая дупликация процессов.
  • Отладка зависшего приложения.

Основные изменения:

  • Добавлена поддержка конфигурационных файлов.
  • Добавлена поддержка внешних сетевых пространств имён.
  • Множество исправлений ошибок.

Полный список изменений: https://criu.org/Changelogs#v._3.11

>>> Github Проекта

>>> Подробности

★★★★★

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от actionless

:S еще раз, если приложение разрешает лишь один экземпляр себя - сигнал stop не катит, ибо из таблицы процессов он процесс не удалит .

DAGAZ
()
Ответ на: комментарий от crypt

Железо нормальное. Просто я выжимаю из него больше чем оно может.

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

+100500 Пока в новость не вчитался, подумал, что это очередной РекталОС в которой консолидированную многозадачность решили довести до ума(что нереально априори)

drfaust ★★★★★
()

«Версия 3.11» на логотипе и сам логотип очень-очень сильно напоминает windows 3.11. Даже шрифт такой же.

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

дык это я должен изнутри процесса на exec выходить ? как мне это сделать ? criu это делает из более высокого уровня, как я понимаю .

(** Вызов exec происходит таким образом, что переданная в качестве аргумента программа загружается в память вместо старой программы, которая вызывает exec. Старой программе больше не доступны сегменты памяти, которые перезаписаны новой программой. **)

DAGAZ
()

Живая миграция контейнеров между серверами.

Год назад пробовал делать живую миграцию LXD-контейнеров. CRIU не справилось даже с default-ным контейнером ubuntu-16.04, в котором из процессов были только systemd и dhclient.

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

Некоторый аналог этого функционала существует в Trinity.

https://i.imgur.com/jWcqPcR.png

По сути, это интерфейс к SIGSTOP/SIGCONT.
После SIGSTOP, по мере необходимости, остановленный процесс будет вытолкнут из памяти.

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

распарси слово профилирование . вот берём программу, запускаем, она начинает вести на винте какие-то свои заметки по рабочей сессии в каком-нибудь ~/.FBReader . на каком месте книжка открыта, что за книжка и всё такое . одна программа - одна папка конфига . профилирования нет .

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

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

а теперь рассматриваем вариант, когда нужно изменить вектор движения процесса, но свою работу он еще не выполнил .

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

что делать ? в сущности нечего делать - ждать завершения .

а мы, в сущности, ничего и не делаем - внезапно всё православно. но и не ждём . т.е. это не прерывание, нет, это не обёртка к SIGSTOP/SIGCONT. Я понимаю criu - как высокоуровневую х*йню, которая выводит процесс со всеми его потрохами за пределы жизни/смерти . road to awe .

Criu собирает всю инфу по активному процессу, юзая свои связи с kernel-mode пространством в том числе и всё это дело аккуратненько дампит в img-файлы - что собственно и есть прерывание, но на самом высоком уровне . Заморозка != SIGSTOP/SIGCONT .

in this way, я могу освободить от процесса все уровни с которым он работал и полноценно попилить его освобождёнными руками что-то иное . а заморозив и иное, я могу целостно переключаться между вот этими двумя рабочими пространствами процесса . ну, понимается да, что если группы процессов - то это уже миры .

возможно я чуть переобулся данным постом, да , но почитал поковырялся , расширил сознание и что говорится мир )

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

про случай работы с файлами я уже писал тебе выше — тут тебе criu не поможет, тебе нужен чрут/контейнеры тогда (или средствами самой программы выбрать путь для профиля)

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

actionless ★★★★★
()
Последнее исправление: actionless (всего исправлений: 1)
Ответ на: комментарий от crypt

linux-image-4.4.0-45-generic

На нем все работает, следующие версии начинают выводить какую-то дичь, у них уже вроде есть баг репорт на эту тему.

Deleted
()

Отмечусь в переписи утят, помнящих ушедшее) Хорошая была ОС, первая и последняя из нормальных шиндов.

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

Φοῖνιξ из славянской мифологии? Дай мне той же наркоты! Первое письменное упоминание мифа о Фениксе встречается у Геродота (V век до н.э). В V веке до н.э предки славян еще хвостами за ветки сосен цеплялись, блин.

anonymous
()
Ответ на: комментарий от bonta

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

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