Da quando ho attivato il supporto SMART per il monitoraggio degli hard disk, mi trovo sempre un misterioso messaggio sui log di sistema:
/dev/sdb : Usage: Temperature_Celsius (194) changed to 157, 162, 157, 162
Considerato che non vedo ne' fiamme ne' fumo provenire dal CED, mi pare impossibile che i dischi stiano viaggiando su temperature (in gradi celsius) cosi' alte.
Vediamo la situazione attuale con con il comando:
smartctl -a /dev/sdb
Viene visualizzato questo Output (mostro solo la parte interessante per questo post):
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
(...)
194 Temperature_Celsius 0x0002 162 162 000 Old_age Always - 37 (Lifetime Min/Max 25/42)
(...)
37 mi sembra una temperatura piu' credibile (anche toccando fisicamente il disco non mi si e' liquefatta la mano).
Il problema e' causato dal una errata configurazione di smartd, il demone che si occupa di monitorare i dischi.
Questo infatti registra sui log non la temperatura reale (registrata nella colonna RAW_VALUE) bensi' il valore delle colonne VALUE e WORST.
Per convincere smartd a usare correttamente i dati sulla temperatura bisogna utilizzare il parametro
-R 194
ad esempio sul mio sistema ho modificato nel file /etc/smartd.conf la riga:
DEVICESCAN -m root -M exec /usr/share/smartmontools/smartd-runner
in
DEVICESCAN -m root -R 194 -M exec /usr/share/smartmontools/smartd-runner
Possiamo modificare ulteriormente questa riga in modo da segnalare le variazioni (ad esempio) maggiori o uguali a 4 gradi celsius:
DEVICESCAN -m root -R 194 -W 4 -M exec /usr/share/smartmontools/smartd-runner
Una ulteriore modifica per segnalare il raggiungimento di un limite (seppur considerato ancora in sicurezza) in questo caso 45 gradi celsius:
DEVICESCAN -m root -R 194 -W 4,45 -M exec /usr/share/smartmontools/smartd-runner
Una ulteriore modifica per segnalare il raggiungimento di un limite critico, in questo caso 55 gradi celsius:
DEVICESCAN -m root -R 194 -W 4,45,55 -M exec /usr/share/smartmontools/smartd-runner
Il parametro
-m
(presente in tutti gli esempi) indica a smartd di inviare una mail all'utente indicato (o a piu' utenti separati da virgole) in caso di errore grave (o di raggiungimento di limite critico).