centos模拟ipmi

镜像可选

1
2
vaporio/ipmi-simulator
registry.cn-hangzhou.aliyuncs.com/zznn/mycentos:ipmi-simulator
1
2
3
4
5
6
7
8
9
10
11
# Pull prebuilt image**

docker pull vaporio/ipmi-simulator

**# Run simulator on UDP port 623**

docker run -d -p 623:623/udp registry.cn-hangzhou.aliyuncs.com/zznn/mycentos:ipmi-simulator

**# Test with ipmitool**

ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis status

测试

太好了!终于成功了!🎉

用户名密码是 **ADMIN/ADMIN**(大写)。现在给你更多的 IPMI 命令来测试:

基础电源管理命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 1. 查看电源状态
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis status

# 2. 开机
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis power on

# 3. 关机
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis power off

# 4. 硬关机(强制断电)
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis power hard

# 5. 软关机(优雅关机)
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis power soft

# 6. 重启
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis power cycle

# 7. 重置(等同于 cycle)
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis power reset

启动设备管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 8. 设置 PXE 网络启动(下次启动)
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis bootdev pxe

# 9. 设置硬盘启动
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis bootdev disk

# 10. 设置光盘启动
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis bootdev cdrom

# 11. 设置 BIOS 设置
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis bootdev setup

# 12. 查看当前启动设备配置
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis bootparam get 5

# 13. 查看所有启动参数
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus chassis bootparam get 0

BMC 管理命令

1
2
3
4
5
6
7
8
9
10
11
# 14. 查看 BMC 信息
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus mc info

# 15. 查看 BMC GUID
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus mc guid

# 16. 重置 BMC
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus mc reset cold

# 17. 查看 BMC 自检结果
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus mc selftest

用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 18. 查看用户列表
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus user list

# 19. 添加新用户(ID 从 3 开始)
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus user set name 3 myuser

# 20. 设置用户密码
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus user set password 3 mypassword

# 21. 设置用户权限(4=管理员)
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus user priv 3 4

# 22. 启用用户
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus user enable 3

传感器监控

1
2
3
4
5
6
7
8
9
10
11
# 23. 查看所有传感器
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sensor

# 24. 查看温度传感器
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sensor | grep -i temp

# 25. 查看风扇转速
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sensor | grep -i fan

# 26. 查看电压
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sensor | grep -i volt

SEL 事件日志

1
2
3
4
5
6
7
8
9
10
11
# 27. 查看 SEL 事件日志
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sel list

# 28. 查看 SEL 信息
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sel info

# 29. 清除 SEL 日志
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sel clear

# 30. 查看最后 5 条事件
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus sel list | tail -5

LAN 配置

1
2
3
4
5
6
7
8
9
10
11
# 31. 查看 LAN 配置
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus lan print 1

# 32. 设置 IP 地址
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus lan set 1 ipaddr 192.168.1.100

# 33. 设置子网掩码
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus lan set 1 netmask 255.255.255.0

# 34. 设置网关
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus lan set 1 defgw ipaddr 192.168.1.1

系统 GUID 和 FRU

1
2
3
4
5
6
7
8
# 35. 查看系统 GUID
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus guid

# 36. 查看 FRU 信息
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus fru print

# 37. 查看机箱 FRU
ipmitool -H 127.0.0.1 -U ADMIN -P ADMIN -I lanplus fru print 0

批量测试脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# 创建一个批量测试脚本
cat > /tmp/ipmi_commands.sh << 'EOF'
#!/bin/bash

HOST="127.0.0.1"
USER="ADMIN"
PASS="ADMIN"

echo "=========================================="
echo "IPMI 命令批量测试"
echo "=========================================="

echo -e "\n1. BMC 信息:"
ipmitool -H $HOST -U $USER -P $PASS -I lanplus mc info

echo -e "\n2. 系统状态:"
ipmitool -H $HOST -U $USER -P $PASS -I lanplus chassis status

echo -e "\n3. 用户列表:"
ipmitool -H $HOST -U $USER -P $PASS -I lanplus user list

echo -e "\n4. 传感器列表:"
ipmitool -H $HOST -U $USER -P $PASS -I lanplus sensor list

echo -e "\n5. LAN 配置:"
ipmitool -H $HOST -U $USER -P $PASS -I lanplus lan print 1

echo -e "\n6. FRU 信息:"
ipmitool -H $HOST -U $USER -P $PASS -I lanplus fru print

echo -e "\n7. SEL 信息:"
ipmitool -H $HOST -U $USER -P $PASS -I lanplus sel info

echo "=========================================="
echo "测试完成"
echo "=========================================="
EOF

chmod +x /tmp/ipmi_commands.sh
/tmp/ipmi_commands.sh

添加到裸金属管理平台

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 添加节点
curl -X POST http://localhost:5000/api/nodes \
-H "Content-Type: application/json" \
-d '{
"name": "Docker-IPMI-Simulator",
"description": "Docker 容器 IPMI 模拟器",
"ipmi_ip": "127.0.0.1",
"ipmi_port": 623,
"ipmi_username": "ADMIN",
"ipmi_password": "ADMIN",
"internal_ip": "10.0.0.11",
"cpu_info": "Intel Xeon (模拟)",
"memory_gb": 16
}'

现在你的裸金属管理平台可以通过 Web 界面管理这个 IPMI 模拟器了!

1