hdparm funktioniert nicht? So geht der automatische Energiesparmodus für Festplatten am Raspberry Pi

Kürzlich fiel mir auf, dass die USB-Festplatte an meinem Raspberry Pi nicht mehr automatisch in den Standby-Modus versetzt wird. Dabei hatte ich doch extra hdparm installiert und konfiguriert. Dieses Tool muss wohl irgendeinem apt-get upgrade zum Opfer gefallen sein. Zum Glück gibt es einen weiteren Weg zum Stromsparen.

Die Alternative zu hdparm heißt hd-idle. Ich zeige dir hier, wie du es innerhalb weniger Minuten installierst und einrichtest. Die folgenden Schritte habe ich auf meinen RasPis 2 und 3 unter Raspbian Jessie und Buster erfolgreich durchgeführt. Auf dem brandneuen Raspberry Pi 4* sowie älteren RasPis sollte das Vorgehen identisch sein.

Schritt für Schritt Anleitung

Verbinde dich mit deinem RasPi und befolge die hier beschriebenen Konsolenbefehle. Sollte hdparm noch installiert sein, entferne es zunächst mittels:

sudo apt-get remove hdparm -y

Da hd-idle leider nicht als fertiges Paket vorliegt, welches mit dem apt-get Befehl installiert werden kann, musst du es selbst bauen. Dazu benötigst du zunächst einige Build-Werkzeuge, die du hiermit installierst:

sudo apt-get install build-essential debhelper -y

Anschließend kann der schon etwas in die Jahre gekommene Quellcode von hd-idle heruntergeladen werden. Falls der Download nicht in die Gänge kommen mag, solltest du den folgenden Befehl abbrechen (mittels Strg+C) und noch einmal probieren:

wget http://sourceforge.net/projects/hd-idle/files/hd-idle-1.05.tgz

Das heruntergeladene Archiv entpackst du anschließend mittels:

tar -xvf hd-idle-1.05.tgz

Nun kann das Bauen des Debian-Packages beginnen:

cd hd-idle
dpkg-buildpackage

Dies dauert nur ein paar Sekunden. Lass dich nicht von der Meldung verunsichern, dass die Signierung nicht geklappt hat – das ist okay. Ist alles erledigt, kannst du das Package so installieren:

sudo dpkg -i ../hd-idle_*.deb

Damit ist das Gröbste schon geschafft. Was noch fehlt, ist die richtige Konfiguration von hd-idle. Dazu öffnest du die hd-idle Konfigurationsdatei:

sudo nano /etc/default/hd-idle

Erst einmal soll das Tool automatisch beim Booten mitgestartet werden. Dies erreichst du, indem du folgende Änderung in der Datei vornimmst:

START_HD_IDLE=true

Außerdem konfigurierst du in der letzten Zeile die Zeit, nach der sich die Festplatte abschalten soll. Diese wird in Sekunden angegeben. Vergiss nicht, die Einstellung durch Entfernen der # am Zeilenanfang zu aktivieren. So setzt du die Zeit zum Beispiel auf 10 Minuten:

HD_IDLE_OPTS="-i 600 -l /var/log/hd-idle.log"

Und das war’s im Prinzip auch schon! Starte deinen Raspberry Pi neu oder führe den folgenden Befehl aus, um die Energiesparfunktion ab jetzt dauerhaft zu aktivieren:

sudo service hd-idle restart

hd-idle Feintuning

Hast du mehrere Festplatten an deinem Raspberry Pi angeschlossen und möchtest jede Standby-Zeit individuell konfigurieren? Dies kannst du erreichen, indem du die HD_IDLE_OPTS in der Konfigurationsdatei anpasst. Der Parameter -a spezifiziert deine Festplatte und der darauf folgende Parameter -i die dazugehörige Zeit bis zum Standby. Diese paarweisen Angaben können mehrfach wiederholt werden. So zum Beispiel:

HD_IDLE_OPTS="-i 0 -a sda -i 600 -a sdb -i 1800"

Damit erreichst du, dass deine Festplatte sda nach 10 Minuten und deine Festplatte sdb nach 30 Minuten abgeschaltet wird. Alle anderen Festplatten werden niemals abgeschaltet.

Falls dich das Logging von hd-idle nicht interessiert oder du Schreibzyklen auf der SD-Karte sparen möchtest, kannst du es wie hier gezeigt durch Weglassen des -l Parameters ausschalten.

Warum nicht hdparm?

Manuelles Aktivieren von hdparm über folgenden Befehl funktionierte bei mir weiterhin:

sudo hdparm -S 600 /dev/sda

Allerdings wird die Konfiguration in /etc/hdparm.conf ignoriert und die Einstellung ist beim nächsten Neustart wieder vergessen. Es kursieren mehrere Lösungsansätze in anderen Blogs und Foren, welche von TLP über udev rules bis hin zu Cronjobs gehen. Diese sind sicherlich auch eine Option und könnten zum Erfolg führen. Nur finde ich persönlich hd-idle und die obige Anleitung eleganter.


* = Affiliate-/Werbelink

7 Kommentare

  1. Vielen Dank, das hat mir sehr gut geholfen. Ich habe ne RasPi 4 und Seagate Expansion+ 2TB USB. Hdparm konnte die Platte mit allerlei Optionen nicht in den Schlaf legen. Mit hd-idle funktioniert es wunderbar. Super, Danke!

  2. Hallo, vielen Dank für die tolle Anleitung. Habe jetzt nur ein Problem, ich komme nicht mehr auf das Webinterface. Was kann ich tun.

    Grüße

    1. Die Anleitung im Beitrag ist unabhängig von weiteren auf dem Raspberry Pi laufenden Diensten zu sehen. Hd-idle sollte sich nicht mit anderen Anwendungen in die Quere kommen, da die Festplatte ja sofort wieder aufwacht, sobald ein Zugriff darauf stattfindet.

      Bei deinem Problem mit OpenMediaVault kann ich dir leider nicht helfen, da ich das selbst nicht einsetze.

      Viele Grüße
      Christian

    2. openmediavault nutzt hdparm, kann sein das durch das abschalten einige Abhängigkeiten von Packages zerschossen wurden.
      War auf jedenfall bei mir so, weshalb ich auf Samba gewechselt bin.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert