HDD not going to Standby (spindown) anymore after update from 23.10.2 (Cobia) to 24.04.0 (Dragonfish)

In version 23.10.2 (Cobia), I was able to get the HDDs to go into standby mode after 30 minutes using the disk settings attached (no additional scripts were used). I could see on my smart power plug that the power consumption went down significantly during the night.

After the update / upgrade to version 24.04.0 (Dragonfish), the disks only go to “IDLE_B” even after more than 60 minutes without read/write activity.

The System Dataset Pool is on separate SSDs. For testing, I have also switched off all services, VMs and apps (I have even unset the applications pool). Despite all this, something still seems to prevent the disks from going into standby.

Did anybody experience similar behavior after the update? Any tips or suggestions on how to solve the issue? Any help is appreciated.

EDIT:
After some more head-scratching, I found out that the cause of my problem was the TrueNAS integration in Home Assistant (which runs on a different machine). I had updated this component at the same time as TrueNAS. It seemed to query information from the hard drives regularly, preventing them from going to standby. I have now uninstalled it, and lo and behold, the disks have spun down again.
.

1 Like

Hi,
have the same issue, but I am unable to spin down the drives at all. I joined truenas very fresh with 24.04.2.3. Not any of the power modes are working. If I use the hdparm -Y /dev/sd… command, I am able to spin down. But with the built in functions I am completely lost. This is a new fresh installed truenas scale without any pools on the drive to test. There is nothing stored on it.

I compared the power options with truenas core and there it work such fine when I am using the checkbox ‘Force HDD Standby’
But I’d like rather using truenas scale as it comes with the plugins support and truenas core plugin support is dead.

So, I am asking myself why the ‘Force HDD Standby’ option is not available on truenas scale?

I can’t speak for certain but it may have been removed because spinning down hard drives is not recommended. However I suspect you can still force the drives to sleep. I am not home right now to ensure i provide you the correct commands so either someone else will help or i will once i get home.

Hi,
thank you very much in advance. Not even the standby without spinning down works for me. ( power management > level 1)
I am aware of that it reduces the lifespan of an HDD if this will spin up frequeny. The use case is to access the drive one time per day or even less.

There are typically work arounds and once this young kid replaces my truck tires then I’m on my way. He’s young, skinny, did i say young? Hopefully he it good at balancing as i like to drive fast at times.:grin:

The first step is to be sure the system dataset is moved to the boot-pool from the HD pool so maybe not having created a pool is part of this problem.

If you want spin down of an HD pool, then advise you not to run any truenas apps on it–not even the app catalog because those services will keep them active.

There is a spin down script to run at the shell prompt but I’ve had success using the drop down menus on the GUI’s storage/disks screen. Strangely the Seagate drives require different values in the GUI than the WD drives. But then that’s my system.

1 Like

Hoping the best. =)
The script workaround which I’ve found it on github
Same reference to HDD Spindown Timer 2.2.0 this forum

I’ve not tested it yet. I just wondered about why the forcing feature is not implemented in truenas scale, but in truenas core it was.
I mean, the use cases of truenas are different and I think this feature to force standby is essential. Standby or spin down.

@garyez_28558

As I mentioned it was a new fresh install without any apps / plugins installed. Not even a pool was created on the HDD.

While I understand what you are sayimg, the reality is that TrueNAS is designed for production servers, not really home users. However we get a free version of this software that we test for the company. As I said before, I don’t know exactly why they dropped it in SCALE but I could believe support was not there for it. And there are ways around this limitation if a person really wants it. I’m not defending them, just trying to explain.

I’m sure the script will do good, I’ve heard of it before and others use it.

What makes you believe that such common, standard feature was taken out of TN?

You have to know the dials in order to actually know how something works.

You can enable all the drive features/settings, but if there is ANY access to the drives, they would either wake up, or NEVER timeout.

Boot-Pool is a special case as there is constant access. (SSD in all my servers so no need to suspend).

But for 100% of my spinning HDDs, I do spin them down, and have been doing it for at least 10+ years? (around 30-40 in current use, double that for all the bigger HDD replacements during the years).

And NO, in today’s modern HDDs, spinning them down and then back up,
is NOT an issue or problem for longevity:

If you knew electronics, you would know they now use gentle ramp-on when starting, which avoids the sudden power draw and stress on the HDD motor and power chips.

The ONLY HDDs that have died were a few of Seagate 3TB HDDs that had known issues and a 6TB that started to have sector errors, but that’s not due to spin-down-up, plus I bought it used with tons of hours.

Yes, you will notice a small delay (7-10 sec) when accessing a spun-down drive, but it’s not an issue at all and does not create errors anywhere.

After setting each specific HDD Standby Time, you must also change how the SMART process behaves. Power Mode=Standby.

S.M.A.R.T.
General Options
Power Mode
Standby

I am finally home, took forever.

I can see that “Force HDD Standby” is no longer an option in SCALE however you can still achieve what you want.

@joeschmuck
Sure agree, I understand that point and as it’s free to use you can’t claim this anyway.

@truenas-fan
Already tried this. Have set up the following below.

S.M.A.R.T. Settings

check interval: 30 min
power mode: standby
difference, infromational, critical: 0

Disk Settings

Disk Type: HDD
Description: N/A
Model: SAMSUNG_HD642JJ
Transfer Mode: Auto
Rotation Rate (RPM): N/A
HDD Standby: 5
Adv. Power Management: 1
Enable S.M.A.R.T.: true
S.M.A.R.T. extra options: N/A

The disk is just and old one for test purposes. Yesterday I tried the same with the WD 8TB (WD80EZAZ)
I just created a dataset with default paramters on the disk with a quota around 40% disk size. After the 5 minutes test, I changed the value HDD Standby to 20.
Remains the same. I waited 10 minutes more to pass 30 minutes time mark, in accordance with 30 minutes SMART interval. The disk won’t spindown. Then I changed the SMART test interval to 1440 minutes to achive ‘more’ headroom. Same.
Finally I disengaged SMART readings on the drive and disabled the SMART service at all, so there is no access to the drive at all.
Once passed, I’ve checked then with hdparm command.

As you can see on the metrics report, there was no access on the drive for about last 40 minutes.

So, going with the given native options in Truenas SCALE, seems I have no chance to achieve it.

do you have another NAS running ?. I ask because you could use the low power, smaller NAS for constant use and set the BIOS in the bigger NAS to boot at a daily time or weekly time and do whatever you use the big NAS for, on that schedule and self-shutdown once done. If you have 2 NASs. Just an idea

Hi,
good idea. But nope, thats my first one. Have tried with ngandrass’s truenas-spindown-timer and it’s fine. Guess the guy deserves some coffee coins. :sweat_smile:
Regards.

1 Like

You could also setup a CRON Job that periodically sends out the command hdparm -y /dev/sd[a-z] (use the range of drives you have, they start at “a” and what is your last letter? “e” maybe?) then use [a-e], you can use “z” if you like.

This will place your drive into Standby and it should spin down, provided it is not actively in use.

When you setup the CRON Job, set it up to issue the command once every hour if you are certain this drive will not spin up often.

Next, record the start/stop count of the drive(s), and record it again 24 hours later. This will tell you how often the drive spins up. It will not be higher that 24 if you use a once an hour setting, however if you use a 30 minute setting, it could be up to 48. The goal should be to limit how many times the drive spins up/down. If you are using it for work during the daytime and you think it is accessed more often that once an hour, then 60 minutes is a good starting point. Or maybe you just want the drives to sleep starting at 8 PM to 6 AM. Then I would set the CRON Job to issue the command at 8 PM, 9 PM, 10 PM… all the way through to 5 AM. And again, count the number of start/stop cycles over a 24 hour period. If the drive spins up more than you expected, then there is activity going on.

I would also set APM level 1, not 100% certain you need to do that BUT!

And you can manually check the status of the drives by issuing hdparm -C /dev/sd[a-z]

Does that help? One simple CRON Job, no fancy scripts.

1 Like

Seems like it was my problem as well. Thanks for sharing!

1 Like

Asked myself why the spindown script does not work since Version ElectricEel-24.10.1
Needed to add the bash command to the first position at the line like this…

bash /home/truenas_admin/truenas-spindown-timer/spindown_timer.sh