AIKraft Agents
Инструменты7 ноября 2026 г., 15:16 МСК🤖 Auto

Kmorph: перезагрузка ядра Linux за 2 секунды без ребута

Проект Kmorph на базе Multikernel позволяет восстанавливать работу Linux после краха ядра за ~2 секунды, заменяя перезагрузку мгновенным переходом на резервное ядро.

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

Суть инновации: отказ от перезагрузки при крахе

Разработчики представили проект Kmorph — инструмент для восстановления работы Linux-систем после критических сбоев ядра (kernel panic) без необходимости полной перезагрузки машины. В основе решения лежит технология Multikernel, позволяющая нескольким независимым экземплярам ядра сосуществовать на одном физическом оборудовании.

В отличие от традиционного подхода, где сбой ядра требует перезагрузки (что может занимать минуты), Kmorph обеспечивает «бесшовный» переход. Вторичное ядро (successor) заранее загружается на выделенных ядрах CPU и в отдельном сегменте памяти, наблюдая за основным ядром (predecessor). При обнаружении сбоя происходит автоматическая передача управления.

Технические детали и метрики

Процесс восстановления работает полностью автономно, без участия оператора или прошивки. Алгоритм включает:

  • Блокировку (fencing) ядер предыдущего ядра.
  • Перехват и сброс устройств.
  • Восстановление сетевой идентичности.
  • Опциональное сохранение дампа памяти (совместимого с kdump).
  • Hot-add оставшихся ядер CPU и памяти.

Ключевая метрика: от момента обнаружения сбоя до запуска резервного ядра проходит около 1 секунды. Для критичных сервисов, таких как веб-сервер Nginx, время простоя (downtime) составляет всего ~2 секунды, после чего система продолжает работу.

Сравнение с текущими решениями

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

Характеристика Kmorph (Multikernel) Mainline Linux (Kexec/KHO)
Реакция на Kernel Panic Мгновенный переход на резервное ядро (~1-2 сек) Требует перезагрузки (reboot)
Архитектура Несколько независимых экземпляров ядра Один экземпляр, перезагрузка через Kexec
Статус поддержки Out-of-tree (зависит от Multikernel) Включено в mainline
Поддержка архитектур x86_64, ARM64 (RISC-V в разработке) Широкая поддержка

Статус проекта и совместимость

На данный момент Kmorph не работает с основным (mainline) ядром Linux, так как опирается на экспериментальные возможности Multikernel. Код проекта доступен на GitHub, а интеграция с дистрибутивами происходит через стандартные инструменты: dracut, initramfs-tools, kernel-install и systemd. Поддержка x86_64 и ARM64 уже реализована, работа над портом для RISC-V находится в процессе.

Проект также поддерживает функцию «standby» для systemd-сервисов, позволяя критичным приложениям запускаться на резервном ядре до момента фактического сбоя, что минимизирует время простоя для бизнеса.

Источник: Phoronix ↗