Ingen gillar nertid eller omstarter. För att minimera nertiden lanserade Suse tidigare i år KGraft, ett verktyg med förmågan att uppdatera Linuxkärnan utan nertid. Nu har Suse beslutat att släppa tekniken som öppen källkod under en GPLv3-licens.
Grundidén bakom KGraft är att utnyttja funktionalitet som redan finns i Linuxkärnan. Det hela går ut på att man använder en ftrace-liknande teknik för att ersätta hela funktioner i kärnan med förutbestämda varianter. Det inkluderar att man modifierar kärnan så att man inte kan applicera KGraft på en existerande kärna. Kärnan måste istället uppdateras med KGraft på förhand.
KGraft använder inte funktionen stop_machine() eftersom den kan påverka känsliga snabbuppdaterande applikationer. Den kan för övrigt nyttja samma kompilerings- och länkprocess som alla andra tillägg till kärnan. Du som vill veta mer om tekniken rekommenderas att kolla in bildspelet på Linuxfoundation.org (pdf).
Metoden låter säkerligen bekant för många. Sedan tidigare finns ett liknande verktyg med namnet Ksplice som utvecklades av ett företag med samma namn, men det köptes senare av Oracle och ingår nu i företagets Unbreakable Enterprise Linux-erbjudande och är således inte tillgängligt för den breda massan.
Med KGraft går det att uppdatera Linuxkärnan utan omstart.
Ksplice erbjuds dock utan kostnad till användare av Fedora och Ubuntu, men utvecklingen av öppen källkod-versionen går ganska långsamt just nu. Av den anledningen är det säkerligen många som välkomnar en utvecklare som satsar helhjärtat på öppen källkod.
På lite längre sikt hoppas Suse att KGraft ska kunna användas för att ta en existerade uppdatering, konvertera den till en modul och sedan uppdatera kärnan per automatik med den modulen.
I dagsläget är processen inte helt automatiserad. Användaren måste kompilera uppdateringen manuellt eftersom Kgraftinte klarar av att hantera sådana komplicerade uppdateringar. Verktyget fungerar också bara med x84-64-arkitekturer men Suse siktar på att porta det för andra arkitekturer såsom Arm och IBM Power.
För närvarande anser Suse att tekniken är en ”fungerande prototyp”, det vill säga ingen teknik man ger support för och definitivt inget man bör använda i en produktionsmiljö. Men Suses långsiktiga mål är att införa KGraft som en standard i Linuxkärnan så att alla kan ta del av fördelarna.
IDG News