Se si utilizza un server VPS o dedicato, la stabilità del disco non è opzionale, ma è fondamentale. Un singolo disco guasto può causare la perdita di dati, tempi di inattività e costosi interventi di ripristino. Ecco perché gli amministratori di sistema Linux si affidano a smartctl, un potente strumento a riga di comando che consente l’accesso diretto alla diagnostica delle unità tramite S.M.A.R.T.

Questa guida vi guida all’uso di smartctl su Linux, con comandi pratici, esempi reali e automazione intelligente.

Che cos’è smartctl?

smartctl fa parte del pacchetto Smartmontools. Consente di accedere alla tecnologia S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology), integrata nella maggior parte dei moderni HDD e SSD.

Con smartctl è possibile:

  • Controllare lo stato di salute dell’unità
  • Eseguire autotest brevi o estesi
  • Visualizzare le metriche relative alla temperatura e alle prestazioni
  • Individuare i primi segni di guasto dell’hardware

L’hardware supportato comprende:

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

Perché usare smartctl?

Vantaggi Vantaggi
Rilevamento precoce dei guasti Prevenzione della perdita di dati prima che avvenga
Diagnostica in tempo reale Monitoraggio delle unità senza riavvio
Automazione semplice Funziona bene con cron, script e avvisi
Visibilità a livello hardware Nessuna congettura: ottenete i dati grezzi dall’unità
Facile da usare per DevOps e sysadmin Ampiamente utilizzato nei datacenter e nei server cloud

Come installare Smartmontools

L’installazione dipende dalla distribuzione Linux in uso:

OS Comando di installazione
Ubuntu/Debian sudo apt update && sudo apt install smartmontools
CentOS/RHEL sudo yum install smartmontools
Fedora sudo dnf install smartmontools
Arch Linux sudo pacman -S smartmontools

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

Comandi smartctl essenziali

Comando Cosa fa
smartctl -i /dev/sda Visualizza le informazioni sull’unità
smartctl -H /dev/sda Controlla lo stato di salute generale
smartctl -A /dev/sda Elenca gli attributi dettagliati S.M.A.R.T
smartctl -t short /dev/sda Avvia un breve autotest (2 minuti)
smartctl -t long /dev/sda Avvia un autotest completo ed esteso (10-60 minuti)
smartctl -l selftest /dev/sda Mostra la cronologia dei test
smartctl -l error /dev/sda Visualizza i log degli errori

📌 Sostituire /dev/sda con l’unità effettiva (ad esempio, /dev/nvme0n1 per le unità SSD NVMe).

Esempio: Controllo della salute dell’unità

sudo smartctl -H /dev/sda

Risultato atteso:

Risultato del test di autovalutazione della salute complessiva di SMART: PASSATO

Se il risultato è PASSATO, l’unità è attualmente sana.
Se il risultato è FALLITO, eseguire immediatamente il backup e pianificare la sostituzione.

Attributi SMART chiave da monitorare

ID Attributo Significato
5 Conteggio settori riallocati Settori danneggiati riallocati per riservare spazio
197 Conteggio settori in attesa corrente Settori in attesa di rilettura
198 Conteggio non correggibile offline Settori con errori di lettura/scrittura
194 Temperatura (Celsius) Mantenere la temperatura al di sotto dei 50 °C per ottenere prestazioni ottimali

Un valore crescente in questi campi = degrado dell’unità in corso.

Programma di monitoraggio consigliato

Attività Frequenza
-H controllo dello stato di salute Settimanale
Test breve (-t breve) Settimanale
Test lungo (-t long) Mensile
Esame del registro degli errori Dopo crash o problemi di I/O
Monitoraggio della temperatura Costante (tramite script)

Automatizzare con Cron

Esempio: un rapporto settimanale via e-mail sullo stato di salute del disco

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

📌 Assicurarsi che mailutils o sendmail siano installati.

Conclusione

smartctl è uno strumento leggero ma potente che nessun sysadmin dovrebbe trascurare. Con esso potete mantenere i vostri server sani, i vostri dati sicuri e la vostra infrastruttura proattiva.