HDD-Temperatur auslesen schlägt fehl | smartctl

Status
Für weitere Antworten geschlossen.

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Hallo,

ich wollte mir ein Skript schreiben, das meine HDD-Temperaturen ausliest und in eine Datei schreibt. Dafür wollte ich das Tool smartctl nutzen. Ich habe eine DS918+ mit 4x4TB im Raid-5.

Ich habe mir erstmal alles ausgelesen.
Rich (BBCode):
> smartctl --scan
/dev/hda -d ata # /dev/hda, ATA device
/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device
/dev/sdc -d scsi # /dev/sdc, SCSI device
/dev/sdd -d scsi # /dev/sdd, SCSI device
/dev/sdq -d sat # /dev/sdq [SAT], ATA device

Nun habe ich ja ein ATA device und je vier SCSI, am ende nochmal ein ATA.

Ich bin da nicht sehr bewandert, aber ich meine die Festplatte sollten ja das ATA device sein. Wenn ich nun das ATA Gerät auslese, kommt folgendes:

Rich (BBCode):
>smartctl -A /dev/hda
smartctl 6.5 (build date May  6 2018) [x86_64-linux-4.4.15+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME                                                   FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate                                              0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance                                           0x0005   136   136   054    Pre-fail  Offline      -       108
  3 Spin_Up_Time                                                     0x0007   137   137   024    Pre-fail  Always       -       388 (Average 388)
  4 Start_Stop_Count                                                 0x0012   100   100   000    Old_age   Always       -       35
  5 Reallocated_Sector_Ct                                            0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate                                                  0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance                                            0x0005   128   128   020    Pre-fail  Offline      -       18
  9 Power_On_Hours                                                   0x0012   100   100   000    Old_age   Always       -       3493
 10 Spin_Retry_Count                                                 0x0013   100   100   060    Pre-fail  Always       -       0
 12 Power_Cycle_Count                                                0x0032   100   100   000    Old_age   Always       -       35
192 Power-Off_Retract_Count                                          0x0032   100   100   000    Old_age   Always       -       172
193 Load_Cycle_Count                                                 0x0012   100   100   000    Old_age   Always       -       172
194 Temperature_Celsius                                              0x0002   142   142   000    Old_age   Always       -       42 (Min/Max 21/47)
196 Reallocated_Event_Count                                          0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector                                           0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable                                            0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count                                             0x000a   200   200   000    Old_age   Always       -       0

Sieht ja schonmal sehr nach der ersten Festplatte aus. Ein Abgleich der Power_On_Hours ergibt auch, dass es sich um die erste Platte handelt.

Jedoch kann ich keine der anderen 3 Platten auslesen. Wenn ich smartctl -A /dev/hdb, smartctl -A /dev/hdc oder smartctl -A /dev/hdd auswähle, kommt genau der gleiche Output wie bei hda.
Wenn ich SCSI auswähle bekomme ich
Rich (BBCode):
> smartctl -A /dev/sda
smartctl 6.5 (build date May  6 2018) [x86_64-linux-4.4.15+] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===

Wie kann ich also meine weiteren drei Platten auslesen?
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
6.057
Punkte für Reaktionen
1.855
Punkte
254
Rich (BBCode):
smartctl -d ata -a /dev/sda
smartctl -d ata -a /dev/sdb
smartctl -d ata -a /dev/sdc
smartctl -d ata -a /dev/sdd
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Funktioniert, danke. Wäre ich niemals draufgekommen.
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Falls es wen interessiert: Folgendes Skript speichert mir alle Stunde (im Aufgabenplaner eingestellt) die Temperatur meiner 4 HDDs in eine Datei in eine Zeile.

Rich (BBCode):
#!/bin/bash
a=$(smartctl -d ata -a /dev/sda | grep "194 Temperature" | cut -c 129-130)
b=$(smartctl -d ata -a /dev/sdb | grep "194 Temperature" | cut -c 129-130)
c=$(smartctl -d ata -a /dev/sdc | grep "194 Temperature" | cut -c 129-130)
d=$(smartctl -d ata -a /dev/sdd | grep "194 Temperature" | cut -c 129-130)
echo $a $b $c $d >> /volume1/zeug/hdd_temp/temperature.txt
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
6.057
Punkte für Reaktionen
1.855
Punkte
254
Danke fürs Teilen.

Ich hätte noch die Verbesserung einzubringen vor jeder Zeile das Datum und die Uhrzeit einzufügen:
Rich (BBCode):
echo `date +%Y-%m-%dT%H:%M` $a $b $c $d >> /volume1/zeug/hdd_temp/temperature.txt

Ein Nachteil hat das stündliche Loggen der Temperaturen aber grundsätzlich. Die HDDs gehen nicht mehr in den Ruhezustand.

Alternatividee: Über eine IF-Abfrage die Temperatur abgleichen. Ist sie unter 45°, dann nichts tun, ist sie über 45° loggen und/oder mailen.
 
Zuletzt bearbeitet:

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Guter Einwand. Habs es angepasst. Dann kann man später auch noch sehen, wann das jeweils war. Wollte mal das Textfile dann irgendwann in Excel öffnen.
 

peterhoffmann

Benutzer
Sehr erfahren
Mitglied seit
17. Dez 2014
Beiträge
6.057
Punkte für Reaktionen
1.855
Punkte
254
Dann könnte man drüber nachdenken es gleich in ein Format zu bringen, welches man leichter in Excel öffnen und verarbeiten kann.

Beispiel:
Rich (BBCode):
echo `date +%Y-%m-%d,%H:%M,`$a,$b,$c,$d >> /volume1/zeug/hdd_temp/temperature.txt
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Da warst du schneller als ich. hab mich noch mit dem Syntax rumgeschlagen. ich denke dann macht es ja auch sinn, gleich als .csv zu speichern oder?
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.104
Punkte
248
Soviel Stress wegen so einer Kleinigkeit und dann gibt auch nur so einen lauwarmen Löffel anstatt eine vollständige Mahlzeit? Nimm Dir eine VM oder einen Dockercontainer, schmeiss da ein Monitoringsystem rein (vllt nicht eins der völlig dicken, aber was kleineres, was schnell installiert ist (Observium/LibreNMS - ist binnen 15-30 Minuten installiert.)) und dann lass laufen den Kram. Nach kurzer Zeit hast Du alles was Du willst und noch mehr... Das was Du derzeit willst (inkl. Systemtemperatur), HDD-Auslastungen, RAM-Verbrauch, CPU-Auslastung, usw. und all das - sofern Du willst und laufen lässt - über Monate und Jahre.

EDIT: Via SNMP - sofern fähige Geräte vorhanden - kannst Du natürlich auch noch mehr ins Monitoring aufnehmen.
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
lass mich doch meinen lauwarmen löffel essen wenn er mir gefällt :)
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.955
Punkte für Reaktionen
12
Punkte
104
Also ich möchte mein Observium nicht mehr hergeben. Ist auch sehr genügsam. Als Basis dient mir ein Debian 9.4 in einer VM. Die VM hat einen Kern und 256MB RAM zugewiesen bekommen.
Selbst die Graphen werden schnell und flüssig aus der RRDB generiert.

Unbenannt.jpg
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.104
Punkte
248
@maalik: natürlich, jeder so wie er/sie mag, gar keine Frage :eek: Allerdings kann ein bisschen links und rechts schauen ja auch nicht schaden - die Systemtemperatur hast Du so nämlich nicht im Blick ;)

@rednag: Denke ihn interessiert eher der zeitliche Verlauf der Temperaturen, daher auch die CSV und den Import in eine Excel-Datei (vermutlich um dann ein Diagramm erzeugen zu lassen). Die zweite Syno könnte man direkt mit in die Überwachung aufnehmen, da die Raspberrys ebenso, USV weiss ich nicht (SNMP-fähig?) und die Fritzbox ganz sicher "nicht" (AVM weigert sich da ja strikt seit Jahren). Da hätte man statt "nur" den HDDs von "einem" NAS direkt das meiste der vorhandenen Gerätschaften im Blick.
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Ist ja nicht so, dass ich nicht offen für anderes bin, aber Docker ist für mich immer noch sehr unbekanntes Territorium und ohne gescheit Anleitung, wird das bei mir wohl eher nichts. Für den Tipp bin ich dennoch dankbar :)
 

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.955
Punkte für Reaktionen
12
Punkte
104
Das ist kein Docker. Einfach eine VM mit dem VMM aufgesetzt. Darin eben Debian und darauf Observium installiert.
VM -> Debian -> Observium.
Ist ja unter Win nichts anderes. Rechner -> Windows -> Programm.
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Das ist mir klar, aber dafür eine VMM laufen zu lassen ist mir zu viel :) Dafür ist es mir nicht zu wichtig, um dafür Ressourcen herzugeben.
 

blurrrr

Benutzer
Sehr erfahren
Mitglied seit
23. Jan 2012
Beiträge
6.204
Punkte für Reaktionen
1.104
Punkte
248
Sagt der Mensch mit einer DS918+... "ja ne, is klar" :rolleyes: Alternativ läuft sowas auch auf dem Raspberry unter Debian.
Aber: jeder wie er meint und wenn Du so meinst, wie Du meinst, dann mein so, dann soll es auch so sein! :)
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38

rednag

Benutzer
Mitglied seit
08. Nov 2013
Beiträge
3.955
Punkte für Reaktionen
12
Punkte
104
256 MB RAM...zu viel...?
Hab auch mal auf 128 MB geschraubt, aber damit war es schon stellenweise sehr zäh.
 

maalik

Benutzer
Mitglied seit
05. Feb 2016
Beiträge
707
Punkte für Reaktionen
11
Punkte
38
Ja. 256MB Ram sind mir für etwas, das ich nur kurzzeitig mal testen will, zu viel. Andere Dinge die ich habe brauchen mehr, die nutze ich aber auch regelmäßig.

Naja, BTT? Wobei das Thema ja bereits erledigt :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat