martedì, Dicembre 3, 2024

Linux Kernel: HDD I/O fault e Magic SysRq key

Giovanni "Jinko" Uccio
Giovanni "Jinko" Ucciohttps://ie.linkedin.com/in/giovanniuccio
- Software Engineer - Debian Evangelist - Escalation Engineer - Debianizzati.org

Qualche tempo fa dopo alcuni tempi di travaglio uno degl HDD principali del mio server Debian (un server di test) ha iniziato ad avere dei problemi di I/O riguardanti la fallita lettura di alcuni blocchi/settori sul device hardware, dopo aver nel passato effettuato la manutenzione la situazione è poi peggiorata.
Gli errori di I/O sono diventati critici rendendo il sistema inutilizzabile, non riuscivo neanche a effettuare il reboot o lo shutdon della macchina per passare poi a un ultimo check dei dischi per poi prepare la sostituzione hardware del drive danneggiato, nel tentativo di eseguire azioni di reboot ricevevo questi errori:

 deb-test1:~# reboot
bash: /sbin/reboot: Input/output error
deb-test1:~# shutdown -r now
bash: /sbin/shutdown: Input/output error

palesemente il problema era del’ HDD, sembrava evidente che a questopunto il kernel non riusdiva a caricare i file eseguibili che mi servivano, documentandomi un poco sulla situazione sono arrivato alla “Magic SysRq Key“.
Essa è una combinazione di chiave compresa dal kernel che permette di lanciare comandi di basso livello indipendentemente dallo stato del sistema, ed è una funzionalità se così la possiamo definire che è abilitata (solitamente di default) all’interno del kernel.

jinko@deb-test1:/usr/src/linux-2.6.34$ cat .config | grep -i sysrq
CONFIG_MAGIC_SYSRQ=y

ed è controllata dai prametri del kernel sysctl e da kernl-sysrq, codesta funzionalità è nata come combinazioni di chiavi come alt+numero/lettera, ma è anche presente attraverso il filesystem proc.

La prima cosa che ho eseguito è stata l’attivazione dell’opzione Magis SysRq:

echo 1 > /proc/sys/kernel/sysrq

e sono andato ad effettuare il reboot della macchina (sperenzoso di fare un ultuima analisi):

echo b > /proc/sysrq-trigger

in questo modo verrà effettuato il riavvio del sistema senza effettuare l’umount o la sincronizzazione del filesystem.

Per saperne di più potete visioanre la documentazione ufficiale cliccando qui.

Articoli correlati

Noleggia una Tesla per il tuo evento ICT!

Categorie