Ubuntu 12.10 „Quantal Quetzal“
Ubuntu 12.04 „Precise Pangolin“
Ubuntu 11.10 „Oneiric Ocelot“
Ubuntu 10.04 „Lucid Lynx“
Wie kurz nach der Veröffentlichung von Ubuntu 7.10 - Gutsy Gibbon bekannt geworden ist, lassen Ubuntu und andere Linux-Distributionen die Schreibköpfe 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.
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 Defekte aufweisen.
Es bietet sich jedoch die Möglichkeit, die APM-Level-Einstellungen mit Hilfe des Betriebssystems zu korrigieren, was wohl im Vertrauen auf die Hersteller bis einschließlich Ubuntu 9.04 nicht automatisch geschehen ist. Es ist nicht ohne weiteres möglich, Werte zu finden, die für jedes Notebook bzw. jede Festplatte passend sind. Dennoch werden seit Ubuntu 9.10 vernünftige Standardwerte gesetzt, die in vielen Fällen bereits erhöhten Verschleiß vermeiden.
Dieser Artikel beschreibt die Überprüfung des aktuellen Zustands, die individuelle Anpassung der Werte für Karmic Koala bzw. neuere Versionen und schließlich die Möglichkeit die Werte in älteren Ubuntu-Versionen zu setzen.
Ein Anfangsverdacht für überhöhte Load-Cycle-Counts findet sich in häufigen Klickgeräuschen durch die Notebook-Festplatte.
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
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.
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.
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ß | Standard für Netzbetrieb |
128 | Kompromiss aus Stromverbrauch und Verschleiß | Standard für Batteriebetrieb |
1 | minimaler Stromverbrauch und maximaler Verschleiß | aggressivstes Stromsparen |
Mehr dazu in der Manpage zu hdparm.
Die gezeigten 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.
Die momentan aktive APM-Level-Einstellung lässt sich abfragen mit
sudo hdparm -I /dev/sdX | grep "Advanced power management level"
oder einfacher mit
sudo hdparm -B /dev/sdX
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.
Seit Karmic wird die Einstellung des APM-Levels 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 }
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.
Ein bekanntes Problem 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 der Laptop-Modus auch tatsächlich die APM-Level-Einstellungen vornimmt. Standardmäßig ist der Laptop-Modus nämlich nur im Batteriebetrieb aktiv und übernimmt daher auch nur dort die Energie-Einstellungen. Im Ergebnis wird das Skript im Netzbetrieb nie ausgeführt.
Man sollte sich daher entscheiden: falls man den Laptop-Modus wegen weiterer Energie-Einstellungen unbedingt verwenden möchte, dann muß man alle verschleißmindernden APM-Einstellungen für Batterie- und Netzbetrieb dort vornehmen und ihn für Letzteren aktivieren in /etc/laptop-mode/laptop-mode.conf:
ENABLE_LAPTOP_MODE_ON_AC=1
Andernfalls sollte man den Laptop-Modus in /etc/default/acpi-support komplett deaktivieren
ENABLE_LAPTOP_MODE=false
und alle notwendigen Einstellungen mit dem Skript vornehmen.
WD IntelliPark - Ähnlicher Fehler und Problemlösung, bei Festplatten für Desktops von Western Digital (Baureihe "Caviar-Green")
Ergänzung zur pm-utils-Methode bezüglich Standby und Ruhezustand
Blogeintrag eines Ubuntu-Entwicklers - nicht mehr auf dem neuesten Stand
Ikhaya-Beitrag zum Thema - nicht mehr auf dem neuesten Stand