📌 7 de Abril, 2024
WD Red Power Management with hdparm
Informática · Linux
Did you get a WD Red drive and you can’t get it to standby or spin down? You aren’t alone and your drive isn’t broken nor it ignores hdparm as some people may think. I’ll show you how to properly set APM (Advanced Power Management) on Western Digital disks and share a few extra tips.
WD Red Plus drives go to standby (spindown) after 30 minutes of inactivity, without success. I read about WD not respecting
@slaecker to homelab@lemmy.mlhdparm
commands. I even read about WD support saying they don’t support Linux.
This may appear to be the case, but it isn’t. Western Digital’s “Red” disks are one the best when it comes to power management, however you must be very carefully with the parameters you’re setting as they tend to require more than just setting the apm
value.
The hdparm
interface somehow varies a bit from the command line to the hdparm.conf
file but luckily the Arch Wiki has a good page about it. Now the two important bits to be aware with WD disks are:
-B
/apm
→ Values from1
to127
permit spin-down, whereas values from128
to254
do not. A value of 255 completely disables the feature;-S
/spindown_time
→ The value of0
disables spindown, the values from1
to240
specify multiples of 5 seconds and values from241
to251
specify multiples of 30 minutes.
I’ve noticed that many WD Red drives come with apm=127
and spindown_time=0
or some variation that makes it so the drive never spins down. Most people also tend to focus only on the apm
value and forget about spindown_time
altogether or vice versa and then their drives never spin down predictably.
Here’s an example from one of my drives from hdparm.conf
:
/dev/disk/by-uuid/xxxxxx {
apm = 127
spindown_time = 24
}
Same thing on the CLI:
hdparm -B 127 /dev/disk/by-uuid/xxxxxx
hdparm -S 24 /dev/disk/by-uuid/xxxxxx
The apm
(-B
) value can be queried with hdparm -B /dev/disk/by-uuid/xxxx
, however the current value of spindown_time
(-S
) cannot be queried.
Tip: to apply changes made to hdparm.conf
you can run udevadm trigger /dev/disk/by-uuid/xxxxxx
or /usr/lib/pm-utils/power.d/95hdparm-apm resume
.
Give a try to my example and you’ll see the drive spinning down in a few minutes.