Guida alle tecnologie

SMART e smartmontools: monitoraggio dei dischi con S.M.A.R.T.

7 min read Archiviazione Aggiornato 16 Oct 2025
Monitoraggio SMART con smartmontools
Monitoraggio SMART con smartmontools

Introduzione

SMART (acronimo di Self-Monitoring, Analysis and Reporting Technology) è una funzionalità integrata nei dischi rigidi e negli SSD che raccoglie attributi statistici e può segnalare anomalie indicative di un possibile guasto. smartmontools è una suite gratuita e multipiattaforma che sfrutta questi attributi per ispezionare lo stato dei dispositivi di storage: fornisce comandi interattivi (smartctl) e un demone di background (smartd) per notifiche automatiche.

Definizione rapida: SMART = insieme di sensori/attributi; smartctl = interazione manuale; smartd = monitoraggio automatico.

Perché usarlo

  • Riduce il rischio di perdita dati fornendo avvisi precoci.
  • Consente di programmare backup e sostituzioni prima della degradazione critica.
  • Integra self-test che possono essere eseguiti in modo pianificato.

Important: SMART non garantisce il rilevamento di tutti i guasti. È un livello aggiuntivo di protezione, ma non sostituisce backup regolari.

Installazione

Su Debian / Ubuntu:

sudo apt-get update
sudo apt-get install smartmontools

Su Fedora / CentOS (dnf/yum):

sudo dnf install smartmontools
# oppure
sudo yum install smartmontools

L’installazione fornisce due programmi principali:

  • smartctl — uso interattivo/diagnostico
  • smartd — demone per monitoraggio continuo e notifiche

Nota: assicurati che il sistema abbia una posta locale funzionante o una procedura di inoltro per ricevere le notifiche inviate da smartd.

Uso di smartctl (diagnosi manuale)

smartctl richiede privilegi di root; usa sudo o esegui come root. smartctl lavora su dispositivi interi (ad es. /dev/sda), non su singole partizioni.

Informazioni generali sul dispositivo:

sudo smartctl -i /dev/sda

Informazioni sul disco

L’immagine mostra un esempio di output che indica se il supporto SMART è disponibile e attivo. Se SMART è disponibile ma disabilitato, puoi abilitarlo con:

sudo smartctl -s on /dev/sda

Verifica dello stato “health”:

sudo smartctl -H /dev/sda

Controllo dello stato di salute del disco

Se l’output non riporta PASSED, considera il disco a rischio: esegui immediatamente backup e pianifica la sostituzione.

Visualizzare le capacità SMART e i self-test disponibili:

sudo smartctl -c /dev/sda

Capacità SMART e tempi stimati dei self-test

L’output indica se il disco supporta self-test e stima la durata dei test corti e lunghi (ad es. 2 min e 95 min). Per avviare un self-test breve:

sudo smartctl -t short /dev/sda

Avvio di un self-test breve

I test vengono eseguiti in background. Per vedere i risultati degli ultimi self-test:

sudo smartctl -l selftest /dev/sda

Questo comando mostra gli ultimi venti self-test registrati. Per eseguire anche un test esteso (più approfondito):

sudo smartctl -t long /dev/sda

Important: se un test fallisce, procedi subito al backup e all’analisi approfondita.

smartd: monitoraggio e notifiche automatiche

smartd è il demone che esegue richieste SMART periodiche e invia avvisi quando vengono rilevati errori o fallimenti nei test. La configurazione principale è /etc/smartd.conf.

  1. Apri /etc/smartd.conf e commenta o rimuovi la direttiva DEVICESCAN se preferisci elencare esplicitamente i dispositivi. Poi aggiungi una riga per ogni disco che vuoi monitorare, ad esempio:
/dev/sda -a -o on -S on -s (S/../.././02|L/../../6/03) -m root -M exec /usr/share/smartmontools/smartd-runner

Spiegazione delle opzioni comuni:

  • /dev/sda: file dispositivo del disco
  • -a: abilita opzioni comuni (short/long/attributes/error logging)
  • -d sat: (opzionale) specifica il tipo di dispositivo; necessario se smartd non lo riconosce
  • -o on: abilita i test offline automatici
  • -S on: abilita l’autosalvataggio dei parametri SMART
  • -s (S/../.././02|L/../../6/03): pianifica i self-test (es. breve ogni giorno alle 02:00, lungo ogni sabato alle 03:00)
  • -m root: invia una mail all’utente root (può essere una lista separata da virgole)
  • -M exec /usr/share/smartmontools/smartd-runner: esegue uno script helper che può lanciare azioni aggiuntive oltre all’email

Note: se utilizzi controller RAID hardware che presentano dischi via passthrough, potresti dover usare opzioni -d specifiche per il controller.

Per far partire smartd all’avvio:

  • Con systemd (sistemi moderni):
sudo systemctl enable --now smartmontools.service
  • Con init/sysv (vecchi sistemi Debian):
sudo sed -i 's/^#start_smartd=yes/start_smartd=yes/' /etc/default/smartmontools
sudo /etc/init.d/smartmontools start

Per testare le notifiche, aggiungi temporaneamente l’opzione -M test sulla riga di /etc/smartd.conf, poi riavvia smartd:

sudo systemctl restart smartmontools.service
# oppure
sudo /etc/init.d/smartmontools restart

Questo invierà una notifica di test alle destinazioni configurate.

Playbook: installazione e messa in produzione (SOP sintetico)

  1. Installazione pacchetto: apt/yum/dnf.
  2. Verifica dispositivi disponibili: lsblk, lshw -class disk.
  3. Controllo manuale iniziale: sudo smartctl -i /dev/sdX ; sudo smartctl -H /dev/sdX.
  4. Abilita SMART se necessario: sudo smartctl -s on /dev/sdX.
  5. Avvia un test breve su ogni disco non critico: sudo smartctl -t short /dev/sdX.
  6. Configura /etc/smartd.conf per i dischi di produzione (usando -a e -m). Verifica l’email locale o configura relay.
  7. Abilita e avvia il servizio: sudo systemctl enable –now smartmontools.service.
  8. Monitoraggio: controlla syslog/journal per i messaggi smartd e simula un test di notifica.
  9. Documenta la politica di azione (quando fare backup, quando sostituire il disco).

Checklist per ruolo

Administrator:

  • Installare smartmontools su tutti i nodi rilevanti
  • Verificare che SMART sia attivo su ogni disco
  • Configurare /etc/smartd.conf con notifiche e self-test
  • Assicurare il funzionamento delle email/sistema di alerting
  • Automatizzare report settimanali (opzionale)

Operatore / Utente avanzato:

  • Eseguire smartctl -H prima di operazioni critiche
  • Lanciare smartctl -l selftest per verificare lo storico
  • Segnalare tempestivamente qualsiasi avviso all’admin

Quando SMART e smartmontools possono fallire

Counterexample / Limiti:

  • SMART non rileva guasti improvvisi come cortocircuiti o danni meccanici istantanei.
  • Alcuni SSD o controller esotici possono esporre attributi SMART diversi o incompleti.
  • Dischi in array hardware RAID potrebbero non esporre direttamente SMART: il controller deve supportare il passthrough.

Quando dipendere solo da SMART è una cattiva idea: in ambienti HA/mission-critical, mantenere ridondanza e backup invece di affidarsi esclusivamente ad avvisi SMART.

Alternative e integrazioni

  • soluzioni di monitoring centralizzate (Prometheus + node_exporter + exporter SMART) per raccogliere metriche storiche
  • strumenti commerciali con integrazione ITSM e ticketing
  • integrazione con script di orchestration per rimozione automatica da pool di storage

Esempio di flusso decisionale (mermaid)

flowchart TD
  A[Avviso SMART ricevuto] --> B{Errore critico?}
  B -- Sì --> C[Backup immediato]
  C --> D[Sostituzione disco]
  B -- No --> E{Compare trend di degrado?}
  E -- Sì --> F[Pianifica sostituzione e backup]
  E -- No --> G[Monitora più frequentemente]
  G --> H[Log e revisione settimanale]

Test di accettazione e casi di prova

  • Caso 1: dispositivo con SMART disabilitato -> smartctl -i mostra SMART disabled; dopo smartctl -s on, SMART risulta Enabled.
  • Caso 2: avvio self-test breve -> smartctl -t short restituisce job id; smartctl -l selftest mostra il risultato quando completato.
  • Caso 3: smartd invia mail di test -> impostare -M test e verificare ricezione della mail.
  • Caso 4: disco con attributi deteriorati -> smartd invia alert, documento azioni intraprese.

Критерии приёмки

  • smartmontools installato su tutti i nodi target
  • smartd attivo e abilitato all’avvio
  • ricezione di notifiche di test
  • playbook e checklist documentati nel sistema di runbook

Suggerimenti pratici e troubleshooting

  • Se smartd non parte, controlla i log: sudo journalctl -u smartmontools.service o /var/log/syslog.
  • Per controller non riconosciuti, prova diversi parametri -d (es. -d ata, -d sat, -d scsi) con smartctl; riporta lo stesso parametro in smartd.conf.
  • Se ricevi falsi positivi, valuta la soglia di intervento: non tutti gli errori SMART richiedono sostituzione immediata.

Breve glossario (1 riga ciascuno)

  • SMART: tecnologia di monitoraggio integrata nei dispositivi di storage.
  • smartctl: utilità CLI per interrogare e comandare i dispositivi SMART.
  • smartd: demone che automatizza il polling e invia notifiche.
  • Self-test (short/long): test integrati nel firmware per verificare l’integrità del disco.

Rischi e mitigazioni

  • Rischio: avviso mancato per guasto improvviso -> Mitigazione: backup regolari e ridondanza.
  • Rischio: mancate notifiche email -> Mitigazione: configurare più canali di alert (slack, webhook, ticketing).

Consigli per il contesto locale (Italia)

  • Verifica che il server possa inviare email verso l’esterno (SMTP relay aziendale) e che le policy anti-spam non blocchino le notifiche.
  • Documentare la procedura di sostituzione disco in italiano nel runbook operativo e includere riferimenti ai fornitori locali per ricambi rapidi.

Conclusione

SMART e smartmontools forniscono strumenti pratici per ottenere avvisi precoci su problemi di storage, guadagnando tempo prezioso per backup e migrazione dati. Rimangono strumenti complementari: la strategia corretta combina monitoraggio, backup verificati e piani di sostituzione multi-livello.

Note finali:

  • Mantieni aggiornato smartmontools e i firmware dei dispositivi quando possibile.
  • Integra gli avvisi SMART nel tuo sistema di monitoring centrale per trend e alert coerenti.
Autore
Redazione

Materiali simili

Recuperare App e controllo browser in Windows Security
Sicurezza Windows

Recuperare App e controllo browser in Windows Security

Errore 'Operazione non riuscita' in Outlook — soluzioni
Supporto Outlook

Errore 'Operazione non riuscita' in Outlook — soluzioni

Abilita conferma eliminazione in Windows 8
Windows

Abilita conferma eliminazione in Windows 8

Surround 360: Facebook rilascia il progetto open source
VR Hardware

Surround 360: Facebook rilascia il progetto open source

Phone Companion Windows 10: guida Android e iOS
Guide tecniche

Phone Companion Windows 10: guida Android e iOS

RAID1: Configurare /dev/hda e GRUB
Guide tecniche

RAID1: Configurare /dev/hda e GRUB