Updates to Hard Drive Standby Behavior in TrueNAS 12?

dheinz

Cadet
Joined
Feb 2, 2021
Messages
4
Hi TrueNAS folks,

I am new to TrueNAS and have learned a tremendous amount by browsing and searching these forums, as well as stack overflow and the like. I'm hoping someone here can help me out with what is likely a very simple issue.

I would like to have the four drives in my main pool spin down when they are not being used. I have read all the commentary suggesting this is not a good idea and so forth, but I'd still like to explore the possibility. For context, this NAS is set up as an infrequently used data storage repository. I expect that it will be accessed in bursts of activity spread apart by long intervals (e.g. 12 hours of continuous use, but only once a month). As such, I'd prefer it to rest silently with minimal power consumption when it is not needed.

I have done my best to follow the various instructions, but I have noticed the drives frequently spinning back up from standby, even though no clients are connected, no scrubs should be running, etc.

My configuration is as follows: 4x Seagate Ironwolf HDDs, Supermicro X10, Xeon E3 V3, 16GB ECC RAM, WD SSD for boot

These are the steps I have tried:
  • Under Storage > Disks (for all disks in pool)
    • Set disk power management level to less than 128
    • Check Force HDD Standby
    • Set HDD Standby to 60 minutes
    • Leave other settings default (SMART enabled)
  • System Dataset moved to Boot Pool
  • Services
    • SMART Check Interval 720
    • Other services running are SMB, AFP, UPS and SSH
  • Tasks
    • SMART Long Test monthly
    • Pool scrub default frequency (35 days)
There is one frequently cited step suggested to prevent the drives from spinning back up that I am unable to replicate. Posts like this one from FreeNAS 11.3 instruct to set SMART service to Standby power mode. My options page for the SMART service does not have a power mode field. Has this option been moved/replaced?

The result of my efforts is that the drives do spin down, but I also noticed them running when I hadn't accessed the share at all in days. I logged in to the UI and checked in the shell using camcontrol cmd with mixed results. Sometimes the drives were spinning and sometimes they were in standby. I also ran a quick SMART report (smartctl -a /dev/ada3) and found that the drive has recorded 442 start_stop_count events, almost all of which have occurred in the couple of days since I implemented the power saving settings. Under these circumstances, I've reverted all the settings and will leave the drives spinning for now.

If someone could point me in the right direction, I'd be interested to understand how to configure these options correctly, and if there is some log file that might help understand what is triggering the standby and wake events.

Thanks!
 
Joined
Jan 7, 2015
Messages
1,155
Theres a few things. This is controlled in STORAGE>DISKS>EDIT DISK. However, if your system dataset is on this disks they likely wont spin down (for long). If your iocage pool is on these disks they likely wont spin down (for long). So do you have separate (~SSD) disks for these pools? You can put the system dataset on the boot pool, but id only do this is you are using a proper HDD/SSD for boot.

So i think for you is that is the key.
 

dheinz

Cadet
Joined
Feb 2, 2021
Messages
4
Theres a few things. This is controlled in STORAGE>DISKS>EDIT DISK. However, if your system dataset is on this disks they likely wont spin down (for long). If your iocage pool is on these disks they likely wont spin down (for long). So do you have separate (~SSD) disks for these pools? You can put the system dataset on the boot pool, but id only do this is you are using a proper HDD/SSD for boot.

So i think for you is that is the key.

Thanks for the pointers! I have already moved the system dataset to the boot pool, which resides on an SSD, but I haven't touched the iocage. How does one define the location for this dataset? It was automatically generated, and I haven't seen a straightforward way to move it.
 

Samuel Tai

Never underestimate your own stupidity
Moderator
Joined
Apr 24, 2020
Messages
5,399
The GUI won't let you set iocage to the boot pool. This isn't recommended, as most often the boot pool is too small to contain the FreeBSD RELEASEs needed to run the jails. If your SSD is large enough, you could try iocage activate freenas-boot.
 
Joined
Jan 7, 2015
Messages
1,155
Well its actually pretty easy, check here. As pointed out above, dont put iocage on your boot pool if you can help it. Get a couple dedicated larger SSDs.
 
Joined
Jan 7, 2015
Messages
1,155
You can also accomplish this with some replication as well im sure.
 

dheinz

Cadet
Joined
Feb 2, 2021
Messages
4
Great, thank you! I've moved the iocage to a separate SSD pool and will give it a try. I'll report back on whether I've got the full set of settings correct!
 
Top