HDDs don't go to standby

Status
Not open for further replies.

mik3

Dabbler
Joined
Dec 21, 2014
Messages
10
. By the way said:
I have an external power source that shows the Voltage and Current used at any give time. The system without HDDs draws around 4W and when the HDDs spin up it goes to around 18W. I have monitored this reading and it never drops below 18W. Also, you can hear the HDDs spinning since the case I use is still open
 

mik3

Dabbler
Joined
Dec 21, 2014
Messages
10
. By the way said:
I have an external power source that shows the Voltage and Current used at any give time. The system without HDDs draws around 4W and when the HDDs spin up it goes to around 18W. I have monitored this reading and it never drops below 18W. Also, you can hear the HDDs spinning since the case I use is still open

*edit* sorry for double posts
 

Glorious1

Guru
Joined
Nov 23, 2014
Messages
1,211
I guess it would be best to continue this thread with my problem. I thought I had this HDD standby issue licked. It was working for a while, but now it isn't.

I have three volumes/pools:
SSD is on a SSD and has the System Dataset. As mentioned above, it gets written to constantly but no files are ever made. I also have my home dataset there and use it to play with scripts via SSH.
Ark is my main pool.
ArkBak is only for backup, which it receives once per day.

I'm OK with Ark disks spinning 24/7. My intent/hope is to have the disks in ArkBak in standby except for the 10 minutes or so per day they are receiving the backup. With the settings as described above in this thread, this was working great for a while. They would automatically go into standby except during the backup.

Then they started waking for no apparent reason like once a day, then go back to standby. Then they would wake and stay awake. Now, they are awake all the time. I can put them into standby with camcontrol standby /dev/ada0 -t 600 (also sets the standby timer to 10 minutes, which is what I have set in the GUI) and with ataidle -S 10 /dev/ada0 (does exactly the same thing). That's great, except once they start spinning, they never go back to standby.

When they are spun up by the system for no apparent reason, I find the following in /var/log/debug.log
Code:
Dec 29 10:03:08 Tabernacle manage.py: [middleware.notifier:191] Executing: /usr/sbin/service ix-ataidle quietstart ada0
Dec 29 10:03:09 Tabernacle manage.py: [middleware.notifier:205] Executed: /usr/sbin/service ix-ataidle quietstart ada0
Dec 29 10:03:17 Tabernacle manage.py: [middleware.notifier:191] Executing: /usr/sbin/service ix-ataidle quietstart ada1
Dec 29 10:03:18 Tabernacle manage.py: [middleware.notifier:205] Executed: /usr/sbin/service ix-ataidle quietstart ada1
Dec 29 10:03:28 Tabernacle manage.py: [middleware.notifier:191] Executing: /usr/sbin/service ix-ataidle quietstart ada2
Dec 29 10:03:28 Tabernacle manage.py: [middleware.notifier:205] Executed: /usr/sbin/service ix-ataidle quietstart ada2


I would appreciate some pointers to fixing this, or to logs or other diagnostic info where I might get some clues. I know @joeschmuck was deep into this with the developers quite a while ago; maybe he has some insight.
 

Glorious1

Guru
Joined
Nov 23, 2014
Messages
1,211
Well, it seems that part of the problem was me. :rolleyes:

I was checking the drive spin state (and temperature) every 10 minutes with a script that uses the smartctl return value to determine if they are spinning or not. If they are in standby, the command leaves them alone by using the -n standby option. But if they are spinning, it's starting to look like smartctl -a -n standby actually resets the standby timer. It's like the Heisenberg Uncertainty Principle -- you can't check the state of something without influencing it.

There is a camcontrol command that can get the drive state and I think it does not reset the standby timer. But it can't access disks that are on a HBA, smartctl can.

So now, when I set the script to check every 20 minutes and the standby time for 10 minutes, the drives go back to sleep right after doing the daily replication at 9 am (the first four disks are Ark and always on, the last 3 are ArkBak and set to spin down after 10 minutes):
Code:
[jim@Tabernacle ~]$ cat spincheck.log
How many minutes do you want between spin checks?

          da0      da1      da2      da3      ada0     ada1     ada2   
08:23:41  Spin 32  Spin 32  Spin 33  Spin 32  STANDBY  STANDBY  STANDBY
08:43:41  Spin 31  Spin 32  Spin 33  Spin 32  STANDBY  STANDBY  STANDBY
09:03:42  Spin 31  Spin 32  Spin 33  Spin 33  Spin 26  Spin 28  Spin 27
09:23:43  Spin 31  Spin 31  Spin 32  Spin 32  STANDBY  STANDBY  STANDBY
09:43:43  Spin 31  Spin 31  Spin 33  Spin 32  STANDBY  STANDBY  STANDBY

That still leaves something unexplained that wakes them up at random times, but that seems to be pretty rare. Anyway one problem solved. :)
 

mik3

Dabbler
Joined
Dec 21, 2014
Messages
10
Yes, this is the expected behavior. Stuff is being written to, and read from, the .system dataset all the time. If you want your disks to spin down, the .system dataset needs to be somewhere else, like on an SSD. Yes, this means that 90+% of the time, the spin-down options will be irrelevant.

is there a how-to on how I put my .system dataset somewhere else? I have a spare SSD lying around. It's "only" 64GB, will that be enough?

I REALLY hope I can do this without having to re-write everything to my volumes...

thanks for your help!
 

Glorious1

Guru
Joined
Nov 23, 2014
Messages
1,211
Yes that should be plenty big enough. Just shut down, attach it, start up, and create a volume with it using Volume Manager.
Then go into System > System Dataset, choose your new volume, and check Syslog and Reporting Database.

This post has more information.
 

mik3

Dabbler
Joined
Dec 21, 2014
Messages
10
thanks, very helpful...

last question then: is there any need to mirror the dataset file? Or in other words: what happens to my data if the SSD fails?
 

Glorious1

Guru
Joined
Nov 23, 2014
Messages
1,211
On that I have no idea. Perhaps one of the more knowledgable folks can help with that question. I don't really know what the system dataset is doing. I can't find any files being created on it. My guess is it wouldn't ruin your data pools if the system dataset went bad, but I could be wrong.
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,996
Joined
Mar 6, 2014
Messages
686
Is it an option to write the system dataset to the boot device? (in my case a mirrored 32gb usb stick)
 

joeschmuck

Old Man
Moderator
Joined
May 28, 2011
Messages
10,996
Is it an option to write the system dataset to the boot device? (in my case a mirrored 32gb usb stick)
To answer your question, you could do that but it requires some manual manipulation.

Should you do this is the real question and that answer is a big fat NO. I would only do this if my boot device were a SSD because there are a lot of frequent writes occurring, but then again if I had a SSD then I'd put all my jails and the system dataset on that and be happy.
 
Status
Not open for further replies.
Top