SysRq - Un amico per i disaster recovery!
January 5th, 2010
Avete presente quel misterioso tasto, talvolta chiamato R Sist (in italiano) o Sys Rq (in inglese)? Mi son chiesto per anni a cosa servisse e soprattutto se funzionava davvero… Un amico una volta mi disse, con aria mistica “Ti dà sempre una shell anche col computer in panne!”.
Vediamo di dare una risposta a questo interrogativo.
SysRq sta per System Request, ed è un tasto che, utilizzato in combinazioni particolari, lancia dei comandi alla macchina che possono essere particolarmente utili in caso di kernel panic, per esempio.
Per una lista completa, o una trattazione più approfondita potete consultate la relativa pagina su wikipedia .
Sfortunatamente (o fortunatamente, dipende dai punti di vista) questo tasto e le relative macro non sono abilitate di default (at least in Archlinux). Per un’abilitazione temporanea possiamo fare (da root):
# echo 1 > /proc/sys/kernel/sysrq
Per renderlo permanente al boot invece modifichiamo (o creiamo se non esiste) il file /etc/sysctl.conf modificando (o aggiungendo) la riga:
kernel.sysrq = 1
Invocando sysctl -p ricarichiamo la configurazione del file appena modificato.
In caso di kernel panic, o di blocco della macchina, prima di togliere brutalmente la corrente, possiamo provare questa combinazione: Un famoso “ritornello” per ricordarselo è “R*eboot *Even I*f *System U*tterly *Broken”, o “BUSIER” al contrario… Io REISUB me lo ricordo abbastanza bene.
Alt + SysRQ + r (unraw)
Alt + SysRQ + e (Terminate)
Alt + SysRQ + i (Kill)
Alt + SysRQ + s (Sync)
Alt + SysRQ + u (Unmount)
Alt + SysRQ + b (Reboot)
Questo permette di evitare di corrompere il filesystem, e soprattutto, inviando un SIGTERM a tutti i processi permette ai programmi di terminare in maniera corretta.
Che aggiungere… Buon disaster recovery a tutti…
Enrico Carlesso
Leave a Reply