服务器风扇可以通过PWM输出来控制转速。
设置方式
设置单次PWM
bash
ipmitool raw 0x30 0x30 0x02 0xff 0x40
如果要持续设置需要类似while循环持续输出:
bash
while true; do ipmitool raw 0x30 0x30 0x02 0xff 0x64; done > /dev/null
参数说明:
其他参数:
ipmitool raw 命令用于发送原始的 IPMI 请求到服务器的 BMC。这个命令允许用户直接与 BMC 通信,执行特定的硬件管理任务。raw命令分为功能-命令-子命令-命令子功能-数据-数据格式
0x30:这是 NetFn(网络功能)代码,它指定了 IPMI 命令的域。0x30 是"传感器和数据仓库"。
0x30:这是 CMD(命令)代码,NetFn 下的具体命令。表示特定传感器控制命令。
0x02:这是命令的子功能代码,表示设置风扇转速的命令。
0xff:?
其中0x64表示最大转速的百分比的十六进制值。0x64=100
修改转速比例就修改该参数即可
其他:
关闭风扇的自动调速功能方法
ipmitool raw 0x30 0x30 0x01 0x00
接着设置风扇转速为最大值(例如,设置为100%):
ipmitool raw 0x30 0x30 0x02 0xff 0x64
实操效果:
按照全速运转:(非常吵)
按照全速的64%运行,通过声音能听到相比100%有减少
典型例子
bash
100%:
while true; do ipmitool raw 0x30 0x30 0x02 0xff 0x64; done > /dev/null
80%:
while true; do ipmitool raw 0x30 0x30 0x02 0xff 0x50; done > /dev/null
50%:
while true; do ipmitool raw 0x30 0x30 0x02 0xff 0x32; done > /dev/null
10%:
while true; do ipmitool raw 0x30 0x30 0x02 0xff 0xa; done > /dev/null