Raspberry Pi: Festplatte automatisch in den Standby/Ruhemodus schalten mit hdparm

Ein Beispiel wie ihr die Festplatte nach einer vorgegeben Zeit in den Standby/Ruhemodus versetzt. Das spart Strom und schont die Festplatte im Dauer-/Serverbetrieb.

Voraussetzung:

  1. Als erstes aktualisierst wir die Paketlisten von Raspbian und installierst hdparm.
    sudo apt-get update && sudo apt-get -y install hdparm
  2. Um herauszufinden unter welchen Namen die Festplatte im System läuft, geben wir folgenden Befehl ein. In unserem Beispiel ist es /dev/sda
    sudo fdisk -l

    raspberry-pi-hdd-standy-1

  3. Wir überprüfen den aktuellen Power-Mode-Status. Falls ihr den Status unknown zurück bekommt lässt sich die Festplatte nicht in Standby versetzen.
    sudo hdparm -C /dev/sda

    raspberry-pi-hdd-standy-2

    “-C zeigt den aktuellen „Power-Mode-Status“ einer IDE-Festplatte an. Dieser kann folgende Werte annehmen: „unknown“ – Das Laufwerk unterstützt dieses Kommando nicht; „active“/„idle“ – Normalbetrieb; „standby“ – Low Power Modus, die Festplatte dreht sich nicht oder „schläft“ sogar komplett. Die Optionen -S, -y, -Y und -Z können zur Veränderung der IDE-Power-Modes verwendet werden. ” wiki.debianforum.de
  4. Mit dem Parameter -y versetzen wir die Festplatte in den Standby Modus. Die Festplatte sollte jetzt kein Geräusch mehr von sich geben. Ihr könnte aber auch mit sudo hdparm -C /dev/sda überprüfen ob sich die Festplatte im standby befindet. Sobald auf die Festplatte zugegriffen wird, läuft sie wieder an.
    sudo hdparm -y /dev/sda

    raspberry-pi-hdd-standy-3

  5. Wir benötigen die UUID der Festplatte. Gebt folgenden Befehl in die Console ein und notiert euch die UUID der Festplatte.
    sudo blkid

    raspberry-pi-hdd-standy-4

  6. Öffnet die hdparm config Datei mit dem Nano Texteditor.
    sudo nano /etc/hdparm.conf

    Ersetzt deineUUID mit eurer zuvor notierten UUID und fügt den Text am Ende der Datei ein. Beendet den Nano Editor nach dem einfügen mit Strg+x (Win) ctrl+x (Mac) und bestätige die Änderung mit y oder j (je nach Spracheinstellung).

    
    /dev/disk/by-uuid/deineUUID {
      spindown_time = 240
    }
    

    raspberry-pi-hdd-standy-5

    Die Zahl hinter spindown_time gibt an wann die Festplatte in den Ruhezustand gehen soll. Wählt die Zeit nicht zu kurz, da ständiges anfahren der Festplatte dem Motor/Mechanik schadet.

    0 = Ruhezustand deaktiviert
    60 = 5Min (60*5Sek=300Sek=5Min)
    240 = 20Min (240*5Sek=1200Sek=20Min)
    Ab 240 ändert sich die Berechnung!
    241 = 30Min (1*30Min)
    242 = 60Min (2*30Min)

  7. Führt einen Neustart durch. Danach geht die Festplatte zu der Eingestellten Zeit automatisch in den Standby/Ruhemodus.
    sudo reboot

Gib deine Stimme ab!

69 Likes
Upvote Downvote

Total votes: 68

Upvotes: 65

Upvotes percentage: 95.588235%

Downvotes: 3

Downvotes percentage: 4.411765%

Geschrieben von Ben

#Blogger #Designer #RaspeberryFan #Self-Employed #Developer #Javascript
TwitterGithubThingiverse

15 Kommentare

Kommentar verfassen
  1. Ich habe eine 10TB HGST in einem einfachen Fantec Gehäuse an meinem USB-Port am Raspi. Die 10TB gab es mal günstig bei Ebay und ich speichere meine Filme darauf, die mit minidlna vom Raspi auf den TV kommen. Leider fährt die Platte nicht automatisch in den Standby. Parallel ist eine weitere 1TB HDD angeschlossen, in einem anderen Gehäuse. Diese geht regelmäßig in den Standby, ohne dass ich da etwas einstellen musste. Das manuelle Kommando hdparm -y versetzt die 10TB in den Standby (funktioniert auch mit -Y). Allerdings weckt die Platte nach ca. 15 oder 20 Minuten wieder auf. Das zeitgesteuerte Kommando hdparm -S120 funktioniert nicht. Die Platte müsste nach 10 Minuten in den Standby gehen, tut dies aber nicht. Die Einstellung für APM war 254. Ich habe irgendwo gelesen, dass man das auf 127 stellen muss, damit Spindown überhaupt geht. Aber auch das Kommando hdparm -B127 ändert zwar diese Einstellung, aber zeitgesteuerter Spindown funktioniert trotzdem nicht. Ich habe auch hd-idle versucht. Dieses Programm scheint auch nicht zu funktionieren. Schon der Test in der Kommandozeile versetzte die Platte nicht in den Standby. Kann sich jemand einen Reim darauf machen? Als nächstes werde ich mal das Gehäuse tauschen. Vielleicht ist diese Platte für solche Kommandos auch nicht ausgelegt, weil sie als NAS ein Dauerläufer sein soll. Leider macht sie währenddessen alle paar Sekunden ein Geräusch und wird auch relativ warm.

    • Hallo Ben, hast du eine Loesung fuer dein Geraet gefunden? Habe ebenfalls ein Fantec Gehaeuse und bisher noch keine sinnvolle Konfiguration gefunden.

      • Ich nutze das Fantec mittlerweile nicht mehr, sondern ein einzelnes externes Gehäuse mit der großen 10TB. Ob sie in den Standby fährt weiß ich auch gar nicht. Da das eine Helium ist könnte es auch sein, dass sie besser ständig an ist.

  2. Tolle Anleitung, hat mir sehr geholfen. Ich habe nur am Ende etwas gestutzt. Ist ein Reboot wirklich nötig? Reicht nicht auch ein “service hdparm restart”? VG Thomas

  3. Funktioniert das auch mit einer 3,5 HDD in einem USB Gehäuse mit Netzteil? Ich brauche eine Möglichkeit um diese Festplatte automatisch auszuschalten. Wäre auch froh wenn der Pi bei Verwendung der HDD einen gpio schalten würde womit ich dann die HDD über ein Relais vom Strom trennen könnte. Hat jemand eine Idee wie ich das am besten anstelle?
    MfG

  4. Ich habe folgende Frage zum zeitweisen Abschalten der Festplatte mit hdparm. Meine NTFS-Festplatte hat drei Partionen, folglich auch drei UUIds. Welchen Einträge muss ich in /etc/hdparm.conf machen?

  5. Die WD Elements Portable liefert “unknown” zurück. -.-
    Lässt sich da nichts machen?
    Ich habe die Platte am Raspberry Pi 2 angeschlossen. Auf ihr läuft das OS Raspbian.

    • Wenn du bei dem Befehl sudo hdparm -C /dev/sda unknown erhältst, unterstützt deine Festplatte den Standby Modus wahrscheinlich nicht. Wie ist die genaue Bezeichnung der WD HDD?

    • Hi, Ben und Dd,

      erst mal danke für die Anleitung! Allerdings stimmt das mit dem “unknown” nicht so ganz. Meine externe WD Elements liefert auch “unknown” zurück, aber trotzdem hat deine Anleitung funktioniert. Die Festplatte geht hörbar in den Ruhezustand bei Ausführung des Befehls.

      Viele Grüße,

      Gero

      • Danke für den Hinweis. Das hilft bestimmt ein paar Leuten weiter.
        Ich kann es selbst leider nicht testen, da ich keine Platte habe die “unknown” zurück gibt.

      • Kann ich bestätigen, meine externe WD My Passport 1TB Platte wird mit dieser Anleitung auch in den Standby versetzt, obwohl die Ermittlung des Status auch “unknown” liefert.

  6. Vielen Dank für die Anleitung! Mit Raspbian Wheezy hat sie wunderbar funktioniert. Seit ich jedoch Jessie verwende (Neuinstallation), scheint die hdparm.conf nicht mehr geparst zu werden. Ob das wohl mit dem Umstieg auf Systemd zusammenhängt? Seltsamerweise scheint jetzt aber die Option -S den Neustart zu überstehen: Ich habe mit hdparm -S120 /dev/sda die Standby-Zeit auf 10 Minuten gesetzt und diese Einstellung funktioniert nun auch noch nach dem dritten Neustart, ohne dass ich das Kommando nochmals hätte ausführen müssen. Bei mir läuft ein RasPi B und die Platte ist eine Seagate (ST2000DM001-1CH164), die direkt an einem USB-Port des RasPi hängt und eine eigene Stromversorgung hat. Das ArchWiki empfiehlt, für Hdparm eine Udev-Regel zu erstellen (hier kurz und knackig erklärt: https://wiki.archlinux.org/index.php/Hdparm). Vielleicht hilft das dem einen oder der anderen, bei denen es mit meiner Lösung nicht funktioniert. Ich habe es nicht selbst getestet.

One Ping

  1. Pingback:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.