web analytics

Kexec-Tool utile strumento per il reboot del Kernel senza riavviare il sistema operativo

Kexec-Tool è un’utile strumento che ci consente di riavviare il Kernel in una nuova versione senza dover riavviare la nostra distribuzione.

Kexec-Tool
Abbiamo recentemente parlato di quanto sia importante mantenere aggiornato il Kernel dato che i nuovi aggiornamenti contengono non solo ottimizzazioni ma anche patch di sicurezza e correzioni di bug varie che rendono il nostro sistema operativo più stabile e soprattutto più sicuro.
Se abbiamo però un server o un sistema operativo collegato ad esempio macchine che funzionano 24 ore al giorno il riavvio è un bel problema, per questo motivo molti sviluppatori stanno cercando di trovare nuove soluzioni per poter aggiornare soprattutto il Kernel senza dover riavviare l’intero sistema operativo

A fornire una soluzione ci pensa Ksplice software che troviamo presente nei repository delle principali distribuzioni Linux, un’altra valida alternativa è il nuovo progetto denominato kGraft e sviluppato dal team SUSE Labs che consiste in un tool in grado di inserire patch ne Kernel Linux in tempo reale, senza dover riavviare il sistema.
Il nostro lettore TopoRuggente ci ha segnalato anche il tool Kexec strumento open source in grado di gestire velocemente i riavvii kexec. In poche parole Kexec-Tool dispone di utili strumenti che consentono di caricare in memoria l’intero Kernel avviando cosi il processo di aggiornamento per poi ripristinare il Kernel aggiornato in un secondo momento, il tutto  bypassando quindi il normale processo di avvio.

Prima di procedere con la guida ricordo che in caso di errori durante l’aggiornamento potrebbero rendere instabile il nostro sistema operativo, consiglio quindi di testare la guida su Virtualbox.

Per installare Kexec-Tool in Ubuntu, Debian e derivate basta digitare:

sudo apt-get install kexec-tools

Per installare Kexec-Tool in Fedora, CentOS, RHEL basta digitare:

su
yum install kexec-tools

a questo punto aggiorniamo il Kernel dai nostri repository
se abbiamo Ubuntu o una derivata loggiamoci da root digitando sudo -s per le altre distribuzioni basta dare un semplice su
una volta aggiornato il Kernel dovremo riavviare invece basta dare:

latestkernel=`ls -t /boot/vmlinuz-* | sed "s//boot/vmlinuz-//g" | head -n1` 

e successivamente verifichiamo di aver correttamente installato l’aggiornamento digitando:

echo $latestkernel 

se corretto avremo la versione del kernel aggiornata,
a questo punti digitiamo:

kexec -l /boot/vmlinuz-${latestkernel} --initrd=/boot/initramfs-${latestkernel}.img --append="`cat /proc/cmdline`"

e poi

kexec -e

al termine del processo digitiamo:

uname -r

dovremo avere come risultato il Kernel aggiornato attualmente attivo nella nostra distribuzione.
Ringrazio il nostro lettore TopoRuggente per la segnalazione,