Betreiben Sie eine Festplatte am Raspberry Pi, ist ein standby Modus sinnvoll. So läuft die Festplatte nicht durchgängig und schaltet in den Ruhemodus, wenn sie nicht benötigt wird. Das spart Energie und erhöht die Lebensdauer der HDD.
In dieser Anleitung werden 3 verschiedene Methoden behandelt, wie sie den standby Modus bei einer USB-Festplatte einstellen. Raspbian bringt diese Funktion leider nicht von Haus aus mit, doch es gibt diverse Tools die sie dabei unterstützen. Sie haben die Auswahl zwischen hd-idle, hdparm und einer Software Lösung ihres Festplatten-Herstellers.
Nicht jede Festplatte unterstützt die einzelnen Methoden die hier angewandt werden. Deswegen sollten sie nacheinander testen, welche Methode zum gewünschten Ergebnis führt. Das in dieser Anleitung verwendete Betriebssystem ist Raspbian Stretch.
Software Lösung des Herstellers
Diese Lösung ist der Idealfall und bedient sich der jeweiligen Software von den Herstellern der Festplatte. Suchen Sie auf den Webseiten der Hersteller nach Drive Tools, HHD Tool oder ähnlichem. In den Einstellungen der Tools können sie im Idealfall eine Zeit für einen Ruhemodus fest einstellen.
Festplatten von WD werden über das Drive Tool eingestellt. Im Test wurde eine WD My Passport 4TB HDD verwendet und mit diesem Tool download an einem Windows-PC auf 10 Minuten Standby-Zeit eingestellt. Nachdem Sie wieder an den Raspberry Pie angeschlossen war, ging Sie nach 10 Minuten in den Ruhemodus.
Standby mit hdparm
Mit folgendem Befehl installieren Sie hdparm auf dem Raspbian Betriebssystem.
sudo apt install hdparm
Im weiteren Verlauf benötigen Sie die UUID der Festplatte und den device Pfad. Geben Sie folgenden Befehl ein und schreiben sich die Werte ihrer Festplatte auf oder machen ein Foto davon.
sudo blkid -o list -w /dev/null
Mit dem folgenden Befehl prüfen Sie, ob ihre Festplatte über die nötigen Sensoren verfügt. Sind diese nicht vorhanden und Sie bekommen als Meldung (bad / missing sense data) wird es wahrscheinlich nicht mit hdparm funktionieren.
sudo hdparm -C /dev/sda1
Dieser Befehl öffnet die Konfigurations-Datei von hdparm.
sudo nano /etc/hdparm.conf
Tragen Sie folgende Zeilen am Ende des Editors ein. Ersetzen Sie AE445FGR454RT54EDLOP555SD durch ihre eigene UUID. Mit dem Wert spindown_time stellen Sie ihre Zeit bis zum standby ein. 60 sind die Sekunden die intern noch mit 5 multipliziert werden. Das ergibt dann 5 Minuten Standy-Zeit. Speichern und schließen Sie den Editor mit der Tastenkombination STRG + O, Enter, STRG + X.
/dev/disk/by-uuid/AE445FGR454RT54EDLOP555SD {spindown_time = 60}
Standby mit hd-idle
Sollte hdparm nicht funktionieren, dann deinstallieren sie es mit diesem Befehl, bevor Sie fortfahren.
sudo apt-get remove hdparm -y
Überprüfen Sie ob die benötigte Datei vorhanden ist. Führt die Überprüfung zu einer Fehlermeldung, ist eine Inkompatibilität mit ihrem System sehr wahrscheinlich.
cat /proc/diskstats
Das Ergebnis der Überprüfung sollte ungefähr so aussehen:
8 0 sda 342 0 2759 260 0 0 0 0 0 250 250 8 1 sda1 102 0 815 90 0 0 0 0 0 80 80
Sie benötigen einen compiler für hd-idle. Diesen installieren Sie mit:
sudo apt-get install build-essential fakeroot debhelper -y
Laden Sie sich hd-idle herunter
wget http://sourceforge.net/projects/hd-idle/files/hd-idle-1.05.tgz
Als nächstes entpacken Sie das Archiv und öffnen das Verzeichnis:
tar -xvf hd-idle-1.05.tgz && cd hd-idle
Erzeugen Sie mit Hilfe dieses Befehls eine ausführbare deb-Datei.
dpkg-buildpackage -rfakeroot sudo dpkg -i ../hd-idle_*.deb
Hiermit kontrollieren Sie ob die benötigte Funktion korrekt läuft
sudo hd-idle -i 0 -a sda -i 300 -d
Die Ausgabe sollte in etwa dem unteren Beispiel entsprechen. Mit der Tastenkombination STRG +C, halten Sie den Prozess wieder an.
probing sda: reads: 24582, writes: 0 probing sda: reads: 24582, writes: 0 probing sda: reads: 24582, writes: 0
Konfigurationsdatei von hd-idle öffnen.
sudo nano /etc/default/hd-idle
Fügen Sie folgende Zeilen im Editor am Ende ein. 60 Sekunden mal 10 ergibt 20 minuten (wert 600). Diesen können Sie nach ihren wünschen anpassen. Schließen und speichern Sie die Datei mit STRG + X, J, Enter.
START_HD_IDLE=true HD_IDLE_OPTS="-i 0 -a sda -i 600"
Als letztes führen Sie noch einen Neustart des hd-idle Service durch. Verläuft dieser ohne Fehlermeldung, ist die Funktion aktiv.
sudo service hd-idle restart
Nützliche Links
Weitere Tipps und Tricks zu Raspberry Pi finden Sie hier.
Beitragsbildquelle: Raspbian Screenshot
Die hdparm Methode funktioniert leider nicht unter Debian Stretch Lite mit angeschlossenem USB-Harddrive welches über die fstab statisch gemountet wird.
Die hdparm.conf wird anscheinend beim boot nicht ausgewertet.
Ich habe mir einen Service geschrieben nach dieser Anleitung.
Jetzt gehts (übrigens auch mit /dev/disk/by-uuid/
Aha, verstehe. Links auf andere Seiten sind nicht erlaubt.
Dann suche nach den Begriffen Michael Kuron Blog zu Linux und hoffentlich wirst du fündig.
Sorry, wollte nur helfen.
Links werden aus Sicherheitsgründen automatisch entfernt. Gibt einfach zu viele Spammer und möchte gern Hacker die es täglich versuchen. Die DSGVO macht es dann auch nochmal schwieriger. Sorry.
welche funktionen nutzt hd-idle eigentlich? ich stelle mir das so vor, dass hd-idle einen befehl wie hdparm -y nutzen muss, um die platte zum spindown zu bewegen. oder gibt es noch weitere befehlssätze?
Ja das ist soweit richtig. Mit hdparm -y wird der Standby-Modus der Festplatte angesprochen (insofern er vorhanden ist). Es gibt nocht den Befehl hdparm -Y der die Festplatte in den Sleep-Modus versetzt. Dieser verbraucht noch weniger Strom, braucht aber etwas länger beim Anlauf. Dann gibt es noch ähnliche Befehle die sich unter anderem auf eine Sleep-Zeit beziehen. Die sind aber hier nicht relevant.
Leider komme ich mit dem hdidle Tutorial nicht richtig weiter.
~/hd-idle $ dpkg-buildpackage -rfakeroot sudo dpkg -i ../hd-idle_*.deb
dpkg-buildpackage: Fehler: unbekannte Option oder Argument sudo
ich habe dann mal die Syntax so verändert: dpkg-buildpackage -rfakeroot && sudo dpkg -i ../hd-idle_*.deb
dann lief es auch erst mal weiter, allerdings bekomme ich dann am Ende den output: Fehler: Signieren der .dsc-Datei fehlgeschlagen
Leider scheint die Signatur auch wichtig zu sein, denn im sonst folgenden Schritt bekomme ich dann folgenden output:
sudo: hd-idle: Befehl nicht gefunden
Hatte das selbe Problem. Nach einigem googlen war die Lösung:
Statt:
dpkg-buildpackage -rfakeroot sudo dpkg -i ../hd-idle_*.deb
zunächst nur:
dpkg-buildpackage
dann:
cd
sudo dpkg -i hd-idle_*.deb
Dann liefs bei mir durch.
Super, hatte es schon fast aufgegeben bzw. vergessen. Vielen Dank. 🙂