Jump to content

Idea to control HDD Temperatures


thica

Recommended Posts

Hello all,

 

As unraid in read mode will just spin up one HDD in most cases, and in write mode will spin up just two/three HDD (data, parity, cache), for some actions (eg parity check) all HDDs are used.

To control HDD temperature it is necessary to cool down your HDD for the worst case, this means cool them all , all the time. Even if they are spinned down.

I think it would be more smart just to cool down those HDD or HDD groups, that are used. So I have the following idea:

 

Group your hard drives as necessary (eg. Data Drive Group and parity+cache drive group) Place a fan in front of each group and attach them to unused fan connectors on your MoBo. In most cases, the chassis fan connectors are not used.

 

Now the more difficult part:

 

A bash script with the following functions

 

define a temperature max value for each drive group (eg 40C )

define the correspondent fan controller for each group (eg /sys/class/hwmon/hwmon0/device/pwm1)

 

 

Read the HDD temperatures for each drive group and calculate the highest value

compare the current max HDD temparature with the defined HDD value

if the current HDD value is higher than the maximum defined value, read the current fan speed value for a group (0 to 255) and increase it by 10 (to max 255)

if the current HDD value is higher than the maximum defined value, read the current fan speed value for a group (0 to 255) and decrease it by 10 ( to min 0)

Set the new fan speed

wait a minute and restart again

 

As a result, Fans for a HDD group (or all your HDD if you use just one fan) should rotate at optimum speed, and will be switched of , if no cooling iis necessary (latest if they are spinned down)

 

I am not a unix expert so I will fail to implement that my self, so thoughts and help are welcome.

 

 

 

Link to comment

I had the same idea a while ago when I setup HDD temp based fan control but I think the problem that most users are going to have is finding enough fan controllers on their MB to control the different groups. I have a Supermicro C2SEE MB and there a quite a few 4-pin pwm fan headers but I believe they are all attached to the same controller. I think there are options for additional fan controllers but I didn't like the idea of adding additional hardware to the system.

Link to comment

I just bunged one of these in http://www.quietpc.com/gb-en-gbp/products/casefanaccessories/kaze-master-ace-525-bk. Takes a bit of fiddling to find where best to fit the probes but (at least in my case) once set up, each fan only starts to come on when the related disc(s) spin up and start to get hot. When the discs are spun down, all the fans are off completely.

 

Nice find ! Can you hook this up to 2 wire fans? Or is it for 3 or 4 wires only? I'm just wondering how I would wire this up. My fans already have a fan speed control knob.

 

I found a 12v thermostat control module. Right now I have it setup to keep the ambient temps in the PC Case between 24C and 27C. This is effectively keeping the drives between 25c and 35c {When spinning the drives keep in the low to mid 30s. When spun down they keep in the mid 20s}

 

While not perfect, it's doing a pretty good job... and only 18.95 ;)

 

http://www.apogeekits.com/thermostat_vm137.htm

Link to comment

I just bunged one of these in http://www.quietpc.com/gb-en-gbp/products/casefanaccessories/kaze-master-ace-525-bk. Takes a bit of fiddling to find where best to fit the probes but (at least in my case) once set up, each fan only starts to come on when the related disc(s) spin up and start to get hot. When the discs are spun down, all the fans are off completely.

snip....

Nice find ! Can you hook this up to 2 wire fans? Or is it for 3 or 4 wires only? I'm just wondering how I would wire this up. My fans already have a fan speed control knob.

....snip

You need 3 wire fans to get the fan speed readings. It doesn't just switch the fans on or off. It controls the speed(s) depending on how far away from each set point, the actual temperaure is. It won't work with 4 wire pwn fans.

Link to comment

Is it possible this way to completely stop fans from spinning?

I don't know about the fan controller that yannis mentioned but I do know that there are some pwm fans that you can stop from spinning. Not all pwm fans will stop when commanded to zero.  I know the Delta fan that I have will and the Cooler Master fan I have won't.
Link to comment

Is it possible this way to completely stop fans from spinning?

 

The thermostat control I have can't slow the fans down. BUT it does stop them completely. Any Fan! It's an ON/OFF switch !

 

Right now after close to a week use, I like it. It does the job. The only downfall is that I don't know where to put it. I'll have to find an enclosure for it and fix it somewhere inside the case....

 

On the other hand, once I do find a place for it, it won't be taking any HD spot like the other module I've seen so far.

Link to comment

Is it possible this way to completely stop fans from spinning?

 

Yes. That's exactly how the "Scythe" controller works in Auto mode. For each channel, if the temperature is below the set point you have chosen, the fan is off. When it reaches 1degC above the set point, it starts to run slowly. If the temperature continues to increase, the fan runs faster. Conversely, as the temperature drops, so does the fan speed until the temperature reaches 1 degC below the set point when it stops completely. So there is 2 degC of hysterisis to prevent uneccessary cycling. In my set up, at idle with all discs spun down, all the fans are off. The exception being the PSU and processor fans which "do their own thing".

Link to comment

It seems logical that moving parts in a HD can take a beating each time they start up when cold. The moving parts are manufactured to with stand heat. So if they are in the twenties when they spinup I guess it could be detrimental.

 

But then again too hot isn't any better.....  :-\

 

Controlling the temp in your PC Case seems like a good idea.

Link to comment

It's all about the design of bearings. The moving parts in hard drives are designed to run at an optimum temperature like your car. Too cold and they run tight and you get wear, too hot and they run loose and you get wear and vibration. It's an engineering thing. The Google stats seem to indicate the optimal running temperature for the bearings in the average hard drive. In your car the optimum temperature for the bearings is nearer 90 dec C, but in a hard drive it's around 35-40 dec C.

Link to comment
  • 3 weeks later...

Does anyone happen to know how these Scythe temp sensors work?  (http://www.scythe-usa.com/product/acc/039/sctsc1000_detail.html)  Maybe they're just thermistors?  I was thinking that as cheap as they are - $1 each - I could put one on all 22 drives in my new setup.  I had planned to have a 120mm fan per three drives the way my drive racks will be laid out, so I could assemble the circuitry to "OR" together 3 temp sensors to turn a fan on or off per those 3 drives if any one of them has a temp that exceeds something like 35-37 degrees C.

Link to comment

Does anyone happen to know how these Scythe temp sensors work?  (http://www.scythe-usa.com/product/acc/039/sctsc1000_detail.html)  Maybe they're just thermistors?  I was thinking that as cheap as they are - $1 each - I could put one on all 22 drives in my new setup.  I had planned to have a 120mm fan per three drives the way my drive racks will be laid out, so I could assemble the circuitry to "OR" together 3 temp sensors to turn a fan on or off per those 3 drives if any one of them has a temp that exceeds something like 35-37 degrees C.

 

I have one in my hand as I type. I'm fairly sure it's just a bead thermistor. In which case, you'd need to build a circuit which can "or" analogue voltages. I've only dabbled in electronics as a hobbyist so I'm by no means any sort of expert. I guess you could use a transistor as a comparator and check the output of each thermistor against a pre-set voltage (which would equate to 35-37degC). Then common the outputs of each set of 3 transistors to turun on a third which would start the fan. It sounds a bit complicated but if you have time on your hands and a soldering iron, it could be an interesting thing to do. Maybe an ideal project for a PIC microcontroller if you are into those?

Link to comment

I have one in my hand as I type. I'm fairly sure it's just a bead thermistor. In which case, you'd need to build a circuit which can "or" analogue voltages. I've only dabbled in electronics as a hobbyist so I'm by no means any sort of expert. I guess you could use a transistor as a comparator and check the output of each thermistor against a pre-set voltage (which would equate to 35-37degC). Then common the outputs of each set of 3 transistors to turun on a third which would start the fan. It sounds a bit complicated but if you have time on your hands and a soldering iron, it could be an interesting thing to do. Maybe an ideal project for a PIC microcontroller if you are into those?

 

I was thinking of using a simple comparator circuit per thermistor, with the comparator turning on an N-channel FET that would complete the ground connection for a fan.  Each of those N-channel devices can be OR'd together so that if any one of say 3 drives reached the 35-37 degC point the fan for those 3 drives would turn on.  There are plenty of thermistor circuit on the web that could be copied, but this one would be ideal with a couple of tweaks I think:

 

http://www.discovercircuits.com/H-Corner/freezer-over.htm

 

The 499K resistor that makes the voltage divider with the thermistor would be replaced with a trim pot to allow for setting the desired 35-37 degC trip point of the comparator, and of course the beeper would be a fan.  :)  The N-channel MOSFET output can be OR'd with 2 more of the same circuit such that if any one of 3 drives reached the temperature the MOSFET would turn on completing the ground connection for the fan.  The 5V supply could come from the system power supply so no voltage regulator is needed.

 

Once I get done with transferring all of my WHSv1 data drive content over to my new unRAID server I may play around with this to get something going.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...