IPMI工具BMC配置完全指南
IPMI工具BMC配置完全指南
本文档全面介绍了如何使用IPMI(智能平台管理接口)和ipmitool命令行工具来配置和管理系统。
简介
什么是IPMI?
智能平台管理接口(IPMI)是一种标准化的硬件管理接口规范,它使管理员能够在不依赖操作系统的情况下远程管理和监控服务器。它通过专用的基板管理控制器(BMC)运行,BMC是一个嵌入式微控制器,具有自己的处理器、内存和网络接口。
什么是BMC?
基板管理控制器(BMC)是IPMI功能的核心。这是一种专门的服务处理器,能够:
- 独立于主CPU和操作系统运行
- 拥有专用网络接口(可以与主机共享或使用专用端口)
- 监控系统健康传感器(温度、电压、风扇)
- 控制系统电源状态
- 提供远程控制台访问(KVM over IP,串口重定向)
- 记录硬件事件
- 即使服务器断电也能保持运行(待机电源)
准备工作
软件安装
对于不同的Linux发行版,安装命令如下:
# Debian/Ubuntu
sudo apt-get update
sudo apt-get install ipmitool openipmi
# RHEL/CentOS/Rocky/AlmaLinux
sudo dnf install ipmitool OpenIPMI OpenIPMI-tools
# SUSE/openSUSE
sudo zypper install ipmitool
# Arch Linux
sudo pacman -S ipmitool
内核模块
对于本地访问,加载所需的内核模块:
# 加载IPMI驱动
sudo modprobe ipmi_devintf
sudo modprobe ipmi_si
sudo modprobe ipmi_msghandler
# 验证模块是否加载
lsmod | grep ipmi
# 设置持久化(重启后仍然生效)
echo -e "ipmi_devintf
ipmi_si
ipmi_msghandler" | sudo tee /etc/modules-load.d/ipmi.conf
连接方式
本地访问
# 基本格式(使用 /dev/ipmi0 或 /dev/ipmi/0)
sudo ipmitool <command>
# 示例
sudo ipmitool mc info # BMC信息
sudo ipmitool sensor list # 所有传感器
sudo ipmitool chassis status # 机箱状态
通过LANPLUS远程访问(IPMI 2.0 - 推荐)
# LANPLUS提供加密和更强的认证
ipmitool -I lanplus -H <bmc_ip> -U <username> -P <password> <command>
# 使用特定密钥套件(使用17以获得最大安全性)
ipmitool -I lanplus -H 192.168.1.100 -U admin -P password -C 17 <command>
网络配置
查看当前LAN设置
# 通道1的完整LAN配置
ipmitool lan print 1
配置静态IP地址
# 设置IP地址来源为静态
ipmitool lan set 1 ipsrc static
# 设置IP地址
ipmitool lan set 1 ipaddr 192.168.1.100
# 设置子网掩码
ipmitool lan set 1 netmask 255.255.255.0
# 设置默认网关
ipmitool lan set 1 defgw ipaddr 192.168.1.1
用户管理
列出用户
# 列出通道1上的用户
ipmitool user list 1
创建新用户
# 为用户ID 3设置用户名
ipmitool user set name 3 newadmin
# 设置密码
ipmitool user set password 3
# 启用用户
ipmitool user enable 3
# 设置权限级别(4=管理员)
ipmitool user priv 3 4 1
# 启用用户的通道访问
ipmitool channel setaccess 1 3 callin=on ipmi=on link=on privilege=4
电源管理
# 检查电源状态
ipmitool power status
# 电源开启
ipmitool power on
# 优雅关机(ACPI信号)
ipmitool power soft
# 硬关机
ipmitool power off
# 电源循环(关闭然后开启)
ipmitool power cycle
# 硬重置
ipmitool power reset
# 设置启动设备
ipmitool chassis bootdev pxe # 网络启动
ipmitool chassis bootdev disk # 硬盘
ipmitool chassis bootdev bios # 进入BIOS设置
传感器监控
# 带读数的完整传感器列表
ipmitool sensor list
# 特定类型
ipmitool sdr type Temperature # 仅温度传感器
ipmitool sdr type Fan # 仅风扇传感器
ipmitool sdr type Voltage # 仅电压传感器
# 持续监控(每2秒刷新一次)
watch -n 2 'ipmitool sensor list | grep -E "Temp|Fan|Power"'
系统事件日志(SEL)
# 查看所有SEL条目
ipmitool sel list
# SEL详细信息
ipmitool sel info
# 清除所有条目(警告:不可恢复)
ipmitool sel clear
# 保存到文件
ipmitool sel save sel_backup_$(date +%Y%m%d).txt
串口重定向(SOL)
串口重定向(SOL)将服务器的串口控制台输出通过网络重定向,允许远程BIOS配置、引导加载程序访问以及在网络断开时的紧急控制台。
# 在通道1上启用SOL
ipmitool sol set enabled true 1
# 启动SOL会话(远程)
ipmitool -I lanplus -H 192.168.1.100 -U admin -P password sol activate
# SOL会话控制:
# ~. 终止会话
# ~B 发送中断
# ~? 帮助
# 停用SOL
ipmitool sol deactivate
安全最佳实践
- 网络隔离:BMC应位于隔离的管理网络上(使用VLAN)
- 强认证:使用IPMI 2.0与密钥套件17
- 用户管理:禁用未使用的用户槽位,重命名默认账户,使用基于角色的访问
- 禁用不必要的服务:如果不使用SOL,则禁用它
- 定期审核:检查SEL中的未授权访问尝试,监控活动会话
- 固件更新:保持BMC固件更新
故障排除
常见错误消息
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 无法打开设备 | 缺少IPMI驱动 | 加载 ipmi_si、ipmi_devintf 模块 |
| 无法建立LAN会话 | 网络/认证问题 | 检查IP、用户、密码、防火墙 |
| 权限级别不足 | 用户权限不够 | 提高用户权限级别 |
| RAQP 2 HMAC无效 | 密码不匹配 | 验证密码,尝试较短密码 |
| 会话限制超出 | 活动会话过多 | 关闭未使用的会话 |
BMC重置
# 温重置(软件重置)
ipmitool mc reset warm
# 冷重置(硬件重置 - 更彻底)
ipmitool mc reset cold
快速参考卡
# 系统信息
ipmitool mc info # BMC信息
ipmitool fru print # 硬件清单
# 网络
ipmitool lan print 1 # 查看LAN配置
ipmitool lan set 1 ipaddr X.X.X.X # 设置IP
# 用户
ipmitool user list 1 # 列出用户
ipmitool user set password 2 # 更改密码
# 电源
ipmitool power status # 检查电源
ipmitool power on|off|cycle|reset # 电源控制
ipmitool chassis bootdev pxe # 设置启动设备
# 监控
ipmitool sensor list # 所有传感器
ipmitool sel list # 事件日志
ipmitool sel clear # 清除事件
# 控制台
ipmitool sol activate # 串口控制台
# 故障排除
ipmitool mc reset cold # 重置BMC
# 远程命令模板
ipmitool -I lanplus -H <BMC_IP> -U <USER> -P <PASS> -C 17 <command>
本指南涵盖了用于BMC配置的基本ipmitool命令。有关完整参考,包括IPv6配置、FRU管理以及高级安全设置,请查阅官方IPMI 2.0规范和供应商文档。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。





