В ядро Linux добавлен Live Update Orchestrator для обновления в Live-режиме

В кодовую базу ядра Linux, на основе которой в начале февраля будет сформирован релиз 6.19, принят код подсистемы LUO (Live Update Orchestrator), разработанной компанией Google для обновления ядра в Live-режиме без физической перезагрузки. Подсистема базируется механизме KHO (Kexec HandOver), ранее добавленном в ядро 6.16 и реализующем возможность запуска нового ядра из старого без потери состояния системы.

Live Update Orchestrator позволяет полноценно перезагрузить и обновить ядро без остановки работы и не теряя состояние системы, устройств и процессов. В дополнение к функциональности KHO, подсистема LUO сохраняет состояние устройств и оперативной памяти, а также обеспечивает неразрывность операций, связанных с DMA и обработкой прерываний. Состояние сохраняется до переключения на новое ядро и восстанавливается после задействования нового ядра без нарушения непрерывных операций с устройствами, осуществляемых системой и приложениями в пространстве пользователя.

Особенностью новой серии патчей является возможность сохранения файловых дескрипторов memfd для поддержания состояния важных данных в памяти между перезагрузками, таких как содержимое оперативной памяти виртуальных машин. В качестве основой области использования подсистемы упоминается быстрое обновление серверов с системами виртуализации на базе гипервизора KVM, для устранения проблем с безопасностью и стабильностью при минимальном времени простоя виртуальных машин. Компания Google уже использует эту технологию в своих рабочих окружениях.

В отличие от livepatch, Ksplice, kpatch, kGraft и прочих механизмов горячего наложения патчей, новая подсистема не ограничивается возможностью применения отдельных исправлений к работающему ядру и позволяет полностью заменить ядро. В отличие от вызова kexec, подсистема LUO сохраняет состояние устройств и подсистем ядра между перезагрузками, в то время как вызов kexec работает лишь как загрузчик, запускающий новое ядро с полной переинициализацией системы (эквивалент перезагрузки, но без передачи управления прошивке).

Источник: opennet.ru

Добавить комментарий