Seagate disks woes
I recently bought SAS disks for my homelab and I discovered that they are not supported by smartmontools. While I am not concerned too much with their remaining life I would like to spin them down when not used because they can be noisy. I would have used normal tools such as hd-idle, hdparm but they also do not work with these disks.
The solution is to use the vendor’s tools which you can find at openSeaChest.
The disks are also exposed by the kernel twice; first as storage using the /dev/sd?
prefix and
once more as /dev/sg?
. The vendor tools take the second device name. You can list the available
devices using the Basics
tool.
[root@professor openseachest]# ./openSeaChest_Basics --scan -F scsi
==========================================================================================
openSeaChest_Basics - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_Basics Version: 3.3.1-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Sun Nov 20 10:59:46 2022 User: root
==========================================================================================
Vendor Handle Model Number Serial Number FwRev
SEAGATE /dev/sg1 ST4000NM0025 ZC15SBHY N003
SEAGATE /dev/sg2 ST4000NM0025 ZC15BXVZ N003
SEAGATE /dev/sg3 ST4000NM0025 ZC15XLCB N003
SEAGATE /dev/sg4 ST4000NM0025 ZC15XLGA N003
PowerControl
You can configure the disks’ power control values using the openSeaChest_PowerControl
binary.
Let’s see what the Extended Power Control makes available.
[root@professor openseachest]# ./openSeaChest_PowerControl -d /dev/sg1 --showEPCSettings
==========================================================================================
openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_PowerControl Version: 3.1.10-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Sun Nov 20 10:53:25 2022 User: root
==========================================================================================
/dev/sg1 - ST4000NM0025 - ZC15SBHY - N003 - SCSI
===EPC Settings===
* = timer is enabled
C column = Changeable
S column = Savable
All times are in 100 milliseconds
Name Current Timer Default Timer Saved Timer Recovery Time C S
Idle A *1 *1 *1 70 Y N
Idle B *1200 *1200 *1200 310 Y N
Idle C 6000 6000 6000 7000 Y N
Standby Y 6000 6000 6000 7000 N N
Standby Z 9000 9000 9000 15000 N N
EPC is a proprietary implemantation of the TP10 Approved Standard and is described in this white paper from Seagate.
EPC describes more power states available to the disk and allow us to change the power level interactively and automatically. The power states described are for my Exos 7E8 are the following (ordered from more power to less power).
Idle A
This is the first power level after active, no RPM reduction means it’s useless for my use case.
Idle B
This is the second power level after active, no RPM reduction means it’s useless for my use case.
Idle C (AKA Standby Y)
This is the third power level after active. The drive speed is reduced to a lower RPM which is exactly my use case.
Standby Z
This it the fourth power level after active. The drive motor is spun down.
Power transition
The immediate solution is to use the PowerControl
tool to transition the disks to the idle_c
power mode.
[root@professor openseachest]# ./openSeaChest_PowerControl -d /dev/sg1 -F scsi --transitionPower idle_c
==========================================================================================
openSeaChest_PowerControl - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2022 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_PowerControl Version: 3.1.10-3_2_1 X86_64
Build Date: Jul 26 2022
Today: Tue Nov 22 10:12:17 2022 User: root
==========================================================================================
/dev/sg4 - ST4000NM0025 - - N003 - SCSI
Power Mode Transition Successful.
Please give device a few seconds to transition.
Hint:Use --checkPowerMode option to check the new Power Mode.
After issuing the command to all disks the noise is reduced to a minimum and the disks are still available in a reasonable time.
Timers
Eventually the long term solution is to setup the disks to transition to the idle_c state using a timer. This will make sure that if they are not used the transition will happen automatically.
[root@professor openseachest]# ./openSeaChest_PowerControl -d /dev/sg1 -F scsi --idle_c enable
You can also set a timer value by specifying it in place of enable
[root@professor openseachest]# ./openSeaChest_PowerControl -d /dev/sg1 -F scsi --idle_c 12000
The timer unit is 100 milliseconds so the value 12000 means 20 minutes. Unfortunately for me the disk comes with default values from the factory which are also the minimum values. If we take a look at the table describing the disks Extended Power Control we can see that these minimum value for the idle_c transition is 6000 which means 10 minutes.
Name Current Timer Default Timer Saved Timer Recovery Time C S
Idle A *1 *1 *1 70 Y N
Idle B *1200 *1200 *1200 310 Y N
Idle C 6000 6000 6000 7000 Y N
Standby Y 6000 6000 6000 7000 N N
Standby Z 9000 9000 9000 15000 N N
As we cannot reduce this timer value then the last thing left to do is enabling it.
The table report enabled timers with a *
in front of their value so next time we show
the table there will be a *
in front of our Current Timer and Saved Timer columns’ value.
The last two columns in the table describe which timer values can be changed and saved. On my drives I can only change the timer values for the transitions to idle_a, idle_b and idle_c.
Energy saving
If you have taken a peek at the Seagate white paper I linked you may have noticed the title: “Reducing Storage Energy Consumption by up to 75%”. The EPC feature will also save you money if enabled correctly! While the white paper describes the idea behind the technology there are no hard numbers there.
For those you have to look into your product manual. For my disks it’s on page 26 under the PowerChoice power management section.
state | Watts |
---|---|
Idle A | 6.52 |
Idle B | 5.96 |
Idle C | 4.23 |
Standby Z | 1.64 |