R910 风扇控制

上周公司这边弄了台2手的R910服务器,一启动那个噪音实在受不了。即使到最后,默认的噪音也还是受不了。

最后只能尝试将其风扇改为手动模式。

需要注意的是:

  1. iDRAC的网口是第一个网口,我习惯哪个近用哪个,所以用了第4个网口作为网络连接,最后又接了根网线到第一个网口上
  2. iDARC如果设置为DHCP自动获取的话,在网口1上会被分配两个IP地址,一个是iDRAC的地址,一个是系统的地址,控制的时候,需要使用iDARC的地址,不过,这两个地址在同一个网段下,可以互相通讯的。
  3. iDARC通了后,可以通过IP访问web页面,还有一堆内容可以配置或者查看的。
  4. 上面的是自动控制的前提条件,我是通过判断CPU内核的平均温度来调节风扇的。如果高于50度,则恢复成自动的,如果低于50度,则变为手动的。通过cron 5分钟检测一次。

脚本内容:

#!/bin/bash
set -x
CUR_CPU_TEMP=`sensors | grep "Core" | awk -F '+' '{print $2}' | awk -F '°C' '{sum +=$1} END {print sum/NR}'`

CMD="ipmitool -I lanplus -H 192.168.2.166 -U root -P calvin raw "

echo `date` "CUR_CPU_TEMP="$CUR_CPU_TEMP

if [ ${CUR_CPU_TEMP%.*} -gt 50 ]
  then
    echo "--> enable dynamic fan control"
    $CMD 0x30 0x30 0x01 0x01
  else
    echo "--> disable dynamic fan control"
    $CMD 0x30 0x30 0x01 0x00
    echo "--> set static fan speed 30%"
    $CMD 0x30 0x30 0x02 0xff 0x1e
fi