01.05 Позитивные технологии
01.05 Позитивные технологии
01.05 Позитивные технологии

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

Новости

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Следите за новыми постами
Следите за новыми постами по любимым темам
243 открытий4К показов