lunedì 28 settembre 2009

Get Smart! (SMART Usage Attribute: 194 Temperature_Celsius changed from X to Y)


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).

1 commento:

Anonimo ha detto...

When the software becomes more complex, it can be more difficult, time-consuming, and boring to identify bugs. So, to make fewer mistakes and accelerate the entire development process, we use automated testing, where both developers and QA engineers write tests. https://cxdojo.com/how-unit-tests-can-improve-your-product-development