Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Festplatten von Western Digital 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 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.
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
.
Im Artikel Notebook-Festplatten-Bug ist das weitere Vorgehen beschrieben.
Alternativ zu dem weiter unten beschriebenen offiziellen DOS-Tool von WD gibt es eine inoffizielle Linux Portierung: idle3-tools . 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)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install idle3-tools
sudo aptitude install idle3-tools
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 heruntergeladen werden.
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.
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.
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 .
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
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.)
* Notebook-Festplatten-Bug - Umgang mit einem ähnlichen Park-Problem bei Notebook-Festplatten
Diese Revision wurde am 21. November 2014 15:56 von aasche erstellt.