Beachten Sie, dass einige Laufwerke diese Funktion nicht implementieren, selbst wenn der Befehl erfolgreich ist. Möglicherweise müssen Sie auch die Erweiterte Energieverwaltung reduzieren Level auf 127 oder weniger mit hdparm -B 127 /dev/sda
. Aus der Manpage:
-BGet/set Advanced Power Management Feature...Werte 1 bis 127 (die Spin-Down zulassen) und Werte 128bis 254 (die Spin-Down nicht zulassen).
Wenn alles fehlschlägt, können Sie ein kleines Skript schreiben, das /proc/diskstats
abfragt oder /sys/block/sda/stat
für die Anzahl der Lese-/Schreibvorgänge auf dem Gerät und versetzt das Laufwerk explizit in den Standby-Modus, wenn sie sich über mehrere Minuten nicht ändern. Siehe das Dienstprogramm hd-idle.
Das eigentliche Problem war smartd
, die regelmäßig die Werte des Geräts überprüft, auch wenn es sich im Standby-Modus befand.
Ich habe es gelöst, indem ich smartd
deaktiviert habe und Tests mit smartctl
ausführen von Zeit zu Zeit.
Ich verwende Ubuntu 18.04 und hatte das gleiche Problem. Dank der Antwort von @allo habe ich den smartd
herausgefunden ist tatsächlich die Ursache.
standardmäßig der /etc/smartd.conf
ist wie folgt konfiguriert:
DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/martd-runner
Dadurch werden alle Laufwerke automatisch gescannt und regelmäßig abgefragt (dieser Vorgang dreht die Festplatte hoch) (Standard 30 Minuten, änderbar). Allerdings mit dem -n standby
Teil smartd überspringt heruntergefahrene Festplatten, aber das Problem ist:Wenn das Smartd-Abfrageintervall kürzer ist als die "Spin-down nach"-Zeit der Festplatte, dann wird smartd die Festplatte immer abfragen, BEVOR sie die Möglichkeit zum Herunterfahren hat die Festplatte wird niemals in den Standby-Modus wechseln.
Wenn das "Spindown-Timeout" der Festplatte kürzer als das Polling-Intervall von Smartd ist, wird die Festplatte vor der Smartd-Abfrage heruntergefahren, wonach Smartd diese Festplatte überspringt und nicht hochfährt. Wenn die Festplatte (manuell) von einem anderen heruntergefahren wird Tools wie hd-idle
, dann wird es auch von smartd übersprungen.
Eine Möglichkeit, das Smartd-Abfrageintervall zu verlängern, besteht darin, diese Zeile in /etc/default/smartmontools
zu bearbeiten :
smartd_opts="--interval=1800"
1800 bedeutet 30 min, machen Sie es 10800 (3 Stunden) ist lang genug, zum Beispiel. und vergessen Sie nicht, sie neu zu starten:
systemctl restart smartd smartmontools