一、Centos7安装ipmitool
安装:
yum install ipmitool -y
检查:
rpm -qa |grep ipmi
检查模块:
lsmod | grep ipmi
此时的执行结果为空
加载模块:
modprobe ipmi_watchdog
modprobe ipmi_poweroff
modprobe ipmi_devintf
modprobe ipmi_si
报错:FATAL: Module ipmi_si not found.
modprobe ipmi_msghandler
报错:FATAL: Module ipmi_msghandler not found.
但是此时已经可以成功执行ipmitool
二、使用ipmitool 调整风扇转速
注:超微IPMI用户名为”ADMIN“(大写),早期主板密码也是“ADMIN”(大写)。现在的主板密码在主板的CPU顶盖上或主板上的SN贴纸信息旁“PWD:XXXXXXXXXXX”其中XXXXXXX就是密码(区分大小写)。
超微主板的默认风扇转速控制就是一垃圾,插入pwm 风扇最低转速不能低于500,否则会触发“转速过低警告”,之后调大风扇转速,紧接着发现温度没有异常,再调低风扇转速。这样风扇忽高忽低的循环。
首先,超微PWM风扇分两种类型:
例如 FAN1, FAN2等, 用于CPU等散热用 称之为 zone 0
例如 FANA, FANB等,用于磁盘等风扇散热用 称之为 zone 1
其次,在IPMI风扇控制中你可以看到4种风扇策略
Standard: zone0和zone1 风速为50%
Optimal: 风速为30%
Full: 风速为100%
Heavy IO: zone0 为50%,zone1 为75%
你可以通过ipmitool来看当前风扇的策略(仅限于超微x9/10/11)
ipmitool raw 0x30 0x45 0x00
返回值的意思对应上述四种风扇策略,如下:
Standard: 0
Full: 1
Optimal: 2
Heavy IO: 4
一般为了静音,选择optimal或者standard更好,如果想要更灵活,继续看
一、了解下超微的温控策略
参考连接https://jiemin.wang/2019/03/11/ipmitool/
查看所有IPMI传感器数据
ipmitool -H IP地址 -U 管理员用户名 -P 管理员密码 -I lanplus sensor list
CPU Temp | 28.000 | degrees C | ok | 5.000 | 5.000 | 10.000 | 88.000 | 93.000 | 93.000
PCH Temp | 40.000 | degrees C | ok | 5.000 | 5.000 | 10.000 | 85.000 | 90.000 | 105.000
FAN1 | 2300.000 | RPM | ok | 300.000 | 500.000 | 700.000 | 25300.000 | 25400.000 | 25500.000
FAN2 | na | | na | na | na | na | na | na | na
FAN3 | na | | na | na | na | na | na | na | na
FAN4 | na | | na | na | na | na | na | na | na
FAN5 | na | | na | na | na | na | na | na | na
FANA | 1100.000 | RPM | ok | 300.000 | 500.000 | 700.000 | 25300.000 | 25400.000 | 25500.000
FANB | 1200.000 | RPM | ok | 300.000 | 500.000 | 700.000 | 25300.000 | 25400.000 | 25500.000
(部分)
以CPU和风扇信息为例
一般来讲,第三列的值中有degree的,我们统计的是温度信息。
- 第一列: 传感器的名称,比如
CPU Temp
, - 第二列: 该元件的当前温度值,注意有时候会是na,即取不到。
- 第四列: 温度的状态信息,ok表示温度正常,有时候该状态值为nr,为non-recovery,不可恢复的意思
一般来讲,常见的温度状态有以下5种:
- ok:温度正常
- nc: non-critical,温度偏高(或者偏低),但是并不太严重
- cr:critical,温度太高或者温度太低,很严重
- nr: non-recovery,温度太高或者温度太低,造成不可恢复的损伤。
- na:温度状态不明,比较少见。
- 注意ok –> nc –> cr –> nr 从正常,到越来越严重的温度问题。
二、如何触发温度告警
介绍了nc cr 和nr三种状态,都说温度偏高或者温度偏低,那么
- 温度到什么程度状态会变成nc,
- 温度到什么程度会变成cr
- 温度到什么程度会变成nr
显然,各个元件的状态改变是有温度门限值的,我们可以通过如下方法查看:
#注,引号内为传感器名称,以sensor list命令显示的为准。
ipmitool sensor get "CPU Temp"
#或完整命令格式
ipmitool -H IP地址 -U 管理员用户名 -P 管理员密码 -I lanplus sensor get "CPU Temp"
结果如下
- Sensor ID : CPU Temp (0x1)
- Entity ID : 3.1
- Sensor Type (Threshold) : Temperature
- Sensor Reading : 28 (+/- 0) degrees C
- Status : ok
- Lower Non-Recoverable : 5.000
- Lower Critical : 5.000
- Lower Non-Critical : 10.000
- Upper Non-Critical : 88.000
- Upper Critical : 93.000
- Upper Non-Recoverable : 93.000
- Positive Hysteresis : 2.000
- Negative Hysteresis : 2.000
- Assertion Events :
- Assertions Enabled :
从上表可以看出
- Lower Non-Recoverable : 5度
- Lower Critical : 5度
- Lower Non-Critical : 10度
- Upper Non-Critical : 88度
- Upper Critical : 93度
- Upper Non-Recoverable : 93度
10——88度之间是ok
88——93是nc
93以上是nr(因为cr的门限和nr的门限都是93,状态取nr)
可通过ipmitool调整区间
ipmitool -I open sensor thresh 'CPU Temp' upper 20 30 90
Setting sensor "CPU Temp" Upper Non-Critical threshold to 20.000 Setting sensor "CPU Temp" Upper Critical threshold to 30.000 Setting sensor "CPU Temp" Upper Non-Recoverable threshold to 90.000
本节不是重点,以下内容省略,可观看本节头部的参考链接。
二、查看并修改风扇策略
超微主板上有两类风扇接口:
一、系统风扇
对系统区域的风扇调速。这个区域一般为负责 CPU、GPU 的风扇,对应风扇编号为 FAN1,FAN2,……
二、设备风扇
表示对周边设备的风扇调速。对应风扇编号为 FANA,FANB,……
可查询主板说明书或观察主板PCB上接口的注释进行区分。
查看风扇策略:
ipmitool sensor get "FAN1"
#或完整命令格式
ipmitool -H IP地址 -U 管理员用户名 -P 管理员密码 -I lanplus sensor get "FAN1"
Locating sensor record…
Sensor ID : FAN1 (0x41)
Entity ID : 29.1
Sensor Type (Threshold) : Fan
Sensor Reading : 2300 (+/- 0) RPM
Status : ok
Lower Non-Recoverable : 300.000
Lower Critical : 500.000
Lower Non-Critical : 700.000
Upper Non-Critical : 25300.000
Upper Critical : 25400.000
Upper Non-Recoverable : 25500.000
Positive Hysteresis : 100.000
Negative Hysteresis : 100.000
Assertion Events :
Assertions Enabled : lcr- lnr- ucr+ unr+
Deassertions Enabled : lcr- lnr- ucr+ unr+
风扇状态和温度状态一致。风扇低于700转时表示风扇低速故障。可通过调整风扇转速下限解决这个问题。
ipmitool sensor thresh FAN1 lower 100 200 300
#或完整命令格式
ipmitool -H IP地址 -U 管理员用户名 -P 管理员密码 -I lanplus sensor thresh FAN1 lower 100 100 100
三、强制控制风扇转速
首先设置风扇满速旋转。假如不设置全速模式,我们自定义的转速马上就会被自动转速刷新,从而没有实际效果。
可通过IPMI界面设置,或ipmitool命令
ipmitool -H IP地址 -U 管理员用户名 -P 管理员密码 raw 0x30 0x45 0x01 0x01
强制修改风扇转速
#最后的0x24是风扇转速百分比(16进制),十进制为36即36%。50%为0x32
#倒数第二个参数为风扇类型:
#0x00为系统风扇(FAN1,FAN2,……)
#0x01为设备风扇( FANA,FANB,……)
#系统风扇转速调为%36
ipmitool -H IP地址 -U 管理员用户名 -P 管理员密码 raw 0x30 0x70 0x66 0x01 0x00 0x24
#设备风扇转速调为%36
ipmitool -H IP地址 -U 管理员用户名 -P 管理员密码 raw 0x30 0x70 0x66 0x01 0x01 0x24
四、调整风扇转速模式
#最后一个0x01表示全速模式
#0x00则表示标准(Standard 50%)
#0x02表示最优(Optimal 25%)
ipmitool -H 192.168.1.4 -U 管理员用户名 -P 管理员密码 raw 0x30 0x45 0x01 0x01
此模式也可通过IPMI界面手动调整