Guida all’utilizzo di smartctl in Smartmontools per Linux
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?
| Vantaggio | Beneficio |
|---|---|
| Rilevamento precoce dei guasti | Prevenire la perdita di dati prima che accada |
| Diagnostica in tempo reale | Monitorare i tuoi dischi senza riavviare |
| Automazione semplice | Funziona bene con cron, script e avvisi |
| Visibilità a livello hardware | Nessuna congettura: ottieni dati grezzi dal disco |
| Amichevole per DevOps e sysadmin | Ampliamente utilizzato nei data center e nei server cloud |
Come installare Smartmontools
L’installazione dipende dalla tua distribuzione Linux:
| 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 | Mostra informazioni sul disco |
| smartctl -H /dev/sda | Controlla lo stato di salute generale |
| smartctl -A /dev/sda | Elenca gli attributi S.M.A.R.T. dettagliati |
| smartctl -t short /dev/sda | Avvia un test di autovalutazione breve (2 min) |
| smartctl -t long /dev/sda | Avvia un test di autovalutazione esteso completo (10–60 min) |
| smartctl -l selftest /dev/sda | Mostra la cronologia dei test |
| smartctl -l error /dev/sda | Mostra 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
| ID | Attributo | Significato |
|---|---|---|
| 5 | Conteggio settori riallocati | Sectores difettosi rimappati su spazio di riserva |
| 197 | Conteggio settori in attesa | Sectores in attesa di rilettura |
| 198 | Conteggio non correggibile offline | Sectores con errori di lettura/scrittura |
| 194 | Temperatura (Celsius) | Mantenere sotto 50 °C per prestazioni ottimali |
Un valore crescente in questi campi = degrado del disco in corso.
Programma di monitoraggio raccomandato
| Compito | Frequenza |
|---|---|
| -H controllo della salute | Settimanale |
| Test breve (-t short) | Settimanale |
| Test lungo (-t long) | Mensile |
| Revisione del registro degli errori | Dopo arresti anomali o problemi di I/O |
| Monitoraggio della temperatura | Costante (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.


