Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Abschaltung von Festplatten fehlerhaft
#1
Wie schon erwähnt, lege ich Wert auf Stromeinsparungen. Dabei ist mir aufgefallen, dass die Festplattenabschaltung nicht richtig funktioniert.

Bei den Festplatten-Einstellungen im EasyPortal kann man die Abschaltzeiten angeben ("nicht abschalten", "5 Minuten", etc.). Der angegebene Wert in Minuten wird aber nicht richtig umgesetzt, er wird nämlich als Sekunden interpretiert. Statt nach 5 Minuten geht die Festplatte nach 5 Sekunden in den Standby. Wenn es dumm läuft, kann das nachteilige Auswirkungen auf die Lebensdauer der Festplatte haben. Insbesondere, wenn mal als Systemplatte eine SSD hat, und die Videodaten auf einer Festplatte.

Der Fehler liegt in einer inkonsistenten Verwendung der Variablen HDDSPINDOWNTIME. Nebenbemerkung: Eine weitere Inkonsistenz habe ich im Post Inkonsistente Variablennamen für Wakeup/Poweroff-Einstellungen beschrieben.

/var/lib/vdr/sysconfig
Code:
HDDSPINDOWNTIME="5 Minuten"
HDDSPINDOWNDISKS="/dev/sdb"

/etc/vdr/easyvdr-power-save.conf
Code:
# Festplatten abschalten
#Geräte Namen /dev/sdx /dev/sdy
HDDSPINDOWNDISK="/dev/sda /dev/sdb"
#0 Platte läuft immer oder Sekunden bis zu Standby der Platte
HDDSPINDOWNTIME=900

/usr/lib/vdr/easyvdr-power-save
Code:
###############################################
#Festplatten parken
################### Easyvdr Systemconf einlesen ?
if [ -e /usr/lib/vdr/easyvdr-config-loader ];then
. /usr/lib/vdr/easyvdr-config-loader                ## Easyvdr conf einlesen
if [ "$HDDSPINDOWNTIME" != "nicht abschalten" ];then
 HDDSPINDOWNTIME=$(echo $HDDSPINDOWNTIME | cut -d" " -f1)
 for DISK in $HDDSPINDOWNDISK
  do
   $LOGGER "set DISK: $DISK sleep timer $HDDSPINDOWNTIME s"
   hdparm -S $(($HDDSPINDOWNTIME/5)) $DISK
  done
fi
fi
Für die Abschaltung wird ein Wert in Sekunden erwartet. Die Konfigurationsdatei easyvdr-power-save.conf wird gar nicht benutzt, sondern sysconfig.

Das Setzen der Werte geschieht in /var/www/systemeinstellungen.php (zuständig für Web-Frontend)  oder über das VDR Menü definiert in /var/lib/vdr/plugins/setup/vdr-setup.xml.

So wie es ausschaut, passt man wohl am besten das Skript an und interpretiert den Wert der Variablen als Minuten. Also sowas wie:
Code:
HDDSPINDOWNTIME=$(echo $HDDSPINDOWNTIME | cut -d" " -f1)
HDDSPINDOWNSEC=$((HDDSPINDOWNSEC*12))
for DISK in $HDDSPINDOWNDISK
do
 $LOGGER "set DISK: $DISK sleep timer $HDDSPINDOWNSEC s"
 hdparm -S $HDDSPINDOWNSEC $DISK
done
Bliebe noch das Zusammenspiel mit easyvdr-power-save.conf.
easyVDR 3.5 auf Moneual MonCaso 320 & MSI H55M-ED55 & Intel Core i3 530 & 2GiB RAM & TerraTec Cinergy C HD & SANDISK SSD 64GB & Seagate ST1000VM002 & Plextor BD-R PX-LB950SA
easyVDR 3.0 auf MS-TECH MC-1200 Rev. E & ASRock H81M-HDS & Intel Celeron G1820 & 2GiB RAM & Digital Devices Cine C/C2/T/T2 V7 & Kingston SSDNow S200 & Hitachi Travelstar 5K1000 1TB2 & ASUS DRW-24F1ST
Zitieren
#2
Hi,

mir scheinen die Rückmeldungen auf den ersten Blick plausibel. Ich schaue mir diese am Wochenende genauer an und paketiere vermutlich dann zum Test.

Danke erst Mal !
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#3
Martin, vielen Dank schon mal.

Der Korrekturvorschlag stimmt so nicht, da haben sich Tippfehler eingeschlichen. Muss so heißen:
Code:
HDDSPINDOWNTIME=$(echo $HDDSPINDOWNTIME | cut -d" " -f1)
HDDSPINDOWNPAR=$((HDDSPINDOWNTIME*12))
for DISK in $HDDSPINDOWNDISK
do
$LOGGER "set DISK: $DISK sleep timer $HDDSPINDOWNTIME min"
hdparm -S $HDDSPINDOWNPAR $DISK
done
easyVDR 3.5 auf Moneual MonCaso 320 & MSI H55M-ED55 & Intel Core i3 530 & 2GiB RAM & TerraTec Cinergy C HD & SANDISK SSD 64GB & Seagate ST1000VM002 & Plextor BD-R PX-LB950SA
easyVDR 3.0 auf MS-TECH MC-1200 Rev. E & ASRock H81M-HDS & Intel Celeron G1820 & 2GiB RAM & Digital Devices Cine C/C2/T/T2 V7 & Kingston SSDNow S200 & Hitachi Travelstar 5K1000 1TB2 & ASUS DRW-24F1ST
Zitieren
#4
Danke für den Input!

Kannst Du bitte das mal kurz gegenlesen und aus Base-Testing PPA testen ?
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#5
http://www.easy-vdr.de/git/?p=trusty-ng/...7c2a2af166
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#6
Hi,

Danke für das Fehler finden!!!! K+!



@Martin: evtl. auch default aktivieren? War doch früher auch...

MfG,
Stefan
Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, Mygica t230 Stick als Tuner, nvidia Slim-GT218 512MB PCIe x1     -   v3.5-64
VDR2 in Rente
VDR3 in Rente
VDR4: MSI G31M2 v2, Intel E5200, 6" t6963c gLCD, 2GB, WD Red 4TB, 2x TT3200, ASUS GT730-SL-2GD3-BRK, mod. Digitainergeh.       -   v3.5-64
VDR5: GIGABYTE GA-G31M-S2L, Intel E5200, GT630 passiv, 2GB, 3TB, 6"  t6963c gLCD, mod. Digitainergeh.          -   v3.5-64
VDR6: MSI MS-7236, Intel E2140, GT630 passiv, 2GB, WD Green 2TB, 6" t6963c gLCD, 2x TT3200    -    v2.5-64
Hilfe gefällig? Dann brauchen wir ein easyInfo aus easyPortal!
Zitieren
#7
Hier kommt das Testresultat.

Zusammenfassung: Liste der abzuschaltenden Platten ist falsch, Abschaltung funktioniert.
Fehlerursache: Verwechslung zweier Variablen HDDSPINDOWNDISK un HDDSPINDOWNDISKS.

Der Testverlauf im Einzelnen...

Upgrade von Stable nach Test: cat /var/log/apt/history.log
Code:
Start-Date: 2017-01-14  14:16:03
Commandline: apt-get upgrade
Upgrade: bind9-host:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11), liblwres90:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11), vainfo:amd64 (1.7.4~git20161229-0easyVDR0~trusty, 1.7.4~git20170111-0easyVDR0~trusty), initramfs-tools-bin:amd64 (0.103ubuntu4.5, 0.103ubuntu4.6), libdns100:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11), libisccfg90:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11), libbind9-90:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11), easyvdr-addon-program-changer:amd64 (0.6.0-10easyVDR18~trusty, 0.6.0-10easyVDR19~trusty), easyvdr:amd64 (3.0.11-0easyVDR6~trusty, 3.0.12-1easyVDR0~trusty), dnsutils:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11), libva1:amd64 (1.7.4~git20161229-0easyVDR0~trusty, 1.7.4~git20170111-0easyVDR0~trusty), initramfs-tools:amd64 (0.103ubuntu4.5, 0.103ubuntu4.6), libvncserver0:amd64 (0.9.9+dfsg-1ubuntu1.1, 0.9.9+dfsg-1ubuntu1.2), va-driver-all:amd64 (1.7.4~git20161229-0easyVDR0~trusty, 1.7.4~git20170111-0easyVDR0~trusty), easyvdr-setup:amd64 (3.0.14-0easyVDR2~trusty, 3.0.14-0easyVDR7~trusty), libva-wayland1:amd64 (1.7.4~git20161229-0easyVDR0~trusty, 1.7.4~git20170111-0easyVDR0~trusty), libva-x11-1:amd64 (1.7.4~git20161229-0easyVDR0~trusty, 1.7.4~git20170111-0easyVDR0~trusty), easyvdr-addon-acpi-wakeup:amd64 (0.2.0-4easyVDR4~trusty, 0.4.0-0easyVDR0~trusty), libva-intel-vaapi-driver:amd64 (1.7.4~git20170101-0easyVDR0~trusty, 1.8.0.pre1~git20170111-0easyVDR0~trusty), libva-drm1:amd64 (1.7.4~git20161229-0easyVDR0~trusty, 1.7.4~git20170111-0easyVDR0~trusty), linux-libc-dev:amd64 (3.13.0-106.153, 3.13.0-107.154), libva-glx1:amd64 (1.7.4~git20161229-0easyVDR0~trusty, 1.7.4~git20170111-0easyVDR0~trusty), libisccc90:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11), libisc95:amd64 (9.9.5.dfsg-3ubuntu0.10, 9.9.5.dfsg-3ubuntu0.11)
End-Date: 2017-01-14  14:17:33

Im EasyPortal eingestellt: /dev/sdb nach 5 Minuten.
Code:
[email protected]:~$ grep HDDSPINDOWN /var/lib/vdr/sysconfig
HDDSPINDOWNTIME="5 Minuten"
HDDSPINDOWNDISKS="/dev/sdb"

Nach dem Booten:
Code:
[email protected]:~$ grep "easyvdr-power-save: set DISK:" /var/log/syslog
Jan 14 14:28:17 easyVDR easyvdr-power-save: set DISK: /dev/sda sleep timer 5 min
Jan 14 14:28:17 easyVDR easyvdr-power-save: set DISK: /dev/sdb sleep timer 5 min
Hoppla, zwei Festplatten. Das ist das Resultat der Variableninkonsistenz.

Die Abschaltung klappt:
Code:
[email protected]:~$ mount | grep /dev/sdb; sudo touch /media/easyvdr01/video0/.update; sync; sudo hdparm -C /dev/sdb; sleep 4m; sudo hdparm -C /dev/sdb; sleep 3m; sudo hdparm -C /dev/sdb
/dev/sdb1 on /media/easyvdr01 type xfs (rw,noatime)

/dev/sdb:
drive state is:  active/idle

/dev/sdb:
drive state is:  active/idle

/dev/sdb:
drive state is:  standby

Änderungsvorschlag:
  • Nur HDDSPINDOWNDISKS verwenden.
  • Die Variablenbelegung für HDDSPINDOWNDISK und HDDSPINDOWNTIME aus /etc/vdr/easyvdr-power-save.conf und /usr/lib/vdr/easyvdr-power-save (echo ...) löschen. Achtung: Da gibt es noch was mit echo "WAIT=\$((\$HDDSPINDOWNTIME-30))" >>$POWER_SAVE_CONF.
easyVDR 3.5 auf Moneual MonCaso 320 & MSI H55M-ED55 & Intel Core i3 530 & 2GiB RAM & TerraTec Cinergy C HD & SANDISK SSD 64GB & Seagate ST1000VM002 & Plextor BD-R PX-LB950SA
easyVDR 3.0 auf MS-TECH MC-1200 Rev. E & ASRock H81M-HDS & Intel Celeron G1820 & 2GiB RAM & Digital Devices Cine C/C2/T/T2 V7 & Kingston SSDNow S200 & Hitachi Travelstar 5K1000 1TB2 & ASUS DRW-24F1ST
Zitieren
#8
Noch ein Feedback: 

Zitat:Hallo Martin

Ich denke das passt so nicht ...

Values from 1
to 240 specify multiples of 5 seconds

Da fehlt ein :5, und hast du geprüft ob man im OSD auch Min eingibt?

Gruß
Peter
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#9
> Da fehlt ein :5
Hoffe nicht. Statt dessen wird mal 12 multipliziert (5*12 sollte 60 geben...:-))

>hast du geprüft ob man im OSD auch Min eingibt?

das ist so !
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#10
Zitat:Die Variablenbelegung für HDDSPINDOWNDISK und HDDSPINDOWNTIME aus /etc/vdr/easyvdr-power-save.conf und /usr/lib/vdr/easyvdr-power-save (echo ...) löschen. Achtung: Da gibt es noch was mit echo "WAIT=\$((\$HDDSPINDOWNTIME-30))" >>$POWER_SAVE_CONF.
Nein nichts löschen wenn dann anpassen, das Skript verwende ich auf allen meinen Linux/FreeNas PC's
Wenn es keine Sysconf gibt wird ja die Powersave.conf verwendet.
Wobei ich die Festplatten nicht abschalte, dann ist es mir eigentlich doch egal, kann man auch löschen.
Gruß
Bleifuss
Produktiv-VDR:
Board GA H77-DS3H, Intel Intel® Core™ i5-3470, Cine S2 DVB, WD 3TB Green, WDC WD20EARS-00J  2TB, Geforce 750Ti oder Intel HD
Easyvdr 3.0
Zitieren
#11
Zusammengefasst:
-jeder easyVDR Rechner hat eine sysconfig Datei
-auch Peter stört die Änderung nicht

Ich habe mal die *DISK durch *DISKS ersetzt. Die Einträge in die Powersave.conf geschehen nicht mehr.

Das ganze hätte man schöner machen können, da das geänderte Script von 2014 ist und man ansonsten wesentlich mehr Pakete anpacken müsste habe ich mich für diesen Weg entschieden. Natürlich ist auch der umgekehrte Weg möglich, dann aber bevorzugt bei der nächsten easyVDR Version.

PS: Was ich gelernt habe: So ein Thema wäre in einem "eigenen Branch im GIT bis zum erfolgreichen Test" besser aufgehoben gewesen...


PPS: Bitte nochmals um Test so ca. in 30 Minuten frühestens. http://www.easy-vdr.de/git/?p=trusty-ng/...042c477a86
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#12
So siehts aus...

Änderungen zu 3.0 Stable, cat /var/log/apt/history.log:
Code:
Start-Date: 2017-01-18  22:23:30
Commandline: synaptic
Upgrade: easyvdr-addon-program-changer:amd64 (0.6.0-10easyVDR18~trusty, 0.6.0-10easyVDR19~trusty), easyvdr:amd64 (3.0.11-0easyVDR6~trusty, 3.0.13-0easyVDR0~trusty), easyvdr-setup:amd64 (3.0.14-0easyVDR2~trusty, 3.0.14-0easyVDR7~trusty), easyvdr-addon-acpi-wakeup:amd64 (0.2.0-4easyVDR4~trusty, 0.4.0-0easyVDR0~trusty)
End-Date: 2017-01-18  22:24:13

Dann die Änderungen aus http://www.easy-vdr.de/git/?p=trusty-ng/...042c477a86 genommen.

Wie oben 5 Minuten für /dev/sdb eingestellt. Aber: Hierfür musste ich in /var/www/systemeinstellungen.php die Zeile exec("sudo $SH_EASYPORTAL setsysconfig HDDSPINDOWNDISKS '$HDDSPINDOWNDISKS'"); einfügen, sonst wurde die Änderung nicht übernommen. Das hat mich ziemlich verblüfft, weil das immer geklappt hat, und ich kann mir nicht erklären, warum das so war und sich jetzt anders verhält. Aber sonst funktionieren die Änderungen.

Verifikation:
Code:
[email protected]:~$ grep HDDSPINDOWN /var/lib/vdr/sysconfig
HDDSPINDOWNDISKS="/dev/sdb"
HDDSPINDOWNTIME="5 Minuten"
[email protected]:~$ grep "easyvdr-power-save: set DISK:" /var/log/syslog
Jan 18 22:55:28 easyVDR easyvdr-power-save: set DISK: /dev/sdb sleep timer 5 min
[email protected]:~$ mount | grep /dev/sdb; sudo touch /media/easyvdr01/video0/.update; sync; sudo hdparm -C /dev/sdb; sleep 4m; sudo hdparm -C /dev/sdb; sleep 3m; sudo hdparm -C /dev/sdb
/dev/sdb on /media/easyvdr01 type xfs (rw)

/dev/sdb:
drive state is:  active/idle

/dev/sdb:
drive state is:  active/idle

/dev/sdb:
drive state is:  standby
easyVDR 3.5 auf Moneual MonCaso 320 & MSI H55M-ED55 & Intel Core i3 530 & 2GiB RAM & TerraTec Cinergy C HD & SANDISK SSD 64GB & Seagate ST1000VM002 & Plextor BD-R PX-LB950SA
easyVDR 3.0 auf MS-TECH MC-1200 Rev. E & ASRock H81M-HDS & Intel Celeron G1820 & 2GiB RAM & Digital Devices Cine C/C2/T/T2 V7 & Kingston SSDNow S200 & Hitachi Travelstar 5K1000 1TB2 & ASUS DRW-24F1ST
Zitieren
#13
easyPortal baut gerade neu. (Der Änderungsvorschlag scheint mir plausibel)

Somit hoffe ich dass das letzte Test wird:
-Änderung per Portal
-Änderung per OSD
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren
#14
Code:
[email protected]:~$ cat /var/log/apt/history.log
Start-Date: 2017-01-20  22:54:38
Commandline: synaptic
Upgrade: easyvdr-addon-program-changer:amd64 (0.6.0-10easyVDR19~trusty, 0.6.0-10easyVDR20~trusty), easyvdr:amd64 (3.0.13-0easyVDR0~trusty, 3.0.13-0easyVDR1~trusty), easyportal:amd64 (0.5.36-2easyVDR1~trusty, 0.5.37-0easyVDR0~trusty)
End-Date: 2017-01-20  22:54:59

Per OSD und Portal getestet. Änderungen wurden in sysconfig übernommen (mit erwarteter Variablen), und auch später wieder in OSD und Portal angezeigt.

Funktionert also. Besten Dank! 

Das hatte ich mir auch nicht gedacht, was ich hier an Aktionen lostrete. Confused
Pardon.
easyVDR 3.5 auf Moneual MonCaso 320 & MSI H55M-ED55 & Intel Core i3 530 & 2GiB RAM & TerraTec Cinergy C HD & SANDISK SSD 64GB & Seagate ST1000VM002 & Plextor BD-R PX-LB950SA
easyVDR 3.0 auf MS-TECH MC-1200 Rev. E & ASRock H81M-HDS & Intel Celeron G1820 & 2GiB RAM & Digital Devices Cine C/C2/T/T2 V7 & Kingston SSDNow S200 & Hitachi Travelstar 5K1000 1TB2 & ASUS DRW-24F1ST
Zitieren
#15
Danke fürs Melden, Lösungsvorschläge und Testen!
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken) 

Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste