The OpenNET Project / Index page

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

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

26.03.2025 09:29

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

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

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

  • Добавлена поддержка архитектуры RISC-V.
  • Добавлена поддержка механизма PIDFD, позволяющего использовать неизменные идентификаторы, привязанные к исходным процессам (обычный PID может быть назначен другому процессу после завершения текущего процесса, ассоциированного с этим PID).
  • Для платформы ARM64 реализована поддержка расширений для аутентификации указателей (PAC Pointer Authentication Code), обеспечивающих проверку адресов возврата при помощи цифровых подписей, которые хранятся в неиспользуемых верхних битах самого указателя.
  • Расширены возможности по сохранению и восстановлению состояния приложений, использующих технологию NVIDIA CUDA.
  • Предоставлена возможность выбора бэкенда блокировки сети на этапе сборки, без необходимости правки кода. Бэкенд может быть изменён через передачу утилите make параметра NETWORK_LOCK_DEFAULT, который допускает значения "NETWORK_LOCK_IPTABLES", "NETWORK_LOCK_NFTABLES" и "NETWORK_LOCK_SKIP".
  • Включена поддержка генерации coredump-файлов для архитектур Aarch64 и ARM.


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


Обсуждение (25) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:35, 26/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Интересно, как такие системы работают с IO? Что будет если восстановить программу которая была подключена к серверу? Работала с шарнутым файлом? Взаимодействовала через пайпу? Или вообще переводила вдяху или монитор в "особый" режим?
     
     
  • 2.2, Аноним (2), 09:36, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    работает без единого разрыва
     
     
  • 3.4, Жироватт (ok), 09:41, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Так уж ведётся\
    Сессия рвётся\
    В сутки как минимум раз.
     
  • 2.5, Аноним (5), 09:44, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Прекрасно работает. Ещё бы графические приложухи научили сохранять, хотя бы без видеопамяти. Некоторые с отвалившейся видеокартой продолжают работать после её возвращения, другие, более кривые, в "режиме совместимости" и требуют перезапуска для включения ускорения.
     
     
  • 3.22, Аноним (22), 20:53, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот смотри: аппликуха установила связь с сервером, открыла внутри канала сессию (об этом система уже ничего не знает - канал-то зашифрован!), потом ты остановил аппликуху, сервер закрыл сессию по таймауту. Далее ты возобновляешь работу, и даже если система восстановила связь на сервер - сессии-то уже нету! И вся работа упала, начинай заново.
     
     
  • 4.24, Аноним (5), 21:28, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Клиент говорит "у нас тут обрыв" и сервер открывает как было. Со сменой айпишника могут быть сложности.
     
     
  • 5.25, Аноним (22), 05:49, 27/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > могут быть сложности

    На третий день Орлиный Глаз заметил...

     
  • 2.12, Амомин (?), 10:52, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А никак - это штука для процессов чье состояние изолированно от внешней среды - дескрипторов, сокетов и тд. Поэтому и ни особо нужно кому-то.
     
  • 2.13, Big Robert TheTables (?), 11:28, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    One of the CRIU features is the ability to save and restore state of a TCP socket without breaking the connection. This functionality is considered to be useful by itself, and we have it available as the libsoccr library.
     
  • 2.19, Аноним (-), 20:09, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, как такие системы работают с IO? Что будет если восстановить
    > программу которая была подключена к серверу? Работала с шарнутым файлом?

    Представляешь, состояние этого добра можно перекинуть на новую систему и сделать вид что так и было. Конечно сетевая конфига должна допускать такие фокусы.

     
     
  • 3.23, Аноним (22), 20:57, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Представляешь, в состояние входят не только локальные компоненты, а, например, сессионные токены внутри соединения.
     
  • 2.27, OpenEcho (?), 14:12, 27/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, как такие системы работают с IO?

    Пробуйте :) изюминка из новости в: docker help checkpoint

    docker run ...
    docker checkpoint ...
    docker create clone ...
    docker start --checkpoint-dir=path ... clone
    docker exec clone ...

     

  • 1.3, Жироватт (ok), 09:39, 26/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > ускорение запуска медленных процессов

    Базы оракла? Линуксовый скульсервер? Даже не представляю, зачем оно нужно, если это проблема НЕ системы, а разработчика сервиса.
    Хотя нет, проприентарщина может творить что угодно, так что да, полезно.

     
     
  • 2.6, Аноним (5), 09:45, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот майнкрафт у меня около часа запускается. Неплохо бы ускорить. Видишь, сколько применений.
     
     
  • 3.7, Аноним (2), 09:50, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    инициализируй его в облаке, а когда загрузится, забирай процесс себе
     
     
  • 4.10, Аноним (10), 10:42, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это уже какая-то матрица.
     
  • 3.18, Аноним (18), 20:08, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тут скорее проблема железа. Мобильный ай5 спокойно ворочает сборки на 300 модов
     
     
  • 4.20, Аноним (5), 20:19, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там моды закончились в 1.12.2 (java8), ты эту запускаешь? Последующие быстрее запускаются, но там модов таких уже нет. С хотспотом быстрее в 2 раза, но потребление памяти в 2 раза больше (16гб надо для работы), я использую jdk8-openj9 и он чуть медленней. Кроме долгой инициализации модов особых проблем нет (gc иногда лагает).
     
     
  • 5.21, Аноним (18), 20:52, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У меня из сборок только гтнх(1.7 вроде). Запускаю под оффтопиком с 8гб выделенной памяти, с офф жабой 8. На опенжабе были просадки кадров, конда на офф стабильные 60
     

  • 1.9, Аноним (9), 10:00, 26/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Помню была такая ОС - Фантом, разработанная Завалишиным. И там была такая штука - перзистентность, это типа другая концепция сохранения данных по сравнению с файлами.
    Мне интересно, CRIU как-то соотносится с этим по достигаемым целям? Может быть людям просто нужна ОС другого типа?
     
     
  • 2.11, Аноним (10), 10:43, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё до всяких юниксов, на уровне ос разделялись код приложений и данные. И приложения не могли получить доступ к коду приложений.
     
     
  • 3.15, 1 (??), 16:37, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну уж, "на уровне os".
    Гарвардская архитектура - на уровне железа разделяла.
     
  • 2.17, Аноним (17), 19:01, 26/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Может быть людям просто нужна ОС другого типа?

    людям нужно всегда "съедобное", то есть хоть как-то "спелое", и даже не важно, что там - схавают, как только один "дурак" воскликнет - "вкусно", потом даже, не пробовавший воскликнет - "как вкусно", такова сущность "людей-потребителей".

     

  • 1.26, svsd_val (ok), 07:30, 27/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто знает можно ли графические процессы сохранять им ? Если да то как ?

    К примеру старые игры в которых нет нормальных сохранялок, а до чек поинтов идти как до луны пешком... было бы круто целиком вино дампануть и восстановить...

     
  • 1.28, Аноним (-), 16:52, 27/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не восстановило онр состояние запущенного keepass с несохраненными из-за проблем сети изменениями (а после восстановления сети это нельзя было сделать руками т.к. драйвер nvidia не захотел возвращать дисплей из сна
     

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



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

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