NoLooseEnds / Scripts

This is my personal scripts. Feel free to modify and improve. They are provided "as is", and I take no responsibility if they break something on your end.
225 stars 59 forks source link

r720 support #3

Closed mauirixxx closed 5 years ago

mauirixxx commented 5 years ago

Aloha, I'm running an r720-xd and have been trying to keep my fan speed down as well, and since the reddit post is archived :( I guess I'll post here :)

The r720 doesn't report the Ambient temperature, it reports Inlet, Exhaust, CPU1, & CPU2, like so:

Inlet Temp | 04h | ok | 7.1 | 24 degrees C Exhaust Temp | 01h | ok | 7.1 | 32 degrees C Temp | 0Eh | ok | 3.1 | 40 degrees C Temp | 0Fh | ok | 3.2 | 42 degrees C

when taken with the "sdr type temperature" command. I also have an R720 (non xd) with an extremely out of date BIOS (v1.2.6, current is v2.7.0), and it outputs the same Inlet & Exhaust temps, but the CPU readings are disabled.

I'm working on the assumption that the "Inlet" reading in the R720 models is the same reading as the "Ambient" one in the R710 models. I'm pretty sure r720 owners can modify your script to Inlet instead of Ambient.

Also, here's a small percentage to RPM speed table and other miscellaneous notes. I run dual e5-2630 v1's in an R720-xd: 5% = 2400 RPM (idle power is 140W, idle CPU temps stay around 58C & 62C) 10% = 3000 RPM (idle CPU temps stay around 54C & 55C, sound is barely audible) 20% = 4800 RPM 30% = 6300 RPM (idle power increases to 154W, idle CPU temps stay around 44C & 46C) 40% = 8040 RPM (temps drop to 42C & 45C) 50% = 9600 RPM (temps drop to 41C & 43C, sound is audible through closet door on top of AC and 2 other servers)

When I had the fans set at auto, they were running around 44% speed. My non xd 720 with the old BIOS doesn't return fan speed percentage, but they're currently running @ 2k RPM right now, and I have no clue how hot the CPU's are running.

In any any case, i know very little about scripting, but I figured I'd dump this information here so smarter people can process it and hopefully use it. Aloha, mauirixxx

NoLooseEnds commented 5 years ago

I just modified my script to work on a Poweredge T420, and that have a similar output as your R720. And since it outputs the CPU temperatures, I use that instead.

If you change the temp variable, it should output the two digit temperature from last line. You can run the command manually and check if it works (just change host, user and pw).

TEMP=$(ipmitool -I lanplus -H $IPMIHOST -U $IPMIUSER -P $IPMIPW sdr type temperature |grep Temp |grep degrees |grep -Po '\d{2}' | tail -1)

You also need to set the temperature threshold to something you are comfortable with.

(I would also update the BIOS, if you can't do it via the built in system services, you can download this bootable cd and run it via iDrac7 or clone it to a USB – or even burn a CD/DVD if you still use them. )

(And If you need it for the R720xd you can find it here: https://dell.app.box.com/v/BootableR720xd)

mauirixxx commented 5 years ago

I've been sorely neglecting the r720 over the past 5 years - I guess it's a statement towards its stability. We've only ever powered it down to add more RAM, and update ESXi from v5.1 to whatever v6.x version we're running. I did the boot CD (well, USB thumb drive) you linked on the r720-xd, it worked a treat.

In any case, I notice you have 2 scripts - do I just cron both of them and let them sort out who wins?

NoLooseEnds commented 5 years ago

Glad it worked. You can just change the folder name structure of the link to get it for other Dell servers.

No, don't do that. The other one is just to enable the manual/static fan, so I don't need to remember the command/settings. I figured if the script triggered I would rather just let the fans be on automatic until I deemed it safe enough to put it back on manual/static.

I know there are other scripts out there that check the temp, and if it's safe, set it back on manual/static. I just figured it's usually a reason it triggered in the first place, so I did not want to have the "yoyo" effect.