Home
Riavvio automatico in kernel panic PDF Stampa E-mail
GNU/Linux - Tips 'n Tricks
Scritto da A. Specchia   
Sabato 06 Febbraio 2010 12:10

Capita, per fortuna molto più raramente di quanto succeda per i sistemi "ms finestre", che anche il Linux possa avere qualche problema di stabilità.

Che sia dovuto ad hardware mal funzionante o ad errori software dovuti al puro caso (può capitare una volta ogni 10 anni) o a problemi di configurazione, quando il pinguino è in panico, parte il kernel panic, ovvero l'equivalente della schermata blu del windows, una modalità in cui il sistema operativo, anzichè bloccarsi, riesce a maneggiare la situazione con le poche risorse che può usare per salvare quanti più dati possibile riguardo lo stato attuale della macchina.

Ipotizzando di avere acceso un server h24,  o comunque di aver acceso un pc a casa/ufficio ecc che deve svolgere dei compiti previsti, in modo del tutto autonomo, avere un blocco del genere significherebbe l'immediato cessare di ogni attività del sistema.

Per ovviare a questo inconveniente, il nostro caro linux ci permette di dargli una direttiva molto chiara.

Questa direttiva, che viene inserita nelle righe del grub che ci fanno partire il sistema con i parametri preferiti, non fa altro che far sapere al kernel che, in caso si presenti la necessità di avere il kernel panic, anzichè lasciare il pc bloccato per avvisare l'utente in qualche modo (come ad esempio facendo lampeggiare i led della tastiera), il pc deve essere riavviato entro un tot di tempo.

 

Questa direttiva si inserisce nella riga in cui specifichiamo la root del sistema e si chiama:

" panic=num_secondi_prima_del_riavvio" , ad esempio   panic=20.

I parametri di avvio che uso, giusto per fare un esempio, sono questi:

title=Gentoo Linux (2.6.31-gentoo-r6) RAID LVM2
root (hd0,4)
kernel /boot/kernel-genkernel-x86_64-2.6.31-gentoo-r6 root=/dev/ram0 ramdisk=8192 real_root=/dev/md0 dolvm udev panic=20 vga=0x318 video=vesafb:mtrr,ywrap
initrd /boot/initramfs-genkernel-x86_64-2.6.31-gentoo-r6

 

La riga che ci interessa è quella contrassegnata. E' visibile il parametro panic=20.

In questo caso, abbiamo detto al kernel di riavviarsi dopo 20 secondi in caso di kernel - panic avviato.

Tutto questo dev'essere, ovviamente, supportato dal rendere auto-avviabili tutti i programmi/servizi che il nostro sistema deve avere a disposizione per eseguire determinati lavori che fanno parte dei suoi compiti.

Giusto per fare un esempio, immaginiamo di dover scaricare un grande file tramite un programma p2p, un client bit-torrent deluge. Se dobbiamo consegnare questo file alla nonna, perchè ci deve lavorare su il giorno dopo (ad esempio un film degli anni 30 legalmente distribuito via torrent), sarebbe una bella rottura se uscissimo a fare un giro tra i boschi a riempire il nostro cestello di more e poi tornare in tarda sera e scoprire il pc bloccato , per qualche motivo, da più ore.... non sarebbe auspicabile.

Con la direttiva panic=tot, invece, non appena il pinguino entra in kernel-panic, dopo tot secondi, il sistema viene automaticamente riavviato. Per far partire anche il deluge (il nostro programmino) al riavvio, dobbiamo inserire quest'ultimo nella lista dei programmi auto-avviabili del sistema.

Se si tratta di un servizio e ci troviamo, ad esempio, in un sistema Gentoo, possiamo aggiungerlo tramite il comando:

rc-update add nome_del_servizio default .

Se si tratta di un programma, come il deluge, e vogliamo farlo partire all'avvio di gnome, possiamo andare in Sistema-> Applicazioni di avvio, inserire una nuova voce con i parametri corretti ed il gioco è fatto. Ad ogni riavvio/avvio, il deluge sarà lì già al lavoro per noi.

 

Buona navigazione!

Antonio Specchia.

Ultimo aggiornamento Sabato 06 Febbraio 2010 16:11
 

Utenti connessi

 29 visitatori online



Creative Commons License

Questo sito è pubblicato sotto licenza Creative Commons
DeSfA - De Shell Facemmo Ali