目 录CONTENT

文章目录

使用ipmitool调节r410的风扇转速

ABin
2025-04-28 / 0 评论 / 0 点赞 / 5 阅读 / 0 字

设置ipmi的ip

这个要注意一点的是一定要和你的网络的网段是一样的,其他的话没有什么可以说的,把服务器开机之后进入设置ipmi的界面设置就好了,并且设置好账号和密码

安装ipmitool

因为我是mac,所以

brew install ipmitool

其他系统的你使用你对应的包管理器安装就好了,windows的话,用windows的运维都去死吧

调节风扇转速

  • 这个我还是看下面这个项目知道调节转速的raw

https://github.com/perryclements/r410-fancontroller.git
  • 首先你要输入下面的命令把风扇转速设置为手动的

ipmitool -I lanplus -U ipmi用户名 -P ipmi密码 -H 服务器地址 raw 0x30 0x30 0x01 0x00
  • 也可以去掉-P 按照提示输入

ipmitool -I lanplus -U ipmi用户名 -H 服务器地址 raw 0x30 0x30 0x01 0x00
  • 之后就可以调节转速了

ipmitool -I lanplus -U ipmi用户名 -P ipmi密码 -H 服务器地址 raw 0x30 0x30 0x02 0xff 0x18
  • 要值得关注的是上面16进制的最后一个16进制当你输入0x18的时候几乎 就是风扇转速最小的时候当你不断调节大,比如下面

ipmitool -I lanplus -U ipmi用户名 -P ipmi密码 -H 服务器地址 raw 0x30 0x30 0x02 0xff 0x60
  • 这个几乎就是风扇最大的转速,我现在的转速是

ipmitool -I lanplus -U ipmi用户名 -P ipmi密码 -H 服务器地址 raw 0x30 0x30 0x02 0xff 0x10

世界顿时安静了

自动化执行脚本

风扇转速

#!/bin/bash

# 设置IPMI信息
HOST="192.168.2.202"
USER="root"
PASS="******"  # 如果你使用密码,则加入 -P "$PASS"

# 判断是否有传入参数
if [ -z "$1" ]; then
    echo "请传入一个十六进制数值作为参数,例如: 00-64(十六进制)"
    echo "[0a = 10%]  [14 = 20%]  [32 = 50 %]"
    echo "用法示例: ./fun.sh 14"
    exit 1
fi

# 校验是否是合法的两位十六进制
if ! [[ "$1" =~ ^[0-9a-fA-F]{2}$ ]]; then
    echo "错误: 参数必须是两位十六进制数字(如10, 1A, 7F, 80)"
    exit 1
fi

# 执行命令
ipmitool -I lanplus -U "$USER" -H "$HOST" -P "$PASS" raw 0x30 0x30 0x01 0x00
ipmitool -I lanplus -U "$USER" -H "$HOST" -P "$PASS" raw 0x30 0x30 0x02 0xff 0x$1                                        12,35-31     全部

开关机

  • 运行后需要输入密码

#!/bin/bash

# 设置IPMI信息
HOST="192.168.2.202"
USER="root"
PASS="你的IPMI密码"  # 可以用 -P 参数传递密码,或使用 IPMI 密钥文件更安全

# 检查参数
if [ "$1" == "on" ]; then
    ipmitool -I lanplus -H "$HOST" -U "$USER" power on
elif [ "$1" == "off" ]; then
    ipmitool -I lanplus -H "$HOST" -U "$USER" power off
else
    echo "用法: $0 [on|off]"
    exit 1
fi
                                       10,46        全部

0

评论区