The OpenNET Project / Index page

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

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

04.11.2020 16:26

Доступен выпуск инструментария CRIU 3.15 (Checkpoint and Restore In Userspace), предназначенного для сохранения и восстановления процессов в пространстве пользователя. Инструментарий позволяет сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений. Код проекта распространяется под лицензией GPLv2.

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

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

  • Представлен сервис criu-image-streamer, позволяющий в потоковом режиме напрямую передавать образы процессов в/из CRIU в ходе выполнения операций заморозки/восстановления. Образы могут передаваться из внешнего хранилища (S3, GCS и т.п.) без буферизации в локальной ФС.
  • Добавлена поддержка архитектуры MIPS.
  • Разрешена заморозка процессов, не относящихся к существующему пространству имён PID-идентификаторов, с последующим восстановлением в существующем пространстве имён PID.
  • Добавлены дополнительные механизмы проверки файлов.
  • Добавлена поддержка заморозки и восстановление структур BPF BPF_HASH_OF_MAPS и BPF_ARRAY_OF_MAPS.
  • Добавлена начальная поддержка второй версии cgroup.


  1. Главная ссылка к новости (https://lists.openvz.org/piper...)
  2. OpenNews: Выпуск CRIU 2.0, системы для сохранения и восстановления состояния процессов в Linux
  3. OpenNews: Выпуск системы управления контейнерами LXC 1.1, со встроенной поддержкой CRIU
  4. OpenNews: Выпуск CRIU 1.0, системы для заморозки и восстановления состояния процессов в Linux
  5. OpenNews: Выпуск инструментария управления контейнерами LXC и LXD 4.0
  6. OpenNews: Для ядра Linux развивается система распределённого выполнения потоков Popcorn
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/54025-criu
Ключевые слова: criu, openvz, container
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (15) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 17:22, 04/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Иксовые приложения там возобновлять ещё не научили? А так очень годная штука, пользуемся.
     
  • 1.2, Волчетто (?), 17:24, 04/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    У меня в блендере рендеринг 3d, я как понимаю могу взять и заморозить рендеринг и потом его восстановить?
     
     
  • 2.3, Аноним (1), 17:29, 04/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они говорили, что иксы им не интересно. :/ Было бы здорово, но с любым консольным софтом вплне прекрасно работает. Если у тебя там рендер в отдельном процессе запущен, его можно сохранить на диск и потом продолжить.
     
  • 2.4, Аноним (4), 21:03, 04/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Руками останови все нужные процессы по айдишникам kill -STOP $PID;
    Задампь оперу через gdb;
    На другой машине запусти те же приложение останови и через тот же gdb залей в оперу данные из файлов-дампов;
    kill -CONT $PID запусти обратно процессы;

    Вот тебе и весь CRIU. Если у тебя действительно это получится напиши где-нибудь как это сделал)

     
     
  • 3.10, kmeaw (?), 11:13, 05/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Только ещё есть открытые файлы (в том числе пайпы с заполненными буферами), настройки терминалов, pid/tid, сетевые сокеты (их буферы и connection state machine), shared memory и прочие ресурсы, которые процесс запрашивает у ядра, и таймеры/таймауты для всего этого. gdb же восстановит только состояние регистров и памяти, причём только той памяти, которая прошла через coredump_filter.
     
  • 3.11, Аноним (11), 11:47, 05/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Еще хорошо бы запустить новые процессы/потоки  с теми же пидами, ибо старые иды могут быть сохранены (и использованы) где-то в ОЗУ. Представь, что один поток у тебя _уже_делает_ 'int pid=12345; waitpid(pid)'
     
  • 2.5, MisterX (??), 22:34, 04/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С рендерингом проблема будет с состоянием графической карты, если ты знаешь, как его сохранить, то всё будет огонь.
     
     
  • 3.8, Андрей (??), 07:56, 05/11/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Незачем, если рендерит на CPU.
     
     
  • 4.13, Anonimous (?), 12:26, 05/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Даже страшно представить среду или игру, которая не выносит рендеринг в GPU...
     

  • 1.6, Аноним (6), 22:41, 04/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А чем это отличается от crash dumpов? Воссозданием объектов ядра? Заменит ли это crash dumpы?
     
     
  • 2.9, Аноним (9), 09:39, 05/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Заменит ли это crash dumpы?

    смотря как вы используете краш дампы.

     

  • 1.7, Аноним (7), 01:38, 05/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Возможно теперь в Proxmox LXC контейнеры получат live миграцию.
     
     
  • 2.12, Аноним (-), 12:10, 05/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На сколько я понимаю - это можно сделать уже
    https://criu.org/LXC

    Кто успел попробовать, работает ?

     
  • 2.14, Деннис Ритчи (ok), 16:20, 05/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если процесс остановлен - это не лив миграция
     

  • 1.15, Аноним (15), 03:01, 06/11/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GRU
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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