Disk spin-down not working on Seagate IronWolf Pro

Hey, I had an issue on my Rockstor system regarding a HDD not spinning down and I would like to share my findings and workaround.

I have 2 drives in my new Rockstor system:

  • Seagate IronWolf Pro
  • Toshiba N300 NAS

Both are 18TB in capacity, SATA-III and are fairly new models (bought in 2023).

For the Toshiba N300 NAS drive I was able to configure the spin-down settings via Rockstor Web-UI and everything worked as expected.

But the Seagate IronWolf Pro drive was not configurable via Rockstor Web-UI.
The APM column only shows ???, the Power Status is unknown and I can’t press the hour-glass symbol:

And also querying the APM level with hdparm manually showed that this is not supported:
Screenshot_20230902_100244


Doing some search on the internet revealed many people with similar issues on Seagate IronWolf & Seagate IronWolf Pro HDDs.
It seems that Seagate has its own tool for power management: SeaChest Utility


openSeaChest:
There is also a open-source version of this tool: openSeaChest
I found this blog entry helpful as guidance for my workaround on Rockstor: Spinning down Seagate Hard Drives in Ubuntu 20.04 - André Jacobs


My workaround:

I was not keen on installing openSeaChest from source on a “production” system, so I downloaded the pre-built binaries form the latest release: Releases · Seagate/openSeaChest · GitHub
File: openSeaChest-v23.03.1-linux-x86_64-portable.tar.xz

  • copy tar-ball to Rockstor via SSH ($ scp openSeaChest-... root@hostname:)
  • extract tar-ball on Rockstor (# tar xf openSeaChest-...)
  • enter the new directory to execute the binaries for setup.
    ./openSeaChest_Info --scan - list all devices
    ./openSeaChest_PowerControl -d /dev/sg0 --showEPCSettings - show the timers for drive sg0
    ./openSeaChest_PowerControl -d /dev/sg0 --idle_c 600000 --standby_z 1200000 - modify the timers for drive sg0 (idle_c: 60 minutes; standby_z - aka spin-down: 20 minutes)

To check the current power state of all HDDs use ./openSeaChest_PowerControl -d all --checkPowerMode

With:
Device is in the PM1: Idle state = spinning disk
Device is in the PM2: Standby state = not spinning disk


Although some manual steps are involved, this now works for me and these PowerControl settings also survive a reboot.

Cheers Simon

3 Likes

@simon-77 Thanks for sharing your findings on this one. And a nice bit of investigation there.

I did have some much smaller Seagate IronWolf (non pro) drives, 4 TB I think they were, but no longer have access to those drives unfortunately. They did work as expected, so likely this is a more recent ‘thing’. Shame.

Yes, this is our cue to leave well alone and disable the Web-UI options in this area for given drive:

And we set the disk spindown via:

Which in turn configures/reconfigures the rockstor-hdparm systemd service to enable consistency over power cycling.

Just noting the above in case a little development in the testing channel takes your fancy :).

Thanks again for the heads up on this one. And for sharing your fix/work-around. Indicentally have you ensured that the settings, thus applied, survive a power-cycle. I think hdparm settings survive a reboot but not a power cycle (from memory at least). Hence our use of our dedicated systemd service to re-establish them on boot.

4 Likes

I just checked it:
this setting also survives a power-cycle (and this setting is also supposed to be persistent).

3 Likes

Thanks for posting your findings here!

@phillxnet I also have a ironwolf pro with the same affliction. Posting just in case you need testers in the future :wink:

3 Likes