IPMI常用命令整理

IPMI 简介

IPMI (Intelligent Platform Management Interface) 是一套开放的、标准的硬件管理接口规范,允许远程管理服务器。ipmitool 是一个常用的命令行工具,用于与支持 IPMI 的 BMC (Baseboard Management Controller) 进行交互。

1. 系统信息和状态

  • 获取 BMC 版本信息:

    1
    ipmitool mc info
    • 说明: 显示 BMC 的固件版本、IPMI 规范版本、制造商 ID 等基本信息。
    • 示例输出:
      1
      2
      3
      4
      5
      6
      Device ID                 : 32
      Device Revision : 1
      Firmware Revision : 2.14
      IPMI Version : 2.0
      Manufacturer ID : 47488 (Dell)
      ...
  • 获取底盘状态:

    1
    ipmitool chassis status
    • 说明: 显示底盘的电源状态、功率利用率、重启计数等。
    • 示例输出:
      1
      2
      3
      4
      5
      System Power State        : S0/G0 (working)
      Power Interlock : inactive
      Power Fault : no fault
      Power Control Fault : no fault
      ...

2. 传感器监控

  • 列出所有传感器及其当前读数:
    1
    ipmitool sensor
    • 说明: 这是最常用的命令之一,用于查看所有硬件传感器的实时数据,如温度、风扇速度、电压等。

3. 系统事件日志 (System Event Log - SEL)

  • 列出所有 SEL 事件:

    1
    ipmitool sel elist
    • 说明: 显示 BMC 记录的所有系统事件,包括硬件故障、电源事件、传感器阈值警报等。这是诊断硬件问题的重要工具。
    • 示例输出 (部分):
      1
      2
      1 | 12/26/2025 | 01:06:26 | Event Logging Disabled SEL | Log area reset/cleared | Asserted
      2 | 12/26/2025 | 01:10:30 | CPU Temp | Upper Non-critical - assertion | Reading 85 > Threshold 80 degrees C
  • 获取 SEL 信息:

    1
    ipmitool sel info
    • 说明: 显示 SEL 的状态,包括条目数量、可用空间、上次添加/删除时间、是否溢出等。
    • 示例输出:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      SEL Information
      Version : 1.5 (v1.5, v2 compliant)
      Entries : 2
      Free Space : 16352 bytes
      Percent Used : 0%
      Last Add Time : 12/26/2025 01:10:30
      Last Del Time : 12/26/2025 01:06:26
      Overflow : false
      Supported Cmds : 'Reserve
  • 清除 SEL 日志:

    1
    ipmitool sel clear
    • 说明: 清除 SEL 中的所有事件。请谨慎使用,因为这是不可逆的操作。
    • 提示: 清除前最好先备份日志(如果 BMC 支持导出)。

4. 电源控制

  • 获取电源状态:

    1
    ipmitool chassis power status
    • 说明: 检查服务器的当前电源状态(开机、关机、重启等)。
    • 示例输出:
      1
      Chassis Power is on
  • 开机:

    1
    ipmitool chassis power on
    • 说明: 开启服务器电源。
  • 关机:

    1
    ipmitool chassis power off
    • 说明: 强制关闭服务器电源(类似于拔掉电源线,可能导致数据丢失,慎用)。
  • 软关机 (操作系统关机):

    1
    ipmitool chassis power soft
    • 说明: 向操作系统发送关机信号,允许其正常关闭(如果操作系统响应)。
  • 重启:

    1
    ipmitool chassis power cycle
    • 说明: 执行一次完整的电源循环(关机再开机)。
  • 重置:

    1
    ipmitool chassis power reset
    • 说明: 执行一次热重启,不切断电源。

5. 远程控制台 (SOL - Serial Over LAN)

  • 启动 SOL 会话:
    1
    ipmitool -I lanplus -H <BMC_IP_ADDRESS> -U <USERNAME> -P <PASSWORD> sol activate
    • 说明: 通过网络建立一个串行控制台连接,允许您访问服务器的文本控制台,即使服务器没有操作系统或操作系统崩溃。
    • -I lanplus 指定接口类型为 lanplus,通常用于 IPMI 2.0。
    • -H <BMC_IP_ADDRESS> BMC 的 IP 地址。
    • -U <USERNAME> 登录 BMC 的用户名。
    • -P <PASSWORD> 登录 BMC 的密码。

6. 网络配置

  • 查看网络配置:

    1
    ipmitool lan print 1
    • 说明: 查看指定 LAN 通道(通常为 1)的网络配置,包括 IP 地址、MAC 地址、网关等。
    • 示例输出 (部分):
      1
      2
      3
      4
      5
      6
      7
      8
      9
      Set in Progress         : Set Complete
      Auth Type Support : NONE MD2 MD5 PASSWORD OEM
      Auth Type Enable : Callback : MD2 MD5 PASSWORD
      User : MD2 MD5 PASSWORD
      ...
      IP Address Source : Static Address
      IP Address : 192.168.1.100
      Subnet Mask : 255.255.255.0
      MAC Address : 00:11:22:33:44:55
  • 设置静态 IP 地址 (示例):

    1
    2
    3
    4
    ipmitool lan set 1 ipsrc static
    ipmitool lan set 1 ipaddr 192.168.1.101
    ipmitool lan set 1 netmask 255.255.255.0
    ipmitool lan set 1 defgw ipaddr 192.168.1.1
    • 说明: 配置指定 LAN 通道的静态 IP 地址、子网掩码和默认网关。

7. 用户管理

  • 列出 IPMI 用户:

    1
    ipmitool user list 1
    • 说明: 显示 BMC 上配置的用户列表及其权限。
  • 设置用户密码 (示例):

    1
    ipmitool user set password <user_id> <new_password>
    • 说明: 为指定用户 ID 设置新密码。

8. 其他实用命令

  • 获取 DMI (Desktop Management Interface) 信息:
    1
    2
    3
    4
    dmidecode -t memory # 查看内存信息 (如您之前所用)
    dmidecode -t system # 查看系统信息
    dmidecode -t processor # 查看处理器信息
    # 等等...
    • 说明: dmidecode 不是 IPMI 命令,但它是一个非常有用的工具,用于从 SMBIOS (System Management BIOS) 中提取硬件信息,通常在服务器上用于获取更详细的本地硬件配置。

远程连接 IPMI 的通用格式:

大多数 ipmitool 命令都可以通过网络远程执行,只需在命令前添加连接参数:

1
ipmitool -I lanplus -H <BMC_IP_ADDRESS> -U <USERNAME> -P <PASSWORD> <command>
  • -I lanplus: 指定接口类型为 lanplus (推荐用于 IPMI v2.0 及更高版本)。
  • -H <BMC_IP_ADDRESS>: BMC 的 IP 地址。
  • -U <USERNAME>: 登录 BMC 的用户名。
  • -P <PASSWORD>: 登录 BMC 的密码。