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.
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:
L’hardware supportato comprende:
| 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 |
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.
| 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).
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.
| 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.
| 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) |
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.
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.