Notebook-Festplatten-Bug
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
Wie kurz nach der Veröffentlichung von Ubuntu 7.10 bekannt geworden ist, lassen Ubuntu und andere Linux-Distributionen die Schreibköpfe bestimmter Modelle von Notebookfestplatten ungewöhnlich oft in eine Parkposition wechseln, wodurch der Verschleiß der Festplatte erhöht wird und somit die Lebensdauer sinkt. Je nach Festplattenmodell können aber auch Windows-Benutzer davon betroffen sein.
Hintergrund¶
Aktuelle Notebooks parken die Schreibköpfe ihrer Festplatten, wenn kein Lese-/Schreib-Zugriff stattfindet und sparen somit Strom für den Batteriebetrieb ein. Die Parkvorgänge sind allerdings verschleißbehaftet und daher in ihrer Anzahl begrenzt. Die maximale Anzahl ist von Hersteller zu Hersteller verschieden und liegt im Regelfall bei 300.000 bis 600.000 Parkvorgängen.
Nun obliegt es unter anderem dem Notebookhersteller, in den Einstellungen des Notebooks passende Werte für den "Advanced Power Management Level" der Festplatte zu verwenden, um die sogenannten Load-Cycle-Counts nicht ins Unermessliche steigen lassen. Zusätzlich kompliziert wird die Situation durch unterschiedliche Interpretation der Werte je nach Festplatten-Hersteller und -Modell. Häufig sind diese Einstellungen von den Herstellern sehr radikal gewählt und die Load-Cycle-Counts entsprechend hoch.
Rechnet man also vor diesem Hintergrund mit einer Anzahl von 30 Parkvorgängen in der Stunde und einer Laufzeit von 10 Stunden pro Tag, könnte die Festplatte theoretisch bereits nach zweieinhalb Jahren an die Verschleißgrenze gelangen.
Es bietet sich jedoch die Möglichkeit, die APM-Level-Einstellungen mit Hilfe des Betriebssystems zu korrigieren. Dabei ist es nicht ohne weiteres möglich, Werte zu finden, die für jede Festplatte passend sind. Dennoch werden von Ubuntu mittlerweile vernünftige Standardwerte gesetzt, die in vielen Fällen bereits erhöhten Verschleiß vermeiden.
Dieser Artikel beschreibt die Überprüfung des aktuellen Zustands und die individuelle Anpassung der Werte.
Hinweis:
Ein Anfangsverdacht für überhöhte Load-Cycle-Counts findet sich in häufigen Klickgeräuschen durch die Notebook-Festplatte.
Überprüfung des Load-Cycle-Counts¶
Wenn nicht schon geschehen, muss zunächst das Programm smartctl, welches Statusmeldungen von S.M.A.R.T. auslesen kann, installiert werden.
Folgendes Paket muss installiert [1] werden:
smartmontools
Befehl zum Installieren der Pakete:
sudo apt-get install smartmontools
Oder mit apturl installieren, Link: apt://smartmontools
Nach der Installation öffnet man ein Terminal [2] und führt folgenden Befehl mit Root-Rechten im Netzbetrieb in Abständen von etwa einer Minute mehrmals hintereinander aus:
sudo smartctl -A /dev/sdX | grep -E "(Load_Cycle_Count|ID)"
Dieser Befehl produziert bei richtig angegebenem Laufwerk (Buchstabe X, erste Festplatte ist sda
) und aktivierter SMART-Funktion eine Ausgabe folgender Form:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 193 Load_Cycle_Count 0x0032 95 95 000 Old_age Always - 32578
Den besten Überblick über die Anzahl der "verbrauchten" Parkvorgänge gibt hier die Spalte VALUE
. Der Wert darunter ist bei einer neuen Festplatte meistens gleich 100 und nähert sich dann im Laufe der Lebenszeit dem kritischen Wert 0 (THRESH
). Im vorliegenden Beispiel hat die Festplatte also schon 5% ihrer maximal vorgesehenen Parkvorgänge durchgeführt.
In der Spalte RAW_VALUE
steht die tatsächliche Anzahl der Parkvorgänge. Im Netzbetrieb darf sich der hier ausgegebene Wert nur sehr langsam erhöhen. So schränken 100 Load-Cycles pro Tag die Lebensdauer einer Festplatte sicher nicht ein. Ist aber eine wesentlich schnellere Änderung feststellbar, die auch mit fallendem VALUE
-Wert einhergeht, sollte man entsprechende Maßnahmen ergreifen.
Hinweis:
Es wurde hin und wieder berichtet, dass manche Hersteller eine abweichende Zählweise bei den RAW_VALUE
s haben. In diesem Fall sollte man sich an dem "übersetzten" VALUE
-Wert orientieren.
Befindet sich der VALUE
-Wert bereits nahe dem Grenzbereich, sollte man den Gesundheitszustand der Festplatte mit Hilfe des Schnelltests von smartctl überprüfen.
Provisorische Lösungen¶
Achtung!
Die unten aufgeführten Methoden sind im Grunde nur behelfsmäßig und führen unter Umständen zu einer erhöhten Temperatur der Festplatte. Um eine Überhitzung zu vermeiden, sollte man die Temperatur mittels hddtemp kontrollieren.
Generell bedient sich jede derzeit bekannte Lösung des Kommandozeilenprogramms hdparm, welches diverse Einstellungen von Festplattenparametern ermöglicht. Mit den unten vorgestellten Skripten wird im Netzbetrieb das Parken des Schreibkopfes verhindert. Im Batteriebetrieb wird jedoch weiterhin die stromsparende Standard-Einstellung verwendet. Nach der Anwendung einer der vorgestellten Workarounds sollten sich also die Load-Cycles im Netz- und Batteriebetrieb nicht mehr erhöhen.
Eckwerte für den APM-Level | ||
Wert | Ergebnis | Verwendung |
255 | APM deaktiviert | Hinweis: funktioniert nicht mit allen Platten |
254 | maximaler Stromverbrauch, minimaler Verschleiß | Ubuntu-Standard für Netzbetrieb |
192 | verhindert bei einigen Festplattenmodellen häufiges Parken der Köpfe | |
128 | Kompromiss aus Stromverbrauch und Verschleiß | Ubuntu-Standard für Batteriebetrieb |
1 | minimaler Stromverbrauch und maximaler Verschleiß | aggressivstes Stromsparen |
Mehr dazu in der Manpage zu hdparm.
Die gezeigten Ubuntu-Standardwerte vermeiden bereits in vielen Fällen erhöhten Verschleiß. Wegen der oben erwähnten, unterschiedlichen Interpretation der Eckwerte durch die Festplattenhersteller, kann es jedoch bei manchen Festplatten - insbesondere im Batteriebetrieb - erforderlich sein, andere als die gezeigten Standardwerte zu verwenden. Dann muss durch Ausprobieren und Beobachten des Load-Cycle-Counts ein individueller Kompromiss aus Stromverbrauch und Verschleiß gefunden werden. Bei einigen Laufwerken hat sich für den Batteriebetrieb der Wert 192
bewährt. Der Load-Cycle-Count sollte dabei nur noch extrem langsam ansteigen.
Aktive Einstellung abfragen¶
Die momentan aktive APM-Level-Einstellung lässt sich abfragen mit
sudo hdparm -B /dev/sdX
Temporäre Einstellung¶
Mit Hilfe des folgenden Befehls prüft man, ob ein weniger aggressives Powermanagement Wirkung zeigt:
sudo hdparm -B 254 /dev/sdX
Die neue Einstellung ist allerdings nur temporär und nach einem Neustart werden wieder die ursprünglichen Parameter geladen.
Dauerhafte Einstellung¶
Die Einstellung des APM-Levels wird im Zusammenspiel der Pakete pm-utils und hdparm vorgenommen. Ubuntu verwendet dazu die unter Eckwerte gezeigten Standardparameter. Die Einstellungen werden durch das hdparm-Skript /usr/lib/pm-utils/power.d/95hdparm-apm automatisch gesetzt, das beim Systemstart und jedem Wechsel der Stromquelle von pm-utils aufgerufen wird.
Individuelle Einstellungen für hdparm können in der Datei /etc/hdparm.conf (am Ende) eingefügt werden:
... /dev/sda { apm = WERT # Netzbetrieb apm_battery = WERT # Batteriebetrieb spindown_time = 0 # kein Anhalten des Spindelmotors }
Abhängigkeit zu den Laptop Mode Tools¶
Hinweis:
Seit Ubuntu 10.04 wird das Paket laptop-mode-tools standardmäßig nicht mehr installiert. Das nachfolgend beschriebene ist daher nur relevant, wenn die Laptop Mode Tools vom Benutzer explizit installiert und aktiviert wurden.
Eine bekannte Einschränkung ist, dass das hdparm-Skript keine Einstellungen vornimmt, wenn die laptop-mode-tools aktiviert wurden und damit die Verantwortung für die Einstellungen haben. Leider überprüft das hdparm-Skript nicht, ob die Laptop Mode Tools auch tatsächlich die APM-Level-Einstellungen vornehmen. Standardmäßig sind die Laptop Mode Tools nämlich nur im Batteriebetrieb aktiv und übernehmen daher auch nur dort die Energie-Einstellungen. Im Ergebnis wird das Skript im Netzbetrieb nie ausgeführt.
Falls man die Laptop Mode Tools wegen weiterer Energie-Einstellungen unbedingt verwenden möchte, dann muss man alle verschleißmindernden APM-Einstellungen für Batterie- und Netzbetrieb dort vornehmen und sie auch für den Netzbetrieb in /etc/laptop-mode/laptop-mode.conf aktivieren:
ENABLE_LAPTOP_MODE_ON_AC=1
Links¶
Laptop Hardrive Killer Bug 🇬🇧 - Blogbeitrag, 10/2007
59695 🇬🇧
Ergänzung zur pm-utils-Methode bezüglich Standby und Ruhezustand 🇬🇧
WD_IntelliPark - gleiches Problem, andere Lösung