Red Hat introduce il patching del kernel live con Kpatch

redhat

Dopo SuSe con kGraft, e KSplice recentemente acquisita da Oracle, anche Red Hat propone alla community open-source Kpatch ovvero un tool che permette la modifica del kernel senza riavvio (dynamic kernel patching). Il codice è disponibilie su GitHub ed è stato licenziato sotto la GPLv2 anche dopo che è stato sviluppato internamente in un team Red Hat.

Gli autori lo presentano così:

With respect to granularity, kpatch works at the function level; put simply, old functions are replaced with new ones.

Rispettando la granularità, kpatch lavora a livello di funzione; per dirla semplicemente, le vecchie funzioni vengono rimpiazzate dalle nuove.

Come funziona quindi? kpatch agisce a livello delle funzioni, rimpiazzando a caldo le vecchie con le nuove; di fatto il software è composto di 4 componenti:

  • kpatch-build: una serie di generatori di patch, che compara i binari e sostituisce i vecchi ai nuovi (hot patch module)
  • hot patch module: un modulo ricompilato che comprende le nuove funzioni
  • kpatch core module: il modulo centrale che funge da interfaccia per ricollocare le nuove funzioni
  • kpatch utility: uno strumento a riga di comando per gestire i moduli “hot” e le configurazioni al prossimo boot

Certo la specifica aggiunta è che si tratta di un progetto ancora in fase di sviluppo per cui è ovviamente sconsigliato l’utilizzo in produzione, però un altro passo verso il sistema che non si spegnerà mai è stato fatto.

Non resta che aspettare un altro video simile a quello di SuSe per mirare kpatch in tutto il suo splendore.

Tags: , , ,