Обновление ядра без перезагрузки и без боли: Google учит Linux невозможному

Обновление ядра без перезагрузки и без боли: Google учит Linux невозможному

Облачные серверы смогут получать критические обновления без потери доступности.

image

Google представила вторую версию своей системы Live Update Orchestrator (LUO), предназначенной для бесшовного обновления ядра Linux на рабочих серверах без остановки виртуальных машин. Обновлённый код уже доступен в виде RFC v2 и вынесен на обсуждение в сообществе разработчиков ядра.

LUO была анонсирована в марте 2025 года как альтернатива существующим средствам живого патчинга ядра, таким как Kpatch и Ksplice. Однако в отличие от них, LUO не просто применяет исправления в работающем ядре, а позволяет полностью перейти на новое ядро, сохранив при этом состояние критически важных ресурсов — например, памяти и дескрипторов файлов — и обеспечив непрерывную работу устройств и виртуальных машин.

Базируется система на проекте Kernel HandOver (KHO), который Google также готовит к включению в основную ветку ядра. Вместе они обеспечивают процесс, описанный как "специализированная перезагрузка", при которой даже активность устройств с прямым доступом к памяти (DMA) и прерывания продолжается с минимальными задержками.

Во второй версии LUO были внесены важные изменения. Интерфейс управления переключился с sysfs на ioctl, что сделало систему более гибкой. При этом мониторинг состояния LUO по-прежнему доступен через sysfs. Также добавлена поддержка сохранения дескрипторов файлов (FDs), сделан опциональным интерфейс DebugFS и реализирован ряд улучшений по стабильности и управляемости.

Для Google это решение имеет стратегическое значение: оно позволяет поддерживать безопасность серверов Google Cloud, не влияя на работу клиентских сервисов. Минимальное вмешательство в процессы VMs при переходе между ядрами открывает путь к более агрессивной политике обновлений в продакшене.

Публикация патчей v2 на LKML намекает на планы Google интегрировать систему в основную ветку ядра. Если проект будет принят сообществом, он может стать важным этапом эволюции механизмов обновления Linux в условиях растущих требований к непрерывности обслуживания.

Инженеры Google подчёркивают, что LUO нацелен прежде всего на дата-центры и крупные облачные окружения, где обновление ядра традиционно связано с кратковременной недоступностью сервисов или необходимостью сложного планирования. Новый подход призван устранить эти ограничения.

LUO может заинтересовать не только облачных провайдеров, но и крупные компании с собственными серверными фермами. Внедрение подобных решений может значительно упростить управление безопасностью и уязвимостями на уровне ядра.

Твой код — безопасный?

Расскажи, что знаешь о DevSecOps.
Пройди опрос и получи свежий отчет State of DevOps Russia 2025.