9.4. Pause für die Festplatte

Man kann unter Linux die Festplatte abschalten, wenn sie nicht benötigt wird. Dazu dient das Programm hdparm, mit dem man diverse Einstellungen an den Festplatten vornehmen kann. Mit der Option -y wird die Platte sofort in den Stand-by-Modus geschickt, mit -Y (Vorsicht!) wird sie vollständig abgeschaltet. Mit hdparm -S <x> wird erreicht, dass die Platte nach einer bestimmten Zeit Inaktivität abgeschaltet wird. Der Platzhalter x hat folgende Bedeutung: 0 schaltet diesen Mechanismus aus, die Platte läuft immer. Werte von 1 bis 240 werden mit 5 Sekunden multipliziert. 241 bis 251 entsprechen 1 bis 11 mal 30 Minuten.

Häufig ist es aber nicht ganz so einfach, die Festplatte in den Ruhezustand zu versetzen. Unter Linux gibt es eine Vielzahl von Prozessen, die durch Schreibvorgänge die Platte immer wieder aufwecken. Deshalb ist es an dieser Stelle wichtig zu verstehen, wie Linux mit Daten umgeht, die auf die Platte geschrieben werden sollen. Alle Daten werden zuerst in einen Puffer im Arbeitsspeicher zwischengespeichert. Dieser Puffer wird vom „Kernel Update Daemon“ (kupdated) überwacht. Immer wenn Daten ein bestimmtes Alter erreichen oder wenn der Puffer bis zu einem gewissen Grad gefüllt ist, wird der Puffer geleert und die Daten der Festplatte übergeben. Die Größe des Puffers ist übrigens dynamisch und hängt von der Speichergröße und der Systemauslastung ab. Da das vorrangige Ziel Datensicherheit ist, wird der kupdated standardmäßig auf kleine Zeitintervalle eingestellt. Er prüft den Puffer alle 5 Sekunden und benachrichtigt den bdflush-Daemon, wenn Daten älter als 30 Sekunden sind oder der Puffer zu 30% gefüllt ist. Der bdflush-Daemon schreibt dann die Daten auf die Platte. Er schreibt auch unabhängig vom kupdated wenn zum Beispiel der Puffer voll ist. Wer ein stabiles System hat, kann diese Einstellungen nun verändern. Man muss sich jedoch immer darüber im Klaren sein, dass dies auf Kosten der Datensicherheit geht.

[Warning]Beeinträchtigung der Datensicherheit

Änderungen an den Einstellungen des Kernel Update Daemon beeinflussen die Datensicherheit. Wer sich unsicher ist, lässt lieber die Finger davon.

Die Einstellungen für den Festplattentimeout, den kupdated-Intervall, den Füllgrad des Puffers und das Alter der Daten können in /etc/sysconfig/powermanagement zweifach abgelegt werden: einmal für den Batteriebetrieb und einmal für den Betrieb mit externer Stromversorgung. Die Variablen sind im Abschnitt über den apmd 9.2.1. “Der APM-Daemon (apmd)” und in der Datei selbst beschrieben. Weiterhin finden Sie einige Information zum Thema unter /usr/share/doc/packages/powersave.

Neben all diesen Vorgängen schreiben so genannte „Journaling Dateisysteme“ wie zum Beispiel ReiserFS oder Ext3 unabhängig von bdflush ihre Metadaten auf die Festplatte, was natürlich auch ein Einschlafen der Platte verhindert. Um das zu vermeiden, gibt es jetzt eine Erweiterung im Kernel, die speziell für mobile Geräte entwickelt wurde. Die genaue Beschreibung dazu findet man in /usr/src/linux/Documentation/laptop-mode.txt.

Weiterhin ist natürlich zu beachten, wie sich die Programme verhalten, die man gerade verwendet. Zum Beispiel schreiben gute Texteditoren regelmäßig versteckte Sicherungen der gerade geänderten Datei auf die Platte. Das weckt dann die Platte immer wieder auf. Solche Eigenschaften von Programmen können auch abgeschaltet werden, aber auch hier wieder auf Kosten der Datensicherheit.

In diesem Zusammenhang gibt es für den Maildaemon postfix eine Variable POSTFIX_LAPTOP. Wenn diese auf yes gesetzt wird, greift postfix wesentlich seltener auf die Festplatte zu. Das ist jedoch nicht von Bedeutung, wenn das Intervall für den kupdated verlängert wurde.