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?

VantaggiVantaggi
Rilevamento precoce dei guastiPrevenzione della perdita di dati prima che avvenga
Diagnostica in tempo realeMonitoraggio delle unità senza riavvio
Automazione sempliceFunziona bene con cron, script e avvisi
Visibilità a livello hardwareNessuna congettura: ottenete i dati grezzi dall’unità
Facile da usare per DevOps e sysadminAmpiamente utilizzato nei datacenter e nei server cloud

Come installare Smartmontools

L’installazione dipende dalla distribuzione Linux in uso:

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/sdaVisualizza le informazioni sull’unità
smartctl -H /dev/sdaControlla lo stato di salute generale
smartctl -A /dev/sdaElenca gli attributi dettagliati S.M.A.R.T
smartctl -t short /dev/sdaAvvia un breve autotest (2 minuti)
smartctl -t long /dev/sdaAvvia un autotest completo ed esteso (10-60 minuti)
smartctl -l selftest /dev/sdaMostra la cronologia dei test
smartctl -l error /dev/sdaVisualizza 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

IDAttributoSignificato
5Conteggio settori riallocatiSettori danneggiati riallocati per riservare spazio
197Conteggio settori in attesa correnteSettori in attesa di rilettura
198Conteggio non correggibile offlineSettori con errori di lettura/scrittura
194Temperatura (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 saluteSettimanale
Test breve (-t breve)Settimanale
Test lungo (-t long)Mensile
Esame del registro degli erroriDopo crash o problemi di I/O
Monitoraggio della temperaturaCostante (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.