this post was submitted on 23 Jun 2023
7 points (100.0% liked)

homelab

6656 readers
28 users here now

founded 4 years ago
MODERATORS
 

Just want to share some love about Seagate.

My new DIY NAS is idle most of the time so I want to configure it to be as power efficient as possible.

I spent a couple of evenings trying to make my new WD Red Plus drives go to standby (spindown) after 30 minutes of inactivity, without success. I read about WD not respecting hdparm commands, interpreting them differently and tried all suggestions, again without success. I even read about WD support saying they don't support Linux. Strange as most of the available consumer NAS systems are based on Linux.

I then decided to try my 2nd choice drives: Seagate Ironwolf. On the first attempt they also didn't go to standby after configuring with hdparm. Then I found this: Seagate offers an open-source suite of tools named openSeaChest, which lets you configure and test your drives in any possible way including firmware updates and ... tada, power settings. After enabling idle_c and standby_z and configuring the timers the drives now do how I configured.

I returned the WD drives. Now Seagate is my top choice for future drive purchases 🧡

you are viewing a single comment's thread
view the rest of the comments
[–] TCB13 1 points 7 months ago* (last edited 7 months ago) (1 children)

WD Red Plus drives go to standby (spindown) after 30 minutes of inactivity, without success. I read about WD not respecting hdparm commands, interpreting them differently and tried all suggestions, again without success. I even read about WD support saying they don’t support Linux.

This may appear to be the case, but it isn't. I've tons of WD RED disks and they're frankly 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.

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

What one has to be aware to start is that -B on the cli equals apm on the config file and -S = spindown_time.

The interface of hdparm varies from the command line to the hdparm.conf file in multiple ways. Anyways the Arch Wiki has a table that makes your like easy: https://wiki.archlinux.org/title/hdparm#Power_management_configuration

Now the two important bits to be aware with WD:

-B/apm > Values from 1 to 127 permit spin-down, whereas values from 128 to 254 do not. A value of 255 completely disables the feature. -S/spindown_time > The value of 0 disables spindown, the values from 1 to 240 specify multiples of 5 seconds and values from 241 to 251 specify multiples of 30 minutes.

What I've noticed by querying the drives is that they usually come with apm=127 and spindown_time=0 or something like that. It becomes obvious that the drive will never spin-down and people tend to focus only on the apm value and forget about the other... or vice-versa and ever a drive to spin down.

Note: the apm (-B) value can be queried with hdparm -B /dev/disk/by-uuid/xxxx however the current values 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 above (cli) and you'll see the drive spinning down in a few minutes.

[–] slaecker 1 points 7 months ago (1 children)

I did quite some research when I worked with the WD Red Plus drives and also tried the -S switch, without success.

In openSeaChest I just set the number of milliseconds for each power mode and it just works. I'm happy with that.

[–] TCB13 1 points 7 months ago

You've to set BOTH things (-B and -S) with reasonable values in order for it to work.