Crash di una macchina linux
Mi è capitato che una macchina remota, ha avuto un errore nel filesystem con errore di Input/Output
non potendo lanciare i comandi reboot, halt o shutdown
ho trovato un una soluzione buona da conoscere:
Il modulo sysrq del kernel si occupa di interaggire con la macchina in caso di mancata possibilità di accedere ad un terminale.
Kernel hacking —> Kernel debugging —> Magic SysRq key
echo 1 > /proc/sys/kernel/sysrq # abilita il kernel per l’ascolto dei segnali
(scrivendo 0, invece, il supporto viene disattivato).
non essendo in locale, la macchina non riceve direttamente le combinazioni di tasti Alt + SysRq + key, dove key è un tasto che indica l’azione da svolgere
si può però forzare l’invio di un signal scrivendo direttamente i caratteri nel filesystem virtuale /proc/sysrq-trigger
echo s > /proc/sysrq-trigger # invoca la syncronizazzione di emergenza
questo comando da remoto non si può usare, perche chiuderebbe la connessione remota, killando il processo sshd
echo i > /proc/sysrq-trigger # invoca il kill -9 a tutti i processi non di sistema attivi
killare a mano tutti i processi non di sistema.
echo s > /proc/sysrq-trigger # altra sincronizzazione
echo u > /proc/sysrq-trigger # umount / o remount in R/O delle partizioni
echo b > /proc/sysrq-trigger # software reset (equivale a premero il pulsante hardware reset)
Links utili:
http://matrixhasu.altervista.org/index.php?view=tips&cat=linux&tip=tips_linux__attivare_magic_sysrq