Профиль: Аноним (вход | регистрация) неRU opennet.me  
OpenNET

[ новости /+++ | форум | теги |    ]

Представлен kmorph для быстрого восстановления после сбоя или обновления ядра Linux

08.11.2026 18:50 (MSK)

Разработчики проекта Multikernel, позволяющего на одном физическом компьютере выполнять несколько независимых экземпляров ядра без гипервизора и виртуализации, представили инструментарий kmorph, реализующий средства для быстрого восстановления после аварийной остановки ядра Linux или для замены ядра в Live-режиме без полноценной перезагрузки. Проект развивает Конг Ванг (Cong Wang), сопровождающий подсистему управления трафиком (TC, Traffic Control) в ядре. Метод быстрого перезапуска основан на предварительной загрузке в память запасного ядра, которым подменяется основное рабочее ядро в случае сбоя или при необходимости замены ядра на новую версию.

Предложенный подход позволяет обойтись без полноценной перезагрузки и почти мгновенно возобновить работу, сведя к минимуму время простоя. В настоящее время в случае аварийной остановки работы ядра полная перезагрузка крупных серверов занимает несколько минут из-за длительных процессов инициализации оборудования, загрузки системного окружения и сохранения дампа памяти ядра через механизм kdump. По сути при использовании kdump выполняется две перезагрузки ядра - вначале через kexec загружается отдельный экземпляр ядра для сохранения дампа памяти, после чего выполняется загрузка рабочего ядра и запуск системных сервисов.

В случае применения kmorph в привязке к отдельному ядру CPU в память заранее загружается запасное ядро Linux и минимальное системное окружение, которое отслеживает состояние основного ядра. В случае зависания или впадение в состояние panic основного ядра, запасное окружение берёт управление на себя, сохраняет дамп памяти сбойного ядра, переключает на себя процессорные ядра, память, устройства, сетевую конфигурацию и ФС.

Переключение координируется при помощи двух программ: kmorph - запускается в активном окружении, формирует начинку запасного окружения и синхронизирует в нём состояние сети; kmorphd - запускается в запасном окружении и отслеживает состояние активного окружения. Помимо переключения в случае аварии, предоставляется возможность использования kmorph для обновления ядра без традиционной перезагрузки. Для ускорения восстановления в запасном окружении помимо ядра и минимального набора системных компонентов в режиме ожидания могут запускаться типовые сервисы, такие как nginx. В этом случае в момент активации запасного окружения сервис nginx уже будет загружен в память и сразу начнёт обрабатывать запросы после переключения в новое окружения сетевой карты, активации сетевой конфигурации и смены корневой ФС.

В проведённых тестах сервер с nginx при помощи kmorph возобновляет работу примерно через 2 секунды после сбоя ядра, но в будущем намерены добиться мгновенного переключения незаметно для подключённых клиентов. В настоящее время в kmorph поддерживаются архитектуры x86_64 и ARM64, а также ведётся работа над поддержкой RISC-V. Интеграция kmorph в дистрибутивы Linux осуществляется по аналогии с поддержкой kdump, через штатные инструменты dracut, initramfs-tools, kernel-install и сервис systemd.

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

  1. Главная ссылка к новости (https://lore.kernel.org/lkml/a...)
  2. OpenNews: Первый выпуск mklinux для одновременного выполнения нескольких экземпляров ядра Linux
  3. OpenNews: Представлена ФС DAXFS, похожая на ramfs и tmpfs, но работающая в обход страничного кэша
  4. OpenNews: Для ядра Linux развивается система распределённого выполнения потоков Popcorn
  5. OpenNews: Механизм Kexec HandOver для перезагрузки ядра Linux без потери состояния
  6. OpenNews: Google развивает систему перезагрузки ядра без остановки работы устройств
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/66643-kmorph
Ключевые слова: kmorph, multikernel, reboot, crash
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 19:09, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    звучит как тулза для хацкеров. типа, не грей голову, сразу ядро подмени.
    какое практическое применение кроме сервера??
     
     
  • 2.2, Аноним (2), 19:18, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +7 +/–
    А какое ещё должно быть?
     
  • 2.3, Stanislavvv (ok), 19:20, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Достаточно и сервера — на железном сервере даунтайм может быть от нескольких минут чисто из-за инициализации железа (supermicro, мать его). Тут — вполне себе закрытие дырок с даунтаймом в секунды.
     
     
  • 3.5, нах. (?), 19:41, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    Поэтому мы используем балансировку и виртуальные адреса.

    А не быстроподнятое не считаем упавшим.

    А васян под кроватью может и просто обождать пятнадцать минут. Целее битки будут.

     
  • 3.9, Аноним (9), 19:55, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    *чисто из-за системд

    поправил

     
  • 3.14, lucentcode (ok), 20:30, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    supermicro ещё хорошо, сервера от HPE по 10-ть минут могут только инициализироваться, а потом ещё загрузка ОС. С Dell не сильно лучше. На их фоне Supermicro и Cisco - просто лапушки, не испорченные ещё свистоперделками.
     
  • 2.4, нах. (?), 19:36, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    на сервере - тоже нахрен не надо.
    (и больше всего пугает что этот китайский шпион уже присосался к tc)

     
     
  • 3.8, Аноним (8), 19:54, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    При чём он раньше работал в ByteDance, которая тесно связана с КПК.
     
     
  • 4.17, Аноним (17), 21:13, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Причем до того как устроится на работу в Китае он родился и прожил до совершеннолетия в Северной Корее. А потом стал жить в Китае по чужим документам, а настоящего владельца документов отправили в Севеокорейксий трудовой лагерь.
     
  • 4.18, Аноним (18), 21:17, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Назовите хоть какую-то американскую контору, которая бы не подчинялась американскому правительству.
     
  • 3.12, Аноним (1), 20:13, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/–
    TC, Traffic Control
    Казалось бы, причём тут траффик....
     
  • 2.6, Аноним (-), 19:50, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    > звучит как тулза для хацкеров. типа, не грей голову, сразу ядро подмени.

    Вот я тоже думаю - возможность запуска произвольного кода это ж какое раздолье для хакеров. Запретить нахрен и превратить ваш комп в киоск, где можно ставить только специально одобренные ЦРУ и АНБ программы. И хватит с вас.

    Винды к чему-то такому и движутся с их виндостором.

     
     
  • 3.10, Аноним (9), 19:58, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/–
    люди вообще склонны отключать критичку в состоянии комфорта. примите это как принцип, велкам.
     
  • 3.11, Аноним (1), 20:04, 08/11/2026 [^] [^^] [^^^] [ответить]  
  • +/–
    Наблюдая годами за дырками во всём, даже железе, которые просто так не могут появиться, и приходя к пониманию что весь мир наш дырявый... ментально дистанция с любимым ноутом и линуксом превращается в пропасть. Как-то охладеваешь к технике.
    В бсд та же история? ОпенБСД - дырка от природы в силу оплаты, а в ФриБСД?
     

  • 1.7, Аноним (9), 19:54, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/–
    > или для замены ядра в Live-режиме без полноценной перезагрузки

    неск лет назад я бы назвал это божественным

    ща уже в виртуалках всё перед каждым релизом автоматом тестится, вроде

     
  • 1.13, Xasd1 (?), 20:20, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/–
    а если например сделать так чтобы ядро бы не падало бы?

    или… наоборот:

    если эта тулза тоже будет сбоить — то можно будет сделать какую-то другую обвязку уровнем выше чтобы оно переключало в том числе сам переключатор? 😂😂😂 заведома имея в памяти запасной переключатор и систему его диагностики 🙈🙈

     
  • 1.15, Аноним (15), 20:46, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Новый жиатан приехал
     
  • 1.16, Аноним (17), 21:10, 08/11/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/–
    Казалось бы что может пойти не так?
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    XSQUARE
    Inferno Solutions
    Hosting by Hoster.ru
    Хоcтинг: