1.2 C
Москва
Пятница, 11 апреля, 2025

Инженеры Google предложили обновлять ядро Linux без перезапуска серверов и прочих устройств — Tproger

Google представила LUO — систему обновлений ядра Linux без перезагрузки: полное ядро меняется без отключения устройств и даунтайма

Инженеры Google представили Live Update Orchestrator (LUO) — систему, которая позволяет обновить ядро Linux без полной перезагрузки.

Главное отличие от существующих решений вроде livepatchобновляется не кусочек кода, а всё ядро целиком, и при этом никакие устройства не отключаются.

Система уже отправлена на обсуждение в ядро Linux и может изменить то, как админы, разработчики и облачные платформы работают с обновлениями.

Как это работает

LUO построена на базе kexec — механизма, который позволяет загрузить новое ядро прямо из запущенного Linux, без ребута железа. Google расширила его возможностями сохранения и восстановления состояния устройств, включая сетевые интерфейсы, накопители, прерывания и даже операции DMA.

🔥 Теперь 3D-модели можно крутить-вертеть прямо в Терминале благодаря Terminal3dtproger.ru

Всё это делается так, чтобы приложения ничего не заметили. Устройства продолжают «жить» и после перезапуска ядра.

Главное — для облаков

Основной сценарий — обновление гипервизора KVM, на котором работают десятки виртуалок. С LUO можно временно заморозить виртуальные машины, перезагрузить ядро с новым гипервизором — и продолжить работу, не теряя подключения устройств и без простоя.

Читать также:
Интерактивный Shell Fish 4.0 переписали с C++ на Rust — Tproger

Это может стать ключевой фичей для дата-центров и облачных провайдеров, где даунтайм недопустим, а обновления всё равно нужны.

Интерфейс и управление

Управление LUO происходит через простые файлы в /sys/kernel/liveupdate/:

  • state — показывает статус,
  • prepare — готовит систему к переключению,
  • finish — завершает обновление.

Весь процесс можно автоматизировать и встроить в CI/CD для инфраструктуры.

Кто может подключиться

Google предусмотрела API для других подсистем — например, гипервизора, драйверов или IOMMU. Они могут подключать свои обработчики, чтобы сохранить состояние и корректно продолжить работу после загрузки нового ядра.

Для передачи состояния между ядрами используется механизм Kexec HandOver (KHO) — уже знакомый тем, кто работает с kexec.

Что это значит

Если LUO примут в основное ядро, обновления Linux станут такими же незаметными, как обновление браузера. Особенно это оценят облачные платформы, хостинги и крупные инфраструктурные проекты, где каждое обновление сейчас — это риск, простои и неудобства.

НОВОЕ НА САЙТЕ