The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск CRIU 4.0, системы для сохранения и восстановления состояния процессов в Linux

22.09.2024 12:25

Опубликован выпуск инструментария CRIU 4.0 (Checkpoint and Restore In Userspace), предназначенного для сохранения и восстановления процессов в пространстве пользователя. Инструментарий позволяет сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений. Код проекта написан на языке Си и распространяется под лицензией GPLv2. CRIU применяется в таких системах управления контейнерами, как OpenVZ, LXC/LXD и Docker. Необходимые для работы CRIU изменения включены в основной состав ядра Linux.

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

В новом выпуске:

  • Добавлен плагин CUDA, обеспечивающий возможность сохранения и восстановление состояния приложений на базе технологии NVIDIA CUDA.
  • Добавлена поддержка механизма Shadow Stack, поддерживаемого начиная с ядра Linux 6.6 и позволяющего блокировать работу многих эксплоитов, используя аппаратные возможности процессоров Intel (после передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном "теневом" стеке, который не может быть изменён напрямую, а перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека).
  • Добавлена поддержка ioctl-команды PAGEMAP_SCAN для получения информации о содержимом таблиц страниц памяти, что среди прочего при использовании с userfaultfd() позволяет определять факты записи в определённую область памяти.
  • Реализована возможность восстановления потока в корректной cgroup v1.

  1. Главная ссылка к новости (https://github.com/checkpoint-...)
  2. OpenNews: Выпуск CRIU 3.19, системы для сохранения и восстановления состояния процессов в Linux
  3. OpenNews: CRIU, путь от вызывающей непонимание разработки до интеграции в Red Hat Enterprise Linux
  4. OpenNews: Выпуск системы управления контейнерами LXC 1.1, со встроенной поддержкой CRIU
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/61910-criu
Ключевые слова: criu
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (56) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:34, 22/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Скажите пожалуйста, а почему с помощью этой замечательной технологии не реализовали режим suspend to disk в Linux, не требующий танцев с бубном вокруг ядра?
     
     
  • 2.2, Аноним (2), 12:38, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Эта замечательная технология делает весьма танцевальные вещи в ядре, а также имеет определённые сложности с восстановлением графических приложений.
     
  • 2.5, Аноним (5), 13:36, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Работай из виртуалки или гипервизора и суспендь себя хоть в несколько разных файлов.
     
  • 2.9, Карлос Сношайтилис (ok), 14:59, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    S2D подразумевает полное восстановление системы, а не загрузку и последующее восстановление отдельных процессов, что будет дольше и глючнее.
     
  • 2.18, пппппп (?), 19:03, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что он CR**IU**. In Userspace, то есть. А suspend to disk требует еще и сохранить состояние ядра, что требует этих самых "танцев с бубном".
     
  • 2.21, Аноним (21), 21:55, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > suspend to disk

    а в чем проблема? успешно использую на стационарнике лет так 10, проблем не вижу. сейчас аптайм 79 дней, включаю компик только вечерами...

     

  • 1.3, Аноним (3), 13:07, 22/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Так скоро "Рабочие папки" из полуоси реализуют, непрошло и пол века... а только тридцать лет :)
     
     
  • 2.7, Аноним (7), 13:37, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >"Рабочие папки" из полуоси

    подробности?
    Пользовался os/2, но как то не отложилось никаких релевантно-специфических сведений...

     
  • 2.17, Аноним (17), 16:23, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Про что речь? Что это за папки, какое имеет отношение к сохранению состояния процессов?
     

  • 1.4, nume (ok), 13:29, 22/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Кто-то пробовал/тестировал?
     
     
  • 2.13, Аноним (2), 16:01, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Говорят, могут быть проблемы после некоторого числа восстановлений. Не сталкивался.
     
  • 2.19, anguest (?), 19:12, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Использовал в proxmox для миграции между нодами работающией виртуалки. Очень годная шуткаю. Виртуалка без перезапуска начинает работать на другой ноде, теряется всего один пинг и никто не замечает что произошла миграция
     
     
  • 3.25, r2d0 (?), 23:32, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вот только в proxmox виртуалки работают на qemu и используют её же для live миграции. А собственно сабж туда так и не завезли, так что lxc контейнеры, котоые там есть, мигрировать можно только выключенными.
     
     
  • 4.50, Аноним (50), 10:46, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    а кстати почему всё ещё не?
    раньше писали что контейнеры только специально сформированные работают так.
    на busybox и так далее
    не изменилось?
     
  • 4.65, Аноним (65), 12:56, 24/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    lxc-checkpoint, не?

    если не завезли, можно дозавести, оно же по сути debian

     
  • 2.53, oditynet (?), 16:02, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Уж пару лет как мигиррую вируалки, а вы только тестировать хотите
     

  • 1.11, Аноним (11), 15:56, 22/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Звучит круто. Можно, например, целыми днями жать большой файл со старымы бэкапами при высокой степени сжатия, а если произойдет потеря питания быстренько сохраниться и продолжить при восставлении подачи электроэнергии.
     
     
  • 2.14, Аноним (14), 16:03, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Только если ты знаешь когда отключится электроэнергия ( а ты не знаешь )
     
     
  • 3.16, Аноним (11), 16:06, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я буду знать, пост-фактум. ИБП заметит.
     
  • 3.20, Аноним (20), 20:53, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но можешь сохранять состояние раз в 3 часа например
     
     
  • 4.24, Аноним (24), 22:35, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сомнительно, но окей.
     
  • 3.54, oditynet (?), 16:03, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    УПС давно уже умеет об этом говорить и запускать скрипты на зостах
     
  • 2.22, Аноним (22), 22:20, 22/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Звучит круто. Можно, например, целыми днями жать большой файл со старымы
    > бэкапами при высокой степени сжатия, а если произойдет потеря питания
    > быстренько сохраниться и продолжить при восставлении подачи электроэнергии.

    Ну вот пока всякие n00by рассказывают как круто читать рихтера про маздай, в линухе, вот, процессы и виртуалки можно тасовать между железками, нашару! Апдейтить ядро без ребутов, и вот это все. А этом гражданину видите ли нравится - залоченость исполняемых файлов при работе. Чтоб апдейтить эту гадость сложнее было, видимо, и ребутов хотелось почаще. Зарисовка о динозаврах из айти, простите, не удержался.

     
     
  • 3.28, Аноним (28), 03:13, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Никто(за редким исключением) в здравом уме не станет использовать окошки для сервера. А для десктопа - это все это просто не нужно. Да и запрет на изменения во время выполнения - это скорее хорошо, чем плохо.
     
     
  • 4.29, Аноним (29), 05:20, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Никто(за редким исключением) в здравом уме не станет использовать окошки для сервера.
    > А для десктопа - это все это просто не нужно.

    На мой вкус деление на десктопы, сервера и проч - достаточно условное. У меня вот и на десктопе пачка виртуалок крутится. А почему нет? И ребуты я в гробу видал.

    > Да и запрет на изменения во время выполнения - это скорее хорошо, чем плохо.

    Это просто замшелое легаси. Которое делает апдейт программ в винде полнейшим брейнфаком и ведет к чертовой куче ребутов на ровном месте. С фиги ли это "хорошо" я не понимаю. Майкрософт дошел до того что в десятке лучше юзерей знает когда им пора в ребут и форсребутает их. Офигеть фича, насильно из всех прог повышибает и в ребут!

     
  • 4.32, n00by (ok), 07:33, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почему же никто? Однажды мне предложили перенести одну мою маленькую программку на сервер на Линуксе. Я ответил "здорово, давно хотел изучить Линукс, пару недель почитаю книжку и перенесу". Предложивший умел хорошо считать деньги и купил сервер на Виндоус.
     
     
  • 5.39, пп (?), 09:33, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    однажды одного проктолога попросили починить зуб, ...
     
     
  • 6.42, n00by (ok), 10:09, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это завуалированная просьба посочувствовать, или жажда подробностей о программке? Такими ныне гордятся разработчики операционных систем: берёт сорцы из СКВ, собирает, запускает под виртуалкой для избежания эпических историй (как с "QA" в Crowdstrike) и отдаёт другому серверу для раздачи пользователям.
     
     
  • 7.44, Аноним (44), 10:17, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ни то и ни другое, в современном мире очень много сделано для того чтобы разраба не интересовало на чем запускается прога, очень часто это ведет к проблемам, но для маленьких программок это вполне работает, а тут ..надо было изначально выбирать инструмент, и не гундеть потом что молоток плох для забивки болтов
     
     
  • 8.46, n00by (ok), 10:22, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Что бы твоё сообщение хоть как-то походило на поучительное, тебе следовало бы вк... текст свёрнут, показать
     
     
  • 9.49, Аноним (44), 10:35, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    не пользуюсь виндой с 2003, со всеми вытекающими далее https www opennet ru o... текст свёрнут, показать
     
     
  • 10.64, n00by (ok), 10:10, 24/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Иначе говоря, будучи совершенно не в теме, решил одарить ценным советом Заодно ... текст свёрнут, показать
     
     
  • 11.66, Аноним (66), 13:49, 24/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Э-э, ты будто первый раз на опеннет зашел Правда, я вот тоже наивно надеялся по... текст свёрнут, показать
     
  • 4.52, Аноним (52), 15:19, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот мы и договорились до того, что Майкрософт безумна
     
  • 3.31, n00by (ok), 07:25, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Но ведь ты не сможешь объяснить, каким боком ты приплёл сюда объект ядра "секция" и чем оно могло бы помешать? Тебе просто надо с какой-то неустановленной целью гнуть тему, что n00by - нуб. ;)
     
     
     
     
    Часть нити удалена модератором

  • 6.41, Анонимище (?), 09:47, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И что это должно доказывать? Выборка слишком малая и предвзятая чтобы по ней делать какие-либо выводы.
     
     
  • 7.43, n00by (ok), 10:16, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для _себя_ я выводы сделал. Один из них - тут практически нет тех, кому стоит что-то доказывать.
     
     
  • 8.45, Аноним (44), 10:22, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты совершенно прав, и ты тоже есть часть этого множества, так как нормальные люд... текст свёрнут, показать
     
     
  • 9.47, n00by (ok), 10:30, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В реальном мире дело обстоит так вышел Указ о переходе на импортозамещённые О... текст свёрнут, показать
     
     
  • 10.51, Аноним (44), 11:03, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот ровно поэтому, а точнее потому, что винда не предсказуема, по-этому она не н... большой текст свёрнут, показать
     
     
  • 11.63, n00by (ok), 10:07, 24/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это -- предсказуемо А это попытка перевернувшего с ног на голову выдать себя за... текст свёрнут, показать
     
  • 10.60, Аноним (-), 23:41, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сам предугадал, сам причастился, сам измазался и ЧСХ, сам же жалуется А потом п... текст свёрнут, показать
     
     
  • 11.61, n00by (ok), 10:03, 24/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я констатирую факты Измазался , жалуется , виноваты - это твои проекции Я ... текст свёрнут, показать
     
  • 8.48, Анонимище (?), 10:34, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рад за Вас Однако, для других людей эти данные бесполезны, так как недостаточно... текст свёрнут, показать
     
     
  • 9.62, n00by (ok), 10:05, 24/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Каких других людей На каком основании Аноним выступает от их имени ... текст свёрнут, показать
     

  • 1.27, Аноним (27), 00:10, 23/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Добавлена поддержка механизма Shadow Stack
    >в отдельном "теневом" стеке

    Отдельный стек для адресов возвратов как в эльбрусе. Грязные плагиаторы.

     
     
  • 2.33, n00by (ok), 07:44, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Для отдельного стека на AMD64 достаточно определить соответствующий ABI и прописать там обособленную область с адресацией через RBP (заодно запретить Push/Pop - их всё равно не используют). Почему-то этим никто не озадачился даже для RISC-V, когда не было "обратной совместимости".
     
     
  • 3.35, Аноним (14), 07:50, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А чего так в винде не сделали?
     
     
  • 4.38, n00by (ok), 09:13, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Там же злая корпорация за всех решает, и нет свободы, как в GNU/Linux. ;)
     
  • 2.55, oditynet (?), 16:05, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    можно пруф?
     
     
  • 3.56, oditynet (?), 16:08, 23/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Я вижу,что intel анонсировал эту технологию в 2016 году. А вот по эльбрусу не могу найти инфу вообще
     

  • 1.57, Аноним (57), 16:18, 23/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неплохой инструментарий резидентам пережить перезагрузку.
     
  • 1.58, Аноним (58), 23:31, 23/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в lxd это добавят?
     
  • 1.59, Аноним (58), 23:35, 23/09/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "без разрыва уже установленных сетевых соединений" это как? может кто нибудь объяснить? я понимаю есть у меня сервис, есть у него стейт внутренний, я его в образ, перемещаю куда то, запускаю - у него стейт тот же - может он этот стейт полгода менял, я его не выключил и стейт сохранил, но конечно сетевые соединения потерял. а без разрыва то как???
    только если я к этому сервису через какое то proxy лез и теперь прокси понимает что нужно на другой ip переключится. как иначе то???????????????????????????????????????
     
     
  • 2.68, Аноним (68), 22:10, 24/09/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да наплевать то. Автор из нас, "динозавров". Я смотрю с сочувствием. Сам уже сошёл с дистанции. Мэйнстрим и всё!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру