The OpenNET Project / Index page

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

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

23.09.2021 19:37

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

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

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

  • Добавлена команда criu-ns, позволяющая восстановить сохранённый слепок процесса с новым идентификатором PID и в отдельном пространстве имён точек монтирования (mount namespace). Запуск с другим PID может потребоваться, например, в случае, если старый PID уже используется в системе.
  • Реализована возможность сохранения и восстановления слепков состояния вложенных профилей apparmor.
  • Реализована блокировка и разблокировка сетевых ресурсов на базе nftables.
  • Добавлена поддержка восстановления предварительно созданных устройств veth.
  • Улучшена поддержка восстановления контейнеров в существующие pod-ы.
  • Для RPC-клиентов добавлена возможность определения повторного использования PID, реализованная при помощи механизма pidfd.
  • Лицензия на все proto-файлы в каталоге images/ изменена на MIT.


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


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.3, Аноним (3), 19:58, 23/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Игры может сохранить?
     
     
  • 2.4, Аноним (4), 20:07, 23/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    С иксами не работает. В остальном отличная вещь, очень удобно. Теперь даже не надо из под рута восстанавливать процессы.
     
     
  • 3.8, Аноним (8), 23:08, 23/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Т.е., гуишные приложения пока не может?
     
     
  • 4.10, Аноним (4), 23:18, 23/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Насколько я знаю, это не планируется. Во всяком случае, с иксами, да? Там какие-то чрезмерные сложности.
     

  • 1.5, Аноним (5), 20:24, 23/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отличный проект. Адекватными людьми писан. Удачи.
     
  • 1.6, barmaley (??), 20:30, 23/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Так кто нить может с помощью трояна или еще как нибудь запущенные процессы с введенными паролями и конфиденциальной инфой сохранить скинуть на диск, или по сети перекинуть, запустить у себя и вуаля - ненужно пароль вводить и аутентификацию проходить - все уже введено пройдено и залогинено
     
     
  • 2.7, Аноним (7), 21:33, 23/09/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Может, но есть нюансы.
     
  • 2.11, Я (??), 00:20, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    да, но сделать из этого вектор атаки сложно. история таже что с сохранением состояния виртуальной машины.
     

  • 1.9, Аноним (9), 23:09, 23/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    А чем это отличается от core dumped?
     
  • 1.12, Аноним (12), 00:49, 24/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Какого лешего стерли мой вопрос "а кто-то использовал в реале"?

    Кто-то использует? Оно действительно работает?

     
     
  • 2.13, Аноним (13), 05:23, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В Parallels в Virtuozzo отлично работает. Позволяет делать live миграции контейнеров без их остановки. Охранительная вещь.

    Раньше так никто кроме них не умел делать, не знаю как сейчас.

     
     
  • 3.14, Аноним (14), 09:44, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    LXD пытаются использовать. но кривовато.
     
  • 3.15, лютый жабби__ (?), 10:22, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >Раньше так никто кроме них не умел делать

    никто в смысле "никто кроме vmware"? oO

     
     
  • 4.18, Аноним (18), 11:45, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чукча не читатель? Речь не о том, чтобы мигрировать виртуалки. С помощью CRIU можно сохранять состояние и мигрировать процессы на железках или контейнеры, работающие без гипервизора. К тому же, CRIU имеет применение в HPC для приостановки длительных вычислений с сохранением состояния и возможностью продолжить на другой железке.

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

     
  • 3.16, лютый жабби__ (?), 10:23, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >не знаю как сейчас.

    самое смешное, что сейчас во времена stateless microservices это уже 98 процентам не нужно...
    среди которых есть и жирные товарищи с баблом...

     
  • 3.17, Moomintroll (ok), 11:32, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Раньше так никто кроме них не умел делать, не знаю как сейчас.

    Я ещё в 2013 году мигрировал qemu-виртуалки libvirt-ом. При том, что в qemu не используется criu - у них своя реализация подобной фнкциональности.

     
     
  • 4.19, Аноним (18), 11:57, 24/09/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это даже не смешно. Ничего выдающегося в миграции qemu нет. Миграция виртуальной машины - это миграция чёрного ящика. Ты просто берёшь всю память виртуалки, перекидываешь на другую машину и там поднимаешь эту же виртуалку целиком. Вместе с ядром и всеми процессами. Это полезно только для юзкейса, когда тебе нужно перевезти виртуалку целиком.

    А CRIU (который, кстати, можно поставить и внутрь qemu-виртуалки, он никак не противоречит миграции гипервизора и работает на другом уровне) позволяет задампить отдельные интересующие процессы и скинуть их на другую ВМ или даже железную машину. При этом на целевой машине пересоздаются открытые файловые дескрипторы, сокеты, пайпы и другие структуры ядра и приложение переезжает ничего не замечая.

     

  • 1.20, Аноним (20), 14:15, 25/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    не подскажіте, а linux hardened kernel поддержівает это? там чтото с ограніченіем user namespaces...
     
  • 1.21, Аноним (-), 20:00, 26/09/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ждём пока это в proxmox virtual environment к LXC live migration прикрутят.
     

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



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

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