Se stai utilizzando un VPS o un server dedicato, la stabilità del disco non è facoltativa: è fondamentale per la missione. Un singolo disco guasto può comportare perdita di dati, inattività e costosi recuperi. Ecco perché gli amministratori di sistema Linux si affidano a smartctl, un potente strumento da riga di comando che ti offre accesso diretto alla diagnostica del disco tramite S.M.A.R.T.

Questa guida ti accompagnerà nell’uso di smartctl su Linux, inclusi comandi pratici, esempi del mondo reale e automazione intelligente.

Che cos’è smartctl?

smartctl fa parte del pacchetto Smartmontools. Consente l’accesso a S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), integrato nella maggior parte degli HDD e SSD moderni.

Con smartctl, puoi:

  • Controllare lo stato di salute del disco
  • Eseguire test di autovalutazione brevi o estesi
  • Visualizzare metriche di temperatura e prestazioni
  • Rilevare segni precoci di guasto hardware

L’hardware supportato include:

  • Unità SATA / IDE / SCSI / NVMe
  • Sia SSD che HDD
  • La maggior parte delle distribuzioni server Linux e delle piattaforme di hosting

Perché usare smartctl?

VantaggioBeneficio
Rilevamento precoce dei guastiPrevenire la perdita di dati prima che accada
Diagnostica in tempo realeMonitorare i tuoi dischi senza riavviare
Automazione sempliceFunziona bene con cron, script e avvisi
Visibilità a livello hardwareNessuna congettura: ottieni dati grezzi dal disco
Amichevole per DevOps e sysadminAmpliamente utilizzato nei data center e nei server cloud

Come installare Smartmontools

L’installazione dipende dalla tua distribuzione Linux:

OSComando di installazione
Ubuntu/Debiansudo apt update && sudo apt install smartmontools
CentOS/RHELsudo yum install smartmontools
Fedorasudo dnf install smartmontools
Arch Linuxsudo pacman -S smartmontools

Una volta installato, il comando smartctl è disponibile tramite il terminale.

Comandi smartctl essenziali

ComandoCosa fa
smartctl -i /dev/sdaMostra informazioni sul disco
smartctl -H /dev/sdaControlla lo stato di salute generale
smartctl -A /dev/sdaElenca gli attributi S.M.A.R.T. dettagliati
smartctl -t short /dev/sdaAvvia un test di autovalutazione breve (2 min)
smartctl -t long /dev/sdaAvvia un test di autovalutazione esteso completo (10–60 min)
smartctl -l selftest /dev/sdaMostra la cronologia dei test
smartctl -l error /dev/sdaMostra i registri degli errori

📌 Sostituisci /dev/sda con il tuo disco effettivo (ad esempio, /dev/nvme0n1 per SSD NVMe).

Esempio: Controllo dello stato di salute del disco

sudo smartctl -H /dev/sda

Output previsto:

SMART overall-health self-assessment test result: PASSED

Se il risultato è PASSED, il tuo disco è attualmente sano.
Se mostra FAILED — esegui immediatamente il backup e pianifica la sostituzione.

Attributi SMART chiave da monitorare

IDAttributoSignificato
5Conteggio settori riallocatiSectores difettosi rimappati su spazio di riserva
197Conteggio settori in attesaSectores in attesa di rilettura
198Conteggio non correggibile offlineSectores con errori di lettura/scrittura
194Temperatura (Celsius)Mantenere sotto 50 °C per prestazioni ottimali

Un valore crescente in questi campi = degrado del disco in corso.

Programma di monitoraggio raccomandato

CompitoFrequenza
-H controllo della saluteSettimanale
Test breve (-t short)Settimanale
Test lungo (-t long)Mensile
Revisione del registro degli erroriDopo arresti anomali o problemi di I/O
Monitoraggio della temperaturaCostante (tramite script)

Automatizza con Cron

Esempio: un rapporto settimanale via email sulla salute del disco

0 3 * * 1 smartctl -H /dev/sda | mail -s "SMART Health Report" you@example.com

📌 Assicurati che mailutils o sendmail sia installato.

Conclusione

smartctl è uno strumento leggero ma potente che nessun sysadmin dovrebbe trascurare. Con esso, puoi mantenere i tuoi server sani, i tuoi dati al sicuro e la tua infrastruttura proattiva.