Visualizzazione post con etichetta smartctl. Mostra tutti i post
Visualizzazione post con etichetta smartctl. Mostra tutti i post

lunedì 24 aprile 2023

Linux: Verificare lo stato di salute dei dischi rigidi

Gli hard disk sono tra le periferiche che più facilmente sono soggette a rompersi pertanto è buona norma prevedere un backup periodico dei dati importanti. Uno dei problemi più comuni che si verifica con gli hard disk è quello di uno o più blocchi danneggiati. Un blocco danneggiato è un area del disco che non è più accessibile in lettura, in scrittura o entrambe. Anche pochi blocchi danneggiati sul disco possono provocare la corruzione dei file salvati e problemi/blocchi al sistema e, soprattutto se il loro numero aumenta, possono indicare che la rottura del disco è vicina. Tramite appositi strumenti è possibile verificare lo stato di salute dei dischi rigidi e diagnosticare eventuali malfunzionamenti in modo da correre ai ripari prima della loro rottura definitiva. Due utili strumenti per GNU/Linux per monitorare lo stato di salute dei dischi sono smartmontools e badblocks.

Prima di utilizzare tali tool è necessario individuare il disco da analizzare. Per elencare i dischi presenti nel sistema è possibile utilizzare il comando
lsblk
List Block Devices
FIG 1 - List Block Devices

In FIG 1 il disco presente sulla postazione è sda.

Smartmontools
Smartmontools è uno strumento in grado di rilevare i dati di diagnostica S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology) supportato dai dischi rigidi meccanici e SSD moderni e fornisce diversi indicatori di affidabilità del dispositivo. Per procedere all'installazione del tool, eseguire il seguente comando da terminale
sudo apt-get install smartmontools
Terminata l'installazione possiamo utilizzare smartctl per visualizzare informazioni generiche sul disco eseguendo il comando
smartctl -i /dev/sda
smartctl
FIG 2 - smartctl

Le ultime 2 righe indicano che il disco supporta la tecnologia S.M.A.R.T ed è abilitata. In caso contrario potevamo abilitarla tramite il comando
smartctl -s on /dev/sda

Per controllare lo stato di salute attuale del disco è possibile utilizzare il comando
sudo smartctl -H /dev/sda

Per visualizzare i messaggi di log relativi ai controlli  S.M.A.R.T. del disco 
sudo smartctl -l error /dev/sda

Per visualizzare tutte le informazioni sul disco, anche quelle non legate alla tecnologia S.M.A.R.T., è possibile utilizzare il comando
sudo smartctl --xall /dev/sda

Il tool smartctl consente anche di testare il disco.

Per eseguire un test rapido (solitamente della durata di pochi minuti)
sudo smartctl -t short /dev/sda
Per effettuare un test approfondito (operazione che può durare anche molte ore)
sudo smartctl -t long /dev/sda


Badblocks
Badblocks è un’utility per lo scanning degli hard disk che esegue una verifica di basso livello per individuare l'eventuale presenza di blocchi danneggiati e permette di creare una lista dei settori corrotti del disco. Il seguente comando avvia la scansione del disco e il salvataggio dei risultati all'interno di un file di testo
sudo badblocks -v /dev/sda > badsectors.txt
Badblocks
FIG 3 - Badblocks