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规范和供应商文档。

发表回复

后才能评论