ubuntuusers.de

Notebook-Festplatten-Bug

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

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/hd.png Wie kurz nach der Veröffentlichung von Ubuntu 7.10 - Gutsy Gibbon 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

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install smartmontools 

sudo aptitude install 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_VALUEs 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 eines 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 "Lucid Lynx" 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 muß man alle verschleißmindernden APM-Einstellungen für Batterie- und Netzbetrieb dort vornehmen und sie auch für den Netzbetrieb aktivieren in /etc/laptop-mode/laptop-mode.conf:

ENABLE_LAPTOP_MODE_ON_AC=1

Diese Revision wurde am 21. November 2014 15:53 von aasche erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware