ubuntuusers.de

ubuntuusers.deWikiWD IntelliPark

WD IntelliPark

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte diesen Artikel testen und das getestet-Tag entsprechend anpassen.

Festplatten von Western Digital {de} der Baureihe Caviar-Green können auf Grund von "IntelliPark" eine extrem verkürzte Lebenszeit aufweisen. Western Digital bewirbt IntelliPark als eine "intelligente Laufwerkstechnologie zur Verringerung des Stromverbrauchs". Durch Parken der Leseköpfe auf einer Rampe neben den rotierenden Platten reduziert sich der Luftwiderstand und damit der Energieverbrauch des Laufwerks.

Leider werden die Köpfe bereits nach 8 Sekunden Inaktivität eingezogen, was gerade beim Betrieb unter Linux - aber nicht nur dort - schnell zu einer exorbitant hohen Anzahl von Parkvorgängen führt. Im ungünstigsten Fall finden die Parkvorgänge im 30-Sekundentakt des Kernelthreads pdflush {en} statt. Die Zahl dieser sogenannten Load Cycles ist jedoch begrenzt. WD gibt als Obergrenze 300.000 an, das Laufwerk selbst scheint seinen SMART-Daten zufolge die doppelte Anzahl zugrunde zu legen. In jedem Fall kann man sich leicht ausrechnen, dass das Laufwerk binnen weniger Monate den Grenzwert erreicht haben kann und dann aus Sicherheitsgründen ausgetauscht werden müsste.

Achtung!

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.

Feststellen der Problematik

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.

Rettung der Festplatte

hdparm

Im Artikel Notebook-Festplatten-Bug ist das weitere Vorgehen beschrieben.

idle3-tools

Alternativ zu dem weiter unten beschriebenen offiziellen DOS-Tool von WD gibt es eine inoffizielle Linux Portierung: idle3-tools {en}. Das Vorgehen ist analog zu wdidle3 (siehe unten) und kann auf der Projektseite nachgelesen werden. Ab Ubuntu 12.10 ist das Programm in den offiziellen Paketquellen enthalten:

  • idle3-tools (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install idle3-tools 

sudo aptitude install idle3-tools 

wdidle3

Von WD gibt es ein DOS-Tool, wdidle3 genannt, mit dem man den Idle3 Timer und damit die Länge der tolerierten Inaktivitätsphase einstellen kann. Es kann von der WD-Supportseite {dl} {de} heruntergeladen werden.

Achtung!

Auch wenn wdidle3 keine Daten auf der Festplatte verändert, sollte man im Besitz eines aktuellen Backups sein! Außerdem sollte man sicherstellen, dass der Computer während der Firmwareaktualisierung nicht ausgeschaltet wird, da dies zu irreparablen Schäden am Laufwerk und komplettem Datenverlust führen kann.

wdidle3 ist ein DOS-Programm, zu dessen Ausführung man ein DOS-Bootmedium braucht. Wie man diese Hürde als reiner Linux-Nutzer meistert, ist im Abschnitt DOS-Boot CD beschrieben. Hat man DOS gebootet, so kann man mittels:

wdidle3 

den aktuellen Timerwert auslesen (werksseitige Voreinstellung: 8.0 Sekunden) und diesen mittels

wdidle3 /D 

ausschalten. Entgegen der Programmbeschreibung wird er jedoch nicht vollkommen ausgeschaltet, sondern auf einen Wert von 62 Minuten eingestellt, was in der Praxis einer Abschaltung gleichkommt. Verwendet man FreeDOS, muss man die Kommandozeilenoptionen quoten, d.h. wdidle3 "/D" eingeben, sonst stürzt FreeDOS ab. Sollte man trotz positiver Rückmeldung von wdidle auf diesen Befehl später feststellen, dass weiterhin dauernde Parkvorgänge stattfinden, kann man statt dem genannten noch den Befehl

wdidle3 /S300 

probieren, womit der Timer auf 5 Minuten gesetzt wird.

Erfolg überprüfen

Ob die Aktion von Erfolg gekrönt war, lässt sich sehr einfach testen, indem man den Rechner mehrere Stunden unbenutzt und ohne Power-Save-Modus laufen lässt und den Load Cycle Count kontrolliert. Hat er sich nicht erhöht, ist dem Spuk ein Ende gesetzt.

DOS Boot-CD

Verwendung von FreeDOS

Mittels des freien FreeDOS kann man sich eine passende Boot-CD erstellen. Dafür ausreichend ist die 8 MB große Base-CD fdbasecd.iso {dl}.

Man erweitert die CD um wdidle3.exe (und ggf. andere DOS-Tools, z.B. für ein anstehendes BIOS-Update), erzeugt eine geänderte Boot-CD, bootet von dieser und setzt mittels wdidle3 den Timer. Schritt für Schritt geht man wie folgt vor:

  • Einbinden des ISO-Abbildes per Loop-Device und Kopieren der CD-Dateien sowie wdidle3.exe nach /tmp:

sudo mount -o loop /pfad/zu/isoimage/fdbasecd.iso /mnt
cd /mnt
find -depth -print0 | cpio --null -pd /tmp/fdbase-remastered
cd /pfad/zu/wdidle3
cp wdidle3.exe /tmp/fdbase-remastered
sudo umount /mnt 
  • Erstellen eines bootfähiges ISO-Abbildes:

cd /tmp/fdbase-remastered
sudo genisoimage -R -D -V 'FreeDOS 1.0b' -o /tmp/fdbase-remastered.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table . 

Da die Dateien von der CD read-only kommen, erspart man sich mittels sudo Fehlermeldungen aufgrund fehlender Schreibberechtigung.

  • Brennen des ISO-Abbildes auf CD:

cdrecord -v -driveropts=burnproof /tmp/fdbase-remastered.iso 

Ausführung von FreeDOS

Nachdem man von der CD gebootet hat, erscheint ein Auswahlmenü. Man wählt "Continue to boot FreeDOS ...", anschließend "Install to harddisk...", wählt "Deutsch" als Sprache und schließlich "Run FreeDOS from CD ROM ...". Nun hat man den DOS-Prompt vor sich und kann mit wdidle3 die Festplatte bearbeiten. Sollte man sich nach dem Start von FreeDOS in einem Unterverzeichnis befinden, so muss man zunächst mit dem Befehl

cd .. 

zum Root-Verzeichnis gehen, in dem die wdidle.exe liegt, um mit dem Programm zu arbeiten. (Wenn man nicht weiß, in welchem Verzeichnis man sich befindet, kann man dir eingeben, um es sich anzeigen zu lassen.)

Wiki

Diese Revision wurde am 5. Oktober 2014 12:04 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, System, ungetestet