For my always-on homeserver my whish was to have low energy consumption, so next to using low-power hardware (mini-itx with an efficcient pico-PSU) I tried to find optimal powersettings.
I use the “ondemand-governor” which reduces the cpu-frequency to the lowest values (800MHz) when not much computing-power is needed.
There are many options, like installing a “user-space” governor”, but I simply use the on-demand governor which you can do by making it the default one in the kernel-config.
HDparm can be used to set the spin-down time of the disks; The number after the S is the number of intervals of 5 seconds; 36 gives 180 seconds or 3 minutes.
hdparm -S36 /dev/sdb
To check if it is really down you can either listen or use:
/usr/sbin/smartctl -i -n standby /dev/sdb |/bin/grep mode
which gives seomthing like this, confirming it is in stanby:
Homeserver # /usr/sbin/smartctl -i -n standby /dev/sdb |/bin/grep mode
Device is in STANDBY mode, exit(2)
Ofcoarse, of you set the spindown to 3 minutes, but there is some process that needs the disk every 2 minutes, it will never sleep. Also, making the disk spin-down only makes sense if it stays idle for at least 10 minutes or more at the time, since waking it up also costs energy.
This means the time-out time you want to use might vary from disk to disk: You might want to keep the systemdisk awake (an SSD in my case so it can’t spin down), but put the disk containing your mediafiles to sleep.
You might want to play around with parameters and check if it actually sleeps; and if it wakes up, you want to find out what is waking it up.
A handy tool for looking at your powercomumpotion is PowerTop. It gives detailed information and gives some advice about how to reduce power consumption. After installin powertop, start it up as root and it will give you information about all kinds of parameters.
See this post on how to make changes permanent.