Come riavviare macchine Linux o FreeBSD con storage inchiodato

NOTA: Il seguente post è la traduzione dell'equivalente in inglese sul blog it-notes. L'originale sarà sempre più aggiornato.

A volte il filesystem si blocca. Non è possibile eseguire alcuna operazione e un "riavvio" causerà solo un tempo di attesa indefinito per l'I/O. È possibile accedere al server tramite ssh (o login tramite console), ma non è possibile eseguire alcuna operazione perché i dispositivi di archiviazione sono bloccati. Questo può accadere a causa di un problema sul file system o di uno strano bug del kernel. È più probabile che questo accada quando si ha a che fare con interfacce esterne collegate via usb.

Esiste un codice "magico" che attiva una condizione specifica del kernel e causa un riavvio.

Attenzione, questi comandi devono essere considerati come l'ultima risorsa. Non verrà eseguito il flush del disco, né verrà avviata la procedura di spegnimento, per cui si rischia di distruggere completamente il file system o qualsiasi file aperto.

Tuttavia, questa potrebbe essere l'opzione migliore che avete a disposizione e non sarà più dannosa di un hard reset o di un "tradizionale" cable pull - ma potete farlo da remoto.

Ricordate di lanciare i comandi con i privilegi di root:

Su Linux:

echo b > /proc/sysrq-trigger

In questo modo si attiverà un riavvio immediato - non verranno eseguite ulteriori operazioni sul disco.

Su FreeBSD:

sysctl debug.kdb.panic=1

Verrà generato un kernel panic che (per impostazione predefinita) causerà un riavvio.

Commenti