I’ve had endless nightmares with hard drive spindown settings. The traditional tool for doing so in Linux is hdparm
, and in theory setting the parameters should be simple. Another utility called wdepc
is able to set the EPC settings on a hard drive that doesn’t support APM. Yet another tool, openSeaChest
from Seagate is able to set both of these, and it looked pretty promising.
Obviously, these tools can and do work, given your hardware acknowledges the settings. But they didn’t work for me. This may have something to do with using USB attached drives. Even though I reflashed the firmware with an alternate version. Regardless, not spinning down a massive array of rarely used drives just wastes electricity, makes a bunch of unnecessary heat, and puts excess wear on the drives. So I wasn’t going to give up that fast.
Enter hd-idle
. There may be multiple software projects called this, but this one in particular is written in Go and seems to get updated as of this post.
Hard Disk Idle Spin-Down Utility
It was enough to simply run:
hd-idle -i 1800 -c ata
And it worked! Drives would automatically spin down after 30 minutes of inactivity. Is it as elegant and efficient as doing it from drive firmware? No, it is one more daemon to have to run, but it does the job.