ubuntuusers.de

ubuntuusers.deWikihddtemp

hddtemp

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

hddtemp {en} ist ein kleines Programm, das die Temperatur einer Festplatte über die in der Platte eingebauten S.M.A.R.T.-Sensoren auslesen kann. Mittels hddtemp können die gewonnenen Daten entweder im Syslog ausgegeben oder als Serverdienst im Hintergrund abgefragt werden.

Installation

Folgendes Paket muss installiert [1] werden:

  • hddtemp (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install hddtemp 

sudo aptitude install hddtemp 

Bei der Installation wird nach den Werten für die Netzwerkschnittstelle und der Port-Nummer gefragt. Hier können die Default-Werte übernommen werden. Danach wird der Dienst direkt gestartet.

Dienst konfigurieren

Möchte man hddtemp an die eigenen Bedürfnisse anpassen, kann man es nach der Installation des Paketes neu konfigurieren. Dazu führt man in einem Terminal [2] den Befehl

sudo dpkg-reconfigure hddtemp 

aus. Anschließend bekommt man mehrere Fragen gestellt. Im Nachfolgenden wird die richtige Konfiguration für den Einsatz von hddtemp auf einem Desktop-Rechner geschildert. Andere Einsatzzwecke bedürfen sicherlich einer anderen Konfiguration.

  • Soll hddtemp mit root-Rechten arbeiten?: Nein

  • Ausgabe in Syslog schreiben: 0

  • hddtemp als Dienst starten: Ja

  • Netzwerkschnittstelle an der hddtemp lauschen soll: 127.0.0.1

  • Port-Nummer: 7634

Wenn man hddtemp installiert, wird alles automatisch eingerichtet und konfiguriert. Dabei werden Standardmäßig die Temperaturen aller S.M.A.R.T.-fähigen Festplatten 1x pro Minute abgefragt.

Leider führt jede S.M.A.R.T.-Abfrage dazu, dass die Platte wieder aufgeweckt wird, obwohl eigentlich keine Daten von den Magnetscheiben gelesen werden müssen. Einige Festplatten können ihren Lese/Schreibkopf parken und verbrauchen so weniger Strom, es ist aber nur eine gewisse Anzahl von Parkenvorgängen möglich, so dass die Festplatte früher als normal kaputt ist.

Als Lösung bietet sich an, die besagte Platte ganz vom Monitoring durch hddtemp auszuschließen. Hierzu ist die Konfigurationsdatei /etc/default/hddtemp zu editieren [3] und dieser Abschnitt so anzupassen, dass nur noch die gewünschte Platte von hddtemp abgefragt werden:

# List of devices you want to use with hddtemp. If none specified,
# hddtemp will probe standard devices.
DISKS="/dev/sda"

Mit diesem Beispiel wird nur noch die Festplatte /dev/sda von hddtemp abgefragt. Natürlich kann weiterhin manuell mit

sudo smartctl -A /dev/sda 

den S.M.A.R.T.-Status der Platte abfragen.

Dienst steuern

Nachdem hddtemp konfiguriert wurde, wird der Dienst automatisch neu gestartet. Soll der Dienst manuell gestartet werden, kann man aus einer Konsole heraus mit

# Allgemein
sudo /etc/init.d/hddtemp {start|stop|restart|force-reload}
# Beispiel
sudo /etc/init.d/hddtemp restart 

den Dienst steuern. Mehr Informationen zu diesem Thema findet man im Wiki unter Dienste.

Temperatur abfragen

Ist der Dienst konfiguriert und gestartet, kann man über eine Konsole [2] die Temperaturen abfragen

sudo hddtemp /dev/sda 
/dev/sda: SAMSUNG SP2014N: 42°C

Natürlich können auch weitere Programme und Dienste die Temperaturdaten anzeigen. Man ist also nicht zwangsläufig auf die Konsole angewiesen. Mehr dazu unter Lm sensors.

Festplatte wurde nicht erkannt

Hinter hddtemp steckt kein Festplattenkonzern oder eine große Firma. Die Macher des Programms besitzen daher nicht sämtliche Daten aller Festplatten der Welt. So kann es daher vorkommen, dass Festplatten nicht erkannt werden. Allerdings kann man die Daten der Platten meist selber zur Datenbank hinzufügen. Sollte man beim Auslesen der Temperatur einer Festplatte also diese Meldung bekommen

sudo hddtemp /dev/sda 
WARNING: Drive /dev/sda doesn't appear in the database of supported drives
WARNING: But using a common value, it reports something.
WARNING: Note that the temperature shown could be wrong.
WARNING: See --help, --debug and --drivebase options.
WARNING: And don't forget you can add your drive to hddtemp.db
/dev/sda: ST3300622AS:  47°C or °F

so ist die betroffene Festplatte noch nicht in der Datenbank von hddtemp aufgenommen. Wie man sieht, erkennt hddtemp jedoch die Festplatte und die Temperatur. In diesem Fall kann man die Festplatte problemlos zur Datenbank hinzufügen. Dazu führt man hddtemp im debug-Modus aus.

sudo hddtemp /dev/sda --debug 
================= hddtemp 0.3-beta15 ==================
Model: ST3300622AS
field(1)         = 187
field(3)         = 0
field(4)         = 125
field(5)         = 0
field(7)         = 1
field(9)         = 107
field(10)        = 0
field(12)        = 131
field(187)       = 0
field(189)       = 0
field(190)       = 47
field(194)       = 47
field(195)       = 150
field(197)       = 0
field(198)       = 0
field(199)       = 1
field(200)       = 0
field(202)       = 0
If one of the field value seems to match the temperature, be sure to read
the hddtemp man page before sending a report (section REPORT). Thanks.

Man erkennt also das Festplattenmodell "ST3300622AS" und dass die Temperatur von 47°C entweder zu Feld 190 oder 194 passt. Mit diesen Infos öffnet man anschließend die hddtemp-Datenbank /etc/hddtemp.db in einem Editor mit Rootrechten [3] und fügt die Platte als neue Zeile hinzu. Im Beispiel wäre dies also die mittlere Zeile

########################################
############# Seagate drives
########################################
...
"ST330621A"                             194  C  "Seagate ST330621A"
"ST3300622AS"                           194  C  "Seagate ST3300622AS"
"ST330630A"                             194  C  "Seagate Barracuda ST330630A"
...

Hier erkennt man auch die passende Feld-Nummer. Seagate scheint wohl hauptsächlich die Nummer 194 zu benutzen. Andere Festplattenhersteller oder Modelle benötigen sicherlich eine andere Feld-Nummer. Abschließend muss hddtemp neu gestartet werden (s.o.) und schon sollte die Festplatte korrekt ausgelesen werden.

Hinweis:

Ist die Festplatte erfolgreich zur hddtemp-Datenbank hinzugefügt worden, sollte die Debug-Ausgabe von hddtemp an den Autor von hddtemp geschickt werden. Die Kontaktdaten finden sich auf der Homepage von hddtemp {en} . Dieser kann dann die Daten in hddtemp aufnehmen und in Zukunft müssen Benutzer dieser Festplatte die Daten nicht mehr von Hand hinzufügen. Danke!

Diese Revision wurde am 21. April 2013 00:17 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, System, server