2026-05-20 09:29:40 +02:00
2026-05-20 09:29:40 +02:00
2026-05-20 09:20:45 +02:00
2026-05-20 09:21:01 +02:00

ZFS Disk Spindown Watchdog für Debian 13

Dieses Projekt löst das Problem, dass Festplatten in einem ZFS-Pool (insbesondere Enterprise-Platten wie die Western Digital Gold Serie) wegen des permanenten Metadaten-Grundrauschens von ZFS nicht automatisch in den Stromsparmodus (Spindown) wechseln.

Anstatt auf den unzuverlässigen, internen Hardware-Timer der Festplatten zu setzen, überwacht das Watchdog-Script die tatsächlichen Lese- und Schreibsektoren über den Linux-Kernel (/proc/diskstats). Herrscht 10 Minuten lang absolute Funkstille auf einer Platte, wird der Standby-Befehl aktiv erzwungen.

Features

  • Massive Stromersparnis: Senkt den Idle-Verbrauch (z.B. bei 5 x WD Gold von ~55W auf ~27W).
  • Sicherer Lese-/Schreibschutz: Jede echte Aktivität (egal ob Daten gelesen oder geschrieben werden) setzt den Timer sofort zurück. Kein verfrühtes Einschlafen während Daten fließen!
  • Volle Transparenz: Alle Aktivitäten und Spindown-Befehle werden direkt in das System-Journal (journalctl) geloggt.
  • Hardware-Optimiert: Deaktiviert die fehleranfälligen Hardware-Timer der Festplatten beim Booten, um Konflikte zu vermeiden.

Installation & Einrichtung

Befolge diese Schritte nacheinander auf deinem Debian 13 Server. Alle Befehle müssen als root oder mit sudo ausgeführt werden.

1. Scripte platzieren und ausführbar machen

Kopiere die beiden Bash-Scripte in das Verzeichnis für lokale Binärdateien und setze die Ausführungsrechte:

# Kopieren
sudo cp set-hdd-power.sh /usr/local/bin/
sudo cp zfs-spindown.sh /usr/local/bin/

# Ausführbar machen
sudo chmod +x /usr/local/bin/set-hdd-power.sh
sudo chmod +x /usr/local/bin/zfs-spindown.sh

(Hinweis: Prüfe vorab in der zfs-spindown.sh, ob die Festplatten-Buchstaben und die IDLE_TIME für dein System passen.)

2. systemd-Service einrichten

Kopiere die Service-Konfigurationsdatei in das systemd-Verzeichnis:

sudo cp zfs-spindown.service /etc/systemd/system/

(Der Service führt das Boot-Script set-hdd-power.sh automatisch vor dem eigentlichen Watchdog-Script aus.)


Dienst starten & Überwachen

Lade den systemd-Manager neu, aktiviere den Dienst für den automatischen Start bei jedem Boot und starte ihn jetzt:

sudo systemctl daemon-reload
sudo systemctl enable zfs-spindown.service
sudo systemctl start zfs-spindown.service

Live-Logs einsehen

Um zu beobachten, was der Watchdog tut und welche Festplatte eventuell gerade geweckt oder schlafen gelegt wurde, nutze diesen Befehl:

sudo journalctl -u zfs-spindown.service -f

Passiver Status-Check

Wenn du wissen willst, welche Platten aktuell schlafen, ohne sie durch die Abfrage aufzuwecken:

sudo hdparm -C /dev/sd[a-e]

Wichtige Zusatzkonfiguration für ZFS (smartd)

Sollte eine Festplatte trotz des Scripts alle 30 Minuten grundlos aufwachen, liegt das meist an den Standardabfragen des SMART-Daemons.

  1. /etc/smartd.conf öffnen:
    sudo nano /etc/smartd.conf
    
  2. Die Zeile DEVICESCAN suchen und um den Parameter -n standby,q ergänzen:
   DEVICESCAN -d removable -n standby,q -m root -M exec /usr/share/smartmontools/smartd-runner
  1. SMART-Daemon neu starten:
    sudo systemctl restart smartmontools
    

Lizenz: Do What The Fuck You Want To Public License (WTFPL) Viel Spaß beim Stromsparen! 🪙📉 / Wenn deine Festplatten explodieren wegen dem Script, sorry!

S
Description
No description provided
Readme 30 KiB
Languages
Shell 100%