Der schnelle Festplattentod
In Ubuntu 8.04 hat sich leider ein Fehler eingeschlichen, der manche Notebook-Festplatten viel zu schnell in den “Parkmodus” schickt und sie dadurch beschleunigt altern lässt. In diesem Modus sind die Schreib-/Leseköpfe speziell geschützt und können bei Erschütterungen die Speicheroberfläche nicht beschädigen – was insbesondere bei Notebooks, die herumgetragen werden, sehr sinnvoll ist. Durch den Fehler werden die Köpfe aber bereits nach wenigen Sekunden Inaktivität geparkt und müssen oft bereits unmittelbar darauf wieder für Zugriffe hervorgeholt werden. Die rund ca. 600’000 zugesicherten Zyklen können dadurch schon nach wenigen Jahren erreicht sein. Bei mir hat es ein System in einem halben Jahr bereits auf über 250’000 geschafft. Und auch ein zweites Gerät ist betroffen. Grund genug, die Schose etwas genauer zu betrachten.
Zuerst gilt es herauszukriegen, ob ein System überhaupt betroffen ist. Dazu muss (z. B. per Synaptic) das Software-Paket smartmontools installiert werden. Die nötigen Informationen liefert dann der folgende Befehl (sda steht für die erste Festplatte, sdb für eine allfällige zweite, etc.):
sudo smartctl -A /dev/sda
smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/
=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 062 0
2 Throughput_Performance 0x0005 105 105 040 4564
3 Spin_Up_Time 0x0007 127 127 033 2
4 Start_Stop_Count 0x0012 100 100 000 363
5 Reallocated_Sector_Ct 0x0033 100 100 005 0
7 Seek_Error_Rate 0x000b 100 100 067 0
8 Seek_Time_Performance 0x0005 122 122 040 39
9 Power_On_Hours 0x0012 098 098 000 1155
10 Spin_Retry_Count 0x0013 100 100 060 0
12 Power_Cycle_Count 0x0032 100 100 000 357
191 G-Sense_Error_Rate 0x000a 100 100 000 0
192 Power-Off_Retract_Count 0x0032 100 100 000 4
193 Load_Cycle_Count 0x0012 074 074 000 261987
194 Temperature_Celsius 0x0002 157 157 000 35 (Lifetime Min/Max 20/45)
196 Reallocated_Event_Count 0x0032 100 100 000 0
197 Current_Pending_Sector 0x0022 100 100 000 0
198 Offline_Uncorrectable 0x0008 100 100 000 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 0
223 Load_Retry_Count 0x000a 100 100 000 0
Unter Load_Cycle_Count kann in der Spalte RAW_VALUE die Anzahl Zyklen abgelesen und mit den Power_On_Hours verglichen werden. Hier wären es also über 225 pro Stunde. Soviele dürften es nicht mal pro Tag sein.
Unter Ubuntu 8.10 lässt sich das Problem recht einfach lindern:
sudo gedit /etc/default/acpi-support
Und darin den Parameter ENABLE_LAPTOP_MODE auf true stellen. Nach einem Neustart des Rechners wird nun das Parken der Köpfe im Betrieb am Stromnetz verhindert. Falls das Notebook auch oft stationär nur von der Batterie mit Energie versorgt wird, kann manuell mit
sudo hdparm -B 254 /dev/sda
das Parken unterbunden werden. Da die Einstellung bei jedem Reboot oder Anschliessen ans Stromnetz verloren geht, habe ich den Befehl bei mir gleich in ein Skript gepackt und dieses in die Programm-Startleiste eingetragen.
Unter Ubuntu 8.04 ist die Sache etwas komplizierter. Im Wiki auf ubuntu.com gibt es eine Anleitung, wie es gehen soll. Dies habe ich jedoch nicht ausprobiert. Die Zeit scheint mir in ein Upgrade besser investiert. Zur Überbrückung hilft auch hier obiges Skript.