Релиз CRIU 4.0 — открытой системы для сохранения и восстановления состояния процессов в Linux
20 сентября 2024 года состоялся релиз открытой системы для сохранения и восстановления состояния процессов в Linux CRIU 4.0 . Инструментарий решения позволяет сохранить состояние одного или группы процессов, а затем возобновить работу с сохранённой позиции, в том числе после перезагрузки системы или на другом сервере без разрыва уже установленных сетевых соединений.
Исходный код проекта написан на языке C и опубликован на GitHub под лицензией GPLv2.
Проект CRIU применяется в таких системах управления контейнерами, как OpenVZ, LXC/LXD и Docker. Необходимые для работы компоненты CRIU включены в основной состав ядра Linux.
По данным OpenNET, из областей применения технологии CRIU отмечается обеспечение перезагрузки ОС без нарушения непрерывности выполнения длительно выполняемых процессов, Live-миграция изолированных контейнеров, ускорение запуска медленных процессов (можно начать работу с состояния, сохранённого после инициализации), проведение обновлений ядра без перезапуска сервисов, периодическое сохранение состояния долговыполняемых вычислительных задач для возобновления работы в случае краха, балансировка нагрузки на узлы в кластерах, дублирование процессов на другую машину (fork на удалённую систему), создание снапшотов пользовательских приложений в процессе работы для их анализа на другой системе или на случай если потребуется отменить дальнейшие действия в программе.
Основные изменения и дополнения в CRIU 4.0:
• добавлен плагин CUDA, обеспечивающий возможность сохранения и восстановление состояния приложений на базе технологии Nvidia CUDA;
• добавлена поддержка механизма Shadow Stack, поддерживаемого начиная с ядра Linux 6.6 и позволяющего блокировать работу многих эксплоитов, используя аппаратные возможности процессоров Intel (после передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном теневом стеке, который не может быть изменён напрямую, а перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека);
• добавлена поддержка ioctl-команды PAGEMAP_SCAN для получения информации о содержимом таблиц страниц памяти, что среди прочего при использовании с userfaultfd() позволяет определять факты записи в определённую область памяти;
• реализована возможность восстановления потока в корректной cgroup v1.
- В Windows 11 24H2 громкость звука в играх выставляется на 100% при использовании внешних аудиосистем USB DAC
- Пользователи Microsoft Flight Simulator 2024 могут ходить по воде и встречают везде фигурку с табличкой ERROR
- Старый новый рынок: как российскому бизнесу адаптироваться к трансформации и перестройке сферы ITSM
Написать комментарий