Všimněte si, že některé jednotky tuto funkci neimplementují, i když příkaz projde. Možná budete muset omezit Pokročilé řízení spotřeby úroveň na 127 nebo méně s hdparm -B 127 /dev/sda
. Z manuálové stránky:
-BZískejte/nastavte funkci pokročilého řízení spotřeby...hodnoty 1 až 127 (které umožňují otočení dolů) a hodnoty 128 až 254 (které neumožňují otočení dolů).
Pokud vše selže, můžete napsat malý skript, který dotazuje /proc/diskstats
nebo /sys/block/sda/stat
pro počet čtení/zápisů na zařízení a výslovně uvede disk do pohotovostního režimu, pokud se během několika minut nezmění. Viz obslužný program hd-idle.
Skutečný problém byl smartd
, která pravidelně kontrolovala hodnoty zařízení, i když bylo v pohotovostním režimu.
Vyřešil jsem to vypnutím smartd
a spouštění testů s smartctl
čas od času.
Používám ubuntu 18.04 a měl jsem stejný problém. díky odpovědi @allo jsem zjistil smartd
je skutečně příčinou.
ve výchozím nastavení /etc/smartd.conf
je nakonfigurován takto:
DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/martd-runner
který bude automaticky skenovat všechny disky a pravidelně se dotazovat (tato operace roztočí disk) (výchozí 30 minut, lze změnit). i když s -n standby
část smartd přeskočí roztočené disky, ale problém je v tom, že pokud je interval dotazování smartd kratší než čas „roztočení po“ disku, pak smartd bude vždy dotazovat disk PŘED tím, než bude mít příležitost se roztočit, tedy disk se nikdy nedostane do pohotovostního režimu.
pokud je „časový limit vypnutí“ disku kratší než interval dotazování smartd, pak by se disk před dotazem smartd roztočil, po kterém smartd tento disk přeskočí a neroztočí ho. pokud je disk (ručně) roztočen jiným nástroje jako hd-idle
, pak jej smartd také přeskočí.
jeden způsob, jak změnit interval inteligentního dotazování na delší, je upravit tento řádek v /etc/default/smartmontools
:
smartd_opts="--interval=1800"
1800 až 30 minut, například 10800 (3 hodiny) je dostatečně dlouhá doba. A nezapomeňte je restartovat:
systemctl restart smartd smartmontools