Arch Linux Tux

[ENC]BladeXP's Blog

Was die Welt nicht alles braucht!

Strom sparen mit udev und hdparm

Für meine Datensicherungen nutze ich ausschließlich Platten vom Typ Western Digital Green, oder wie in Technikforen immer liebevoll Ökoplatten genannt. Diese werden per Wechselrahmen in das System eingebunden und regelmäßig rotiert um die Sicherungen auf verschiedene Datenträger zu verteilen. Die Platten werden nur für wenig Betriebszeit pro Tag wirklich benötigt, eben immer dann, wenn eine neue Sicherung zu erstellen ist. Aus diesem Grund fahren die Platten automatisch nach 20 Minuten in den Standby Betrieb. Gemäß Spezifikation benötigt dieser Typ Platten dann lediglich 0,4 Watt statt 2,5 Watt Leistung.

Eine einfache, und sehr dynamische Lösung, ist durch udev möglich. Man prüft, welcher Typ ein Datenträger ist, und stellt dementsprechend das Energiemanagement eben dieser Platte passend ein. Hierzu legt man die Datei /etc/udev/rules.d/50-wdgreen-hdparm.rules mit folgendem Inhalt an:

ACTION=="add|change", KERNEL=="sd*", ATTRS{model}=="WDC WD10EZRX*" RUN+="/usr/bin/hdparm -S 240 /dev/%k"
Durch den Befehl sudo udevadm control --reload lädt udev seine Regeln neu. Ab dem nächsten Plattentausch werden die Regeln dann automatisch angewendet.

Der Trick ist hierbei wirklich den Typ der Festplatte zu verwenden, man möchte ja nicht versehentlich die Platten aus seinem RAID ständig in den Standby schicken. Den für mein ständig verfügbares Datengrab verwende ich ausschließlich Platten, die auch 24/7 tauglich sind, für welche ein ständiger Wechsel zwischen Standby und Normalbetrieb als schädlich sein könnte.

Der genaue Typ einer Festplatten kann per udevadm info --query=all --attribute-walk --name=/dev/sdd | grep model ermittelt werden. Bevorzugt kürzt man die Typenbezeichnung etwas ein, um verschiedene Chargen des gleichen Typs mit zuvor genannter Regel zu treffen. In meinem Beispiel wurde so WDC WD10EZRX-00L auf WDC WD10EZRX* gekürzt.