Inhaltsverzeichnis

idle3-tools

Western Digital WDC NAS Red Harddiscs

WD Red - Desktopfestplatten

http://wiki.ubuntuusers.de/WD_IntelliPark

Betroffen sind laut Western Digital lediglich die Modelle WD1000FYPS-01ZKB0, WD7500AYPS-01ZKB0 und WD7501AYPS-01ZKB0. Für andere Modelle wird die hier erläuterte Firmwareänderung nicht empfohlen! Das Problem tritt jedoch auch bei einigen wenigen Exemplaren der Scorpio Blue Reihe auf, z.B. WD5000BEVT. Hier darf die Software von Western Digital eingesetzt werden.

Ob das eigene Laufwerk betroffen ist, kann man durch Auslesen der SMART-Daten feststellen. Hierzu sei auf den Wiki-Artikel Festplattenstatus verwiesen. Folgendes Kommando zeigt die Anzahl der bisher aufgelaufenen Load Cycles und Betriebsstunden, wobei X durch den jeweiligen Laufwerksbuchstaben zu ersetzen ist:

sudo smartctl -A /dev/sdX | egrep "ID|Load|Power"

Die Ausgabe würde dann zum Beispiel so aussehen:

ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       558
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       144
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       26
193 Load_Cycle_Count        0x0032   186   186   000    Old_age   Always       -       40082

Die hier gezeigten Angaben stammen von einem fast neuen Laufwerk (WD7500AADS), das nach nur 1,5 Monaten gut 40000 Parkvorgänge vollzogen und damit bereits 7% seiner Lebensdauer verbraucht hat. Letzteres sieht man an VALUE = 186, der Neuwert ist 200.

Laut Western Digital sind ihre Platten der Serie „Green“ besonders umweltfreundlich. Das finde ich grundsätzlich nicht verkehrt. Leider scheinen aber alle diese Platten einen kritischen Konfigurationsfehler zu haben. Standardmäßig parken diese Platten ihre Schreib-/Leseköpfe nach fünf Sekunden Nichtbenutzung außerhalb des Plattenstapels, um Energie zu sparen. Das Feature hat die Firma „IntelliPark“ getauft. Das klingt nicht schlecht, ist es aber, wenn man die Herstellerspezifikation gelesen hat. Für lediglich 300.000 Parkvorgänge sind diese Festplatten ausgelegt. Noch schlechter wird es einem, wenn man bedenkt, dass Linuxmaschinen normalerweise nach ca. zehn bis 30 Sekunden die Dateisystemcaches auf die Platten wegschreiben.

Bereits nach 13 Stunden in Betrieb war der Zähler der Parkvorgänge - Load Cycle Count - meiner neuen Platte bereits bei über 400. Meine anderen Platten haben nach mehreren Jahren jeweils nur knappe 2000 dieser Parkvorgänge.

Quelle1)

If you have a Western Digital EADS or EARS drive, please check you SMART information before it's too late :

$ sudo smartctl -A /dev/sda | grep "^193"
193 Load_Cycle_Count        0x0032   253   253   000    Old_age   Always       -       14493

If the Load cycle count exceeds 1000, you're probably affected by the idle3 timer problem.

Syntax

idle3ctl [options] /dev/device

    -h : display help
    -l : show license and exit immediately
    -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 (default action)
    -g100 : get idle3 timer value as wdidle3 v1.00 would display it
    -g103 : get idle3 timer value as wdidle3 v1.03/v1.05 would display it
    -d : disable idle3 timer
    -s<value> : set idle3 timer raw value (1-255)

Examples

Get idle3 timer raw value

# idle3ctl -g /dev/sda

Disable idle3 timer

# idle3ctl -d /dev/sda

Set the idle3 timer to 10s

# idle3ctl -s 100 /dev/sda

Compatibility

Idle3ctl should be compatible with all modern Western Digital HDD driven by a real SATA controler. Compatibility with SATA-to-USB adapters is uncertain. Since idle3ctl uses SMART ATA commands to get and set the idle3 timer, it should work if SMART information can be read from your drive.

WARNING

The idle3 timer seems to be a power on only setting. That means that the drive needs to be powered OFF and then ON to use the new setting.

Download

Source code and releases can be found on the SourceForge project pages.

Compilation / Installation

After downloading the tarball, for example the 0.9.1 release (idle3-tools-0.9.1.tar.gz), uncompress it :

$ tar xzvf idle3-tools-0.9.1.tar.gz

Change to the source directory, and compile the tool :

$ cd idle3-tools-0.9.1
$ make

You should get the idle3ctl executable :

$ ls idle3ctl
idle3ctl
$ ./idle3ctl -V
idle3ctl v0.9.1

And run it with root permissions to get or set the idle3 value :

$ sudo ./idle3ctl -g /dev/sda

Now you can optionnally install the tool to the /sbin directory

$ sudo make install

Please note that, as the idle3 setting of your disk is permanent, you only need to run idle3ctl once per drive.