Autostandby für Festplatten

Neben meinem vServer, auf dem diese Webseite sowie diverse andere Dienste laufen, betreibe ich auch noch einen kleinen Homeserver welcher als Access Point, Sync-, Backup- und Mediaserver dient. Da dieser entsprechend Speicherplatz braucht sind neben der SSD, auf welcher sich das Betriebssystem befindet, auch noch diverse Festplatten verbaut, welche in einem RAID-Verbund als Storage agieren. Das Problem dabei: Die Festplatten legen sich, bei Nichtbenutzung, leider nicht automatisch schlafen.

Als Betriebssystem setze ich Archlinux ein, und eine entsprechende Lösung findet sich, wie immer, im Archlinux Wiki zu hdparm. Mittels udev-Regel ist es möglich Festplatten automatisch in den Standby versetzen zu lassen.

Dazu legt man die Datei /etc/udev/rules.d/50-hdparm.rules an, welche mit folgendem Inhalt gefüllt wird:

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", RUN+="/usr/bin/hdparm -B 127 -S 240 /dev/%k"

Der Parameter -B 127 aktiviert hierbei das integrierte Energiemanagement der Festplatte bei dennoch höchstmöglicher Performance, der Parameter -S hingegen setzt den Timeout-Wert von 20 Minuten (240*5 Sekunden, gilt für Werte zwischen 1 und einschließlich 240). Zudem greift die Regel nur für rotierende Datenträger.

Anschließend müssen die udev-Regeln neu geladen werden, dies geschieht entweder durch einen Neustart des Servers oder alternativ durch folgende Befehle:

# udevadm control --reload-rules
# udevadm trigger

Das war's dann auch schon.