Osegi
Logiciels·2 min de lecture

kmorph : un outil libre relance Linux en deux secondes après un plantage

L'équipe Multikernel dévoile kmorph, un projet libre qui bascule vers un noyau Linux de secours après un plantage ou pour une mise à jour, sans redémarrage complet.

Server rack with a terminal showing a Linux kernel switching to a standby kernel after a crash.
Image: Хабр

L'équipe du projet Multikernel a publié kmorph, un projet libre qui permet de rétablir rapidement un système Linux après un plantage du noyau. Il sert aussi à remplacer le noyau en cours d'exécution sans redémarrage complet. Le développement est mené par Cong Wang, mainteneur du sous-système de contrôle du trafic (TC) du noyau Linux.

Lors des tests des développeurs, un serveur exécutant nginx a repris son activité environ deux secondes après une défaillance du noyau. L'équipe souhaite à terme rendre la bascule instantanée et imperceptible pour les clients connectés.

Un noyau de secours déjà en mémoire

Aujourd'hui, un plantage du noyau peut immobiliser un PC ou un serveur pendant plusieurs minutes : initialisation du matériel, chargement de l'environnement système, sauvegarde de l'image mémoire via kdump. Avec kdump, le système démarre en pratique deux fois : kexec charge d'abord un noyau distinct pour enregistrer l'image mémoire, puis le noyau de production démarre avec ses services.

kmorph charge à l'avance en mémoire un noyau Linux de secours et un environnement minimal, rattachés à un cœur de processeur dédié, qui surveillent le noyau principal. En cas de blocage ou de panique, l'environnement de secours prend le relais, sauvegarde l'image mémoire du noyau défaillant et reprend les cœurs, la mémoire, les périphériques, la configuration réseau et le système de fichiers.

Deux outils pilotent la bascule : kmorph, exécuté dans l'environnement actif, prépare l'environnement de secours et y synchronise l'état du réseau ; kmorphd, exécuté dans l'environnement de secours, surveille l'environnement actif. Des services comme nginx peuvent y tourner en attente et traiter les requêtes dès la bascule.

Mises à jour et compatibilité

Le même mécanisme permet de mettre à jour le noyau sans redémarrage classique. Le noyau intègre déjà Kexec HandOver (KHO) et Live Update Orchestrator (LUO), qui lancent un nouveau noyau depuis l'ancien sans perdre l'état du système. Mais ils ne servent à rien après un plantage, car ils exigent un noyau en état de marche, et ils sont plus lents, puisqu'ils passent par un redémarrage kexec.

kmorph prend en charge x86_64 et ARM64 ; RISC-V est en cours de développement. L'intégration aux distributions suit celle de kdump, via dracut, initramfs-tools, kernel-install et systemd.

Des apps à découvrir

SUMO : le puzzle de nombres

Touche les bonnes cases, additionne, atteins l'objectif. Facile à apprendre, difficile à maîtriser. Gratuit, pour tous les âges.

Mots-clés:linuxkmorphmultikernelkernelkdumpopen source

Plus d'actus de ce jour

Tout voir →

Plus dans: Logiciels

Tout voir →