Релиз модели21 сентября 2026 г., 15:18 МСК🤖 Auto

Orphaned VMs: Google предлагает запускать виртуалки во время перезагрузки хоста

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

Баннер новости 7947

Суть технологии: Виртуалки остаются «сиротами», но работают

Команда Google во главе с Паши Таташиным (Pasha Tatashin) представила серию из 46 экспериментальных патчей (RFC) для ядра Linux. Инициатива носит название Orphaned VMs (Сиротливые виртуальные машины). Главная цель — обеспечить нулевое время простоя (zero-downtime) при обслуживании хостов. В отличие от традиционных методов, где виртуалки останавливаются перед перезагрузкой хоста, Orphaned VMs позволяют гостевым процессам продолжать выполнение инструкций, пока ядро хоста оффлайн для установки обновлений безопасности или перезагрузки через Live Update Orchestrator (LUO).

Техническая реализация: Как это работает?

Механизм достигает «асимметрии выполнения» за счет введения нового компонента — Caretaker. Это специализированный примитив уровня bare-metal, который перехватывает и разрешает некоторые выходы из режима VM (VM exits) локально, без участия хостового ядра или диспетчера виртуальных машин (VMM). Ключевые технические решения включают:

  • Сохранение состояния vCPU: Структуры данных vcpufd сохраняются в памяти (RAM) в момент перехода.
  • Защита физических CPU: Физические ядра изолируются от сигналов сброса во время загрузки хоста.
  • Планировщик на ядро: Вводится новая инфраструктура планирования, привязанная к конкретным ядрам.
  • KVM Caretaker Core: Базовая инфраструктура для управления этим состоянием.

Сложности и решения

Разработчики признают, что работа находится на очень ранней стадии. Основные вызовы связаны с асинхронными аппаратными проблемами в период «управленческого разрыва» (management gap), когда хост недоступен. Среди них:

  • Дрейф системного времени (timekeeping drift).
  • Странные/ложные прерывания (stray interrupts).
  • Маршрутизация межпроцессорных прерываний (IPI) между гостями.

Поддержка и статус

Патчи уже протестированы на серверных процессорах трех основных архитектур: Intel, AMD и ARM. Однако проект пока не готов к продакшену и находится в стадии сбора обратной связи от сообщества Linux Kernel. Обсуждение архитектуры продолжится на конференции Linux Plumbers Conference в Праге в следующем месяце.

Параметр Значение / Описание
Автор инициативы Google (Pasha Tatashin)
Название патч-сери Orphaned VMs (RFC, 46 патчей)
Ключевой компонент Caretaker (bare-metal interpose layer)
Поддерживаемые архитектуры Intel, AMD, ARM
Статус готовности Experimental / Very early WIP
Цель Zero-downtime host maintenance

Источник: Phoronix ↗