Solution:
hd-idle is the way to go (if you read their README, they explain that most drives don’t support idle timers)

I’ve been looking into spinning down the drives of my NAS, as I use it infrequently and that brings power drain down from ~30W to ~17W.

Problem is, hdparm -S doesn’t seem to do anything for these particular drives: if I set it and wait for the appropriate amount of time (eg. 5 seconds if set to 1) the drives are still reported as “active/idle” and power drain doesn’t go down.

Both hdparm -y and hdparm -Y work fine, but I don’t seem to be able to find settings for them in tlp (probably because they are commands rather than settings?).

Besides the caveats about disks living longer if they are kept spinning, are there reasons why I shouldn’t setup a cron job (well, a systemd timer) that runs hdparm -Y every 10 minutes? (for example, could hdparm -y cause errors if run while the drive is being backed up?)

PS: According to hdparm’s manpage, -y puts the drive standby mode while -Y puts it into sleep mode. Considering that in my case power drain seems the same either way, should I prefer one or the other?

  • ReversalHatchery@beehaw.org
    link
    fedilink
    English
    arrow-up
    7
    ·
    6 hours ago

    Besides the caveats about disks living longer if they are kept spinning,

    I think that’s not necessarily true. I think spinning 24/7/365 has its downsides too, higher temperatures and others I’m less certain about.

    are there reasons why I shouldn’t setup a cron job (well, a systemd timer) that runs hdparm -Y every 10 minutes? (for example, could hdparm -y cause errors if run while the drive is being backed up?)

    because you’ll often shut it down while someone would be using it. and then it can spin up immediately. the processes accessing it would probably hang for half a minute or such.

    there is a better solution, hd-idle, as said in the other response