- chalblog - http://blog.is-a-geek.org -

Festplatten in den Standby-Modus versetzen unter Ubuntu Desktop/Server mit hd-idle

Festplatten in den Standby-Modus versetzen unter Ubuntu Desktop/Server mit hd-idle [1]Verfügt ein Rechner über mehrere Festplatten, auf welche mitunter selten zugegriffen wird, lohnt es sich diese nach einer vordefinierten Zeit in den Standby-Modus zu versetzen. Dadurch lässt sich einiges an Energie und vor allem Kosten einsparen. Nachdem “hdparm” in Folge von Updates oder bei manchen Festplattenmodellen immer wieder Probleme macht, bin ich auf die bessere Alternative “hd-idle” gestoßen.

Nach vorangegangenen Komplikationen hat mich vor allem das Problem mit der konsequent ignorierten Konfigurationsdatei von hdparm dazu bewegt, eine vorteilhaftere Lösung zu suchen. Weiters wurden Festplatten auch ständig völlig grundlos aus dem Tiefschlaf geholt und einige Modelle überhaupt nicht unterstützt. hd-idle Funktioniert seit über einer Woche auf meinem Fileserver, an welchem 10+- Platten angeschlossen sind sehr zuverlässig sowohl mit SATA als auch IDE Disks.

hd-idle Installation

Die neueste Version könnt ihr unter diesem [2] Link herunterladen:
http://sourceforge.net/projects/hd-idle/files/ [2]

Mit wget in der Konsole herunterladen (Versionsnummer anpassen! Zum aktuellen Zeitpunkt 1.04):

sudo wget http://switch.dl.sourceforge.net/sourceforge/hd-idle/hd-idle-1.04.tgz

Archiv entpacken:

sudo tar xvfz hd-idle*.tgz

Seit der Version 1.04 hat sich der Installationsvorgang etwas verändert, denn es wird ein “.deb”-Installationsfile erstellt, welches dann installiert wird. Um dieses File erstellen zu können, muss zuerst das benötigte “debhelper”-Paket installiert werden.

sudo apt-get install debhelper

Dann wechselt in das Verzeichnis des entpackten “hd-idle” (hier im Home-Verzeichnis) …

cd ~/hd-idle

… und erstellt das Paket mit folgendem Befehl:

sudo dpkg-buildpackage -rfakeroot

Das erstellte “.deb”-File liegt nun im übergeordneten Verzeichnis fertig zur Installation. Also wechselt man in dieses …

cd ..

… und installiert “hd-idle” mit Hilfe der Debian Paketverwaltung:

sudo dpkg -i hd-idle_*.deb

Starten oder stoppen:

sudo service hd-idle start/stop

Will man das Programm automatisch im Zuge des Bootvorganges starten, führt man noch diesen Befehl aus:

 sudo update-rc.d hd-idle defaults

hd-idle Konfiguration

Anmerkung: Vor der Konfiguration sollte man sich im Klaren darüber sein, dass zu häufige Spindows die Lebenszeit einer Festplatte verringern können. Daher analysiert zuerst die Zugriffshäufigkeit auf einzelne Platten und macht euch genauere Gedanken über euren Spindownplan.

Da sich die “sdX” bzw. “hdX” Bezeichnungen je nach Anschlussstelle bei einem Reboot ändern können, ist es sehr empfehlenswert die eindeutige ID (UID) zu verwenden. Um diese in Erfahrung zu bringen installiert man “blkid” und führt es in der Konsole aus.

sudo apt-get install blkid
sudo blkid

Die Ausgabe des Befehls kann man sich irgendwo zwischenspeichern, um blkid nicht jedes Mal neu ausführen zu müssen.

Nun öffnen wir die Konfigurationsdatei, …

sudo nano /etc/default/hd-idle

… setzen “START_HD_IDLE” auf true und aktivieren damit hd_idle.

START_HD_IDLE=true

Danach fügen wir am Ende der Datei das Statement “HD_IDLE_OPTS” mit unserem Spindownplan ein.

HD_IDLE_OPTS="...."

Nach der Konfiguration einfach speichern und hd-idle neu starten (nano: speichern mit “Strg+o“, schließen mit “Strg+x”).

Einstellmöglichkeiten, Tipps und Beispiel

Vor allen anderen Optionen sollte man Standby als Standard für alle Festplatten deaktivieren, um nicht explizit angegebene auch nicht in den Schlafmodus zu schicken.

-i 0

Diesem folgen die Einstellungen für die einzelnen Harddisks. “-a” gefolgt von z.B. “/dev/disk/by-uuid/46c0b165-82d1-40e8-b704-4ffeed085ad6” definiert eine bestimmte Disk, wobei die UID einer beliebigen Partition dieser verwendet werden kann. Mit “-i 600” bestimmt man den Abschaltzeitpunkt (10min).

-a /dev/disk/by-uuid/46c0b165-82d1-40e8-b704-4ffeed085ad6 -i 600

Will man die Einstellungen testen, ist es ratsam die Log-Moglichkeit zu nutzen.

-l /var/log/hd-idle.log

Eine komplette Beilspielzeile:

HD_IDLE_OPTS="-i 0 -a /dev/disk/by-uuid/46c0b165-82d1-40e8-b704-4ffeed085ad6 -i 600 -a /dev/disk/by-uuid/726666ed-5d61-4124-9880-ae3e36ed4587 -i 600 -l /var/log/hd-idle.log"

Alle Attribute konnt ihr hier [3] einsehen:
http://hd-idle.sourceforge.net/ [3]

EDIT:

Nachdem ich zwei weitere Platten verbaut habe ist mir aufgefallen, dass diese leider nicht in den Standby-Modus gesetzt wurden (2x Samsung 1,5TB). Das Problem lässt sich durch deaktivieren des platteneigenen Powermanagements beheben und kann einfach in ein Startscript gepackt werden.

sudo hdparm -B255 /dev/disk/by-uuid/...

 

Vielen Dank an die Entwickler und fröhliches Stromsparen!