[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [https://savannah.nongnu.org/projects/hddtemp/ hddtemp] {en} ist ein kleines Programm, das die Temperatur einer Festplatte über die in der Platte eingebauten [wikipedia:Self-Monitoring,_Analysis_and_Reporting_Technology:S.M.A.R.T.]-Sensoren auslesen kann. Mittels hddtemp können die gewonnenen Daten entweder im [:Logdateien#Logs:Syslog] ausgegeben oder als Serverdienst im Hintergrund abgefragt werden. = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation hddtemp, universe }}} [[Anker(Dienst konfigurieren)]] = Konfiguration = Nach der Installation muss man hddtemp an die eigenen Bedürfnisse anpassen. Dazu führt man in einem Terminal [2] den folgenden Befehl aus: {{{#!vorlage Befehl sudo dpkg-reconfigure hddtemp }}} 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 evtl. 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` Danach wird der Dienst direkt gestartet. Nun 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. Zusätzlich ist bei vielen Festplatten nur eine gewisse Anzahl von Parkvorgängen vorgesehen, so dass die Festplatte evtl. früher als normal kaputt ist. Alternativ zu obigem Befehl kann auch die Datei '''/etc/default/hddtemp''' manuell editiert werden [3]. Als Lösung bietet sich an, die besagte Platte vom Monitoring auszuschließen. Hierzu ist die Konfigurationsdatei '''/etc/default/hddtemp''' zu editieren 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. = Dienst steuern = Nachdem hddtemp konfiguriert wurde, wird der Dienst automatisch neu gestartet. Soll der Dienst manuell gestartet werden, kann man ihn auf der Kommandozeile steuern: {{{#!vorlage Befehl sudo systemctl [OPTIONEN] hddtemp }}} Nun werden die verfügbaren Optionen wie `start`, `stop` usw. ausgegeben. Mehr Informationen zu diesem Thema findet man im Wiki unter [:Dienste:]. [[Anker(Temperatur)]] = Temperatur abfragen = Ist der Dienst konfiguriert und gestartet, kann man die Temperaturen abfragen: {{{#!vorlage Befehl sudo hddtemp /dev/sda }}} {{{ /dev/sda: SAMSUNG SP2014N: 42°C }}} Natürlich können auch weitere Programme und Dienste die Temperaturdaten anzeigen. Mehr dazu unter [:Lm_sensors:] und [:inxi:]. = Problembehebung = == Festplatte wurde nicht erkannt == Hinter hddtemp steckt kein Festplattenkonzern oder eine große Firma. Die Entwickler des Programms besitzen daher nicht die Eckdaten sämtlicher 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: {{{ 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. {{{#!vorlage Befehl 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. {{{#!vorlage Hinweis Ist die Festplatte erfolgreich zur hddtemp-Datenbank hinzugefügt worden, sollte die Debug-Ausgabe an den Autor von hddtemp geschickt werden. Die Kontaktdaten finden sich auf der Homepage von [https://www.guzu.net/linux/hddtemp.php 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! }}} = Links = * [:Festplattenstatus:] - Weitere Informationen # tag: Hardware, System, Server