设置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 全部
评论区