一、IPMITOOL、IMPI、BMC之间的关系

我们通常所说的“BMC”,一般是指各服务器厂商所提供的服务器硬件带外管理系统,厂商提供的基于web的管理系统实则是通过IMPI接口发送信号给BMC芯片以达到管理控制BMC芯片的目的,同样ipmitool工具同样可以调用IMPI接口实现同样的功能。

图片
图片

二、安装IPMITool

1、Debian/Ubuntu

apt install ipmitool

2、CentOS/RHEL

yum install ipmitool

3、编译安装

  • 下载源代码

    1
    wget https://github.com/ipmitool/ipmitool/releases/download/IPMITOOL_1_8_18/ipmitool-1.8.18.tar.gz
  • 解压安装

    1
    2
    3
    4
    tar -zxvf ipmitool-1.8.18.tar.gz && cd ipmitool-1.8.18
    ./configure
    make
    make install

加载相应模块

1
2
3
modprobe ipmi_si
modprobe ipmi_devintf
modprobe ipmi_msghandler

三、IPMItool常用指令

ipmitool目前支持 1、系统接口访问(在IPMI物理机的宿主机系统本身运行) 2、网络接口访问 ,本文主要以系统接口的方式介绍IPMItool使用方法。IPMItool工具功能丰富,此处仅介绍最常用的IPMItool指令,其他指令请参考ipmitool手册

1、用户管理
(1)列出BMC lan channel用户
1
ipmitool user list 1

如下图root用户为例

图片
图片
(2)修改BMC lan channel用户的密码 👍

根据user list获取的用户ID来修改密码

1
2
3
4
#ipmitool user set passwrd <用户ID> <密码> [<密钥长度16或20 默认16 可选参数>] 
ipmitool user set password 2 admin123 16
#对于某些服务器修改密码时不能违法密码复杂度要求,可以用user test 测试是否设置成功
ipmitool user test 2 16 admin123
图片
图片
(3)用户命令的其他功能
1
ipmitool user  help
图片
图片
2、网络管理
(1)打印bmc lan channel 网络信息
1
ipmitool lan print 1
(2)设置BMC网络
1
2
3
4
5
6
7
8
# IP地址改为静态类型
ipmitool lan set 1 ipsrc static
# 设置IP地址
ipmitool lan set 1 ipaddr 192.168.1.10
# 设置子网掩码
ipmitool lan set 1 netmask 255.255.255.0
# 设置网关
ipmitool lan set 1 defgw ipaddr 192.168.1.253
3、BMC管理
(1)查看bmc芯片信息

ipmitool mc info

(1)重启BMC

👍重启BMC带外管理,可解决BMC卡死、长时间运行出现异常BUG等 错误

1
2
3
4
# 冷重启
ipmitool mc reset cold
# 热重启
ipmitool mc reset warm

四、总结

本文简单介绍了bmc、ipmi的概念以及最常用的ipmitool指令,需要注意的是,实际操作可能因不同厂商和设备而有所差异,建议在使用前参考相关文档和手册。

参考文档

👍深入理解ipmitool:揭秘BMC与IPMI的智能服务器管理(带外管理)

https://github.com/ipmitool/ipmitool/blob/master/README

https://support.hpe.com/hpesc/public/docDisplay?docId=sd00002092zh_cn&docLocale=zh_CN&page=GUID-D7147C7F-2016-0901-06CE-000000000588.html