Die Green-Serie von WD ist an sich toll: Sie hat zusätzliche Stromspar-Funktionen, die für den Hausgebrauch einigermaßen sinnvoll sind. So fährt zum Beispiel der Lese-Schreibkopf nach wenigen Sekunden schon in eine Parkposition, was die Marketing-Menschen “Intellipark” nannten. Intellipark ist für einige Linux-Geschmacksrichtungen aber schlecht konfiguriert – die Platte geht für wenige Sekunden in die Parkposition, nur, um gleich wieder heraus gerissen zu werden. Ärgerlich ist das, weil man das zwar ganz schön oft, aber eben nicht unendlich oft machen kann. 300.000 Parkvorgänge gibt der Hersteller als gesundes Maß an.
Ich habe mein NAS Mitte Februar 2012 in Betrieb genommen. Anfang April hatte ich rund 10.000 Parkvorgänge erreicht. Bei über 1.000 Parkvorgängen pro Woche, so meine Hochrechnung, wäre die mittlere Lebenszeit in unter sechs Jahren “verbraucht”. Ablesbar ist dieser Wert mit den smartmontools, aber auch in der Admin-Oberfläche des QNAP-NAS. Der Wert heißt “Load Cycle Count”.
Die Konfiguration der Platten lässt sich glücklicherweise anpassen, so dass die platten etwas später schlafen gehen oder im Zweifelsfall auch gar nicht. Damit verspielt man einen Teil des Stromspar-Features zugunsten der Lebensdauer der Festplatte. Die Änderung kann man unter Linux mit den idle3-tools durchführen. Ich habe das einfach direkt auf dem NAS gemacht (optware “ipkg” benötigt):
# Vorbereitungen: [/share/Download] # wget http://downloads.sourceforge.net/project/idle3-tools/idle3-tools-0.9.1.tgz [/share/Download] # tar -xzf idle3-tools-0.9.1.tgz [/share/Download] # cd idle3-tools-0.9.1 [/share/Download/idle3-tools-0.9.1] # ls COPYING Makefile idle3ctl.8 idle3ctl.c sgio.c sgio.h [/share/Download/idle3-tools-0.9.1] # ipkg install gcc # [gcc, binutils, libc-dev, libnsl werden installiert] [/share/Download/idle3-tools-0.9.1] # ipkg install make # [make wird installiert]
Wir haben jetzt alles beisammen um idle3-tools zu kompilieren. Leider ging das nicht auf Anhieb, weil der Compiler nicht gefunden wurde. Ich habe dafür das Makefile minimal angepasst. In Zeile 13 vom Makefile habe ich dazu den kompletten Pfad zum gcc eigetragen (/opt/bin/gcc
).
[/share/Download/idle3-tools-0.9.1] # make # [... ganz viel output von make ...] [/share/Download/idle3-tools-0.9.1] # ./idle3ctl idle3ctl v0.9.1 - Read, Set or disable the idle3 timer of Western Digital drives Copyright (C) 2011 Christophe Bothamy Usage: idle3ctl [options] device Options: -h : displat help -V : show version and exit immediately -v : verbose output --force : force even if no Western Digital HDD are detected -g : get raw idle3 timer value -g100 : get idle3 timer value as wdidle3 v1.00 value -g103 : get idle3 timer value as wdidle3 v1.03 value -g105 : get idle3 timer value as wdidle3 v1.05 value -d : disable idle3 timer -s : set idle3 timer raw value [/share/Download/idle3-tools-0.9.1] # ./idle3ctl -g /dev/sda Idle3 timer set to 80 (0x50) [/share/Download/idle3-tools-0.9.1] # ./idle3ctl -g /dev/sdb Idle3 timer set to 80 (0x50) [/share/Download/idle3-tools-0.9.1] # ./idle3ctl -g /dev/sdc Idle3 timer set to 80 (0x50) [/share/Download/idle3-tools-0.9.1] # ./idle3ctl -g /dev/sdd Idle3 timer set to 80 (0x50)
Mit make
haben wir nun eine ausführbare Version der idle3-tools kompiliert, was ich in Zeile 3 direkt ausprobiert habe. Das Tool meldet sich mit einer Kurzanleitung zurück. Ab Zeile 19 frage ich dann die Werte von den vier Festplatten ab. Alle stehen auf 8 Sekunden (80 Zehntelsekunden).
Aus einem der QNAP-Foren hatte ich die Empfehlung, den Wert über 20 Sekunden zu heben. Also habe ich mich für 24 Sekunden entschieden. Achtung: wenn ihr das zu Hause nachmacht, macht ihr das auf eigene Gefahr!
[/share/Download/idle3-tools-0.9.1] # ./idle3ctl -s 240 /dev/sda Idle3 timer set to 240 (0xf0) Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough! [/share/Download/idle3-tools-0.9.1] # ./idle3ctl -s 240 /dev/sdb Idle3 timer set to 240 (0xf0) Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough! [/share/Download/idle3-tools-0.9.1] # ./idle3ctl -s 240 /dev/sdc Idle3 timer set to 240 (0xf0) Please power cycle your drive off and on for the new setting to be taken into account. A reboot will not be enough! [/share/Download/idle3-tools-0.9.1] # ./idle3ctl -s 240 /dev/sdd Idle3 timer set to 240 (0xf0)
Wie gefordert, habe ich das Gerät danach erstmal ausgeschaltet. Nach dem Neustart habe ich mich nochmal versicht, dass der neue Wert auch wirklich gespeichert ist:
[/share/Download/idle3-tools-0.9.1] # ./idle3ctl -g /dev/sda Idle3 timer set to 240 (0xf0)
Danach hatte ich das Thema für ein Jahr vergessen. In der folgenden Grafik kann man aber schön den Knick erkennen, nachdem ich die Konfiguration vorgenommen habe. Die 10.000er Marke war – wie geschrieben – nach rund 6 Wochen erreicht. Im ganzen darauf folgenden Jahr habe ich nun nochmal 4.000 Parkvorgänge oben drauf gepackt.
Hallo Claudius,
vielen Dank für die ausführliche Beschreibung.
Ich habe das ganze an meinem TS-112P komplett übernehmen können.
Einen Hinweis habe ich aber doch:
Sind Sie sicher, dass Sie mit dem Wert ‘240’ 24s eingestellt haben?
Das gilt doch sicher nur für Version 1.0. – oder lese ich da was falsch?
Es könnten auch 3360s = 56min sein (bei mir scheint das jedenfalls so zu sein).
IDLE3 docu:
“Meaning of the returned raw value depending on the wdidle3 version
The value 0 is used when the timer is disabled.
The values 1 to 128 are reported in .1s by all wdidle3.exe versions.
The values 129 to 255 are in .1s for version 1.00, but in 30s for versions 1.03 and 1.05
The difference only affects the output, the stored timer is identical between versions. Maybe different WD drives have different beheviour. ”
Beste Grüße
Norbert Koehn