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

    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 Link herunterladen:
    http://sourceforge.net/projects/hd-idle/files/

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

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

    Archiv entpacken:

    Code
    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.

    Code
    sudo apt-get install debhelper

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

    Code
    cd ~/hd-idle

    … und erstellt das Paket mit folgendem Befehl:

    Code
    sudo dpkg-buildpackage -rfakeroot

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

    Code
    cd ..

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

    Code
    sudo dpkg -i hd-idle_*.deb

    Starten oder stoppen:

    Code
    sudo service hd-idle start/stop

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

    Code
    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.

    Code
    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, …

    Code
    sudo nano /etc/default/hd-idle

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

    Code
    START_HD_IDLE=true

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

    Code
    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.

    Code
    -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).

    Code
    -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.

    Code
    -l /var/[definition='1','0']log[/definition]/hd-idle.[definition='1','0']log[/definition]

    Eine komplette Beilspielzeile:

    Code
    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/[definition='1','0']log[/definition]/hd-idle.[definition='1','0']log[/definition]"

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

    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.

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


    Vielen Dank an die Entwickler und fröhliches Stromsparen!

    quelle: chalblog

    Dell Inspiron 1564 Notebook - Ubuntu MATE 16.04 - ATOM NAS 20TB Lubuntu 16.04

    ASRock ION 330-BD - LibreELEC - Kodi Krypton | Ubuntufiziert since 2009

    Einmal editiert, zuletzt von [.A.C.I.D.] (29. April 2012 um 22:42)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!