ipmitool 是什么
ipmitool 是访问服务器带外管理(IPMI/BMC)最通用的命令行工具,提供电源控制、传感器读取、事件日志与 FRU 信息查询。它有三种访问路径:面向新版 BMC 的 RMCP+(-I lanplus)、面向老设备的旧版 RMCP(-I lan)、以及加载内核模块后直接读本机管理控制器的 open 接口。日常远程排障基本只用 lanplus,因为新版固件通常已禁用旧版明文 cipher。
基本信息
| 安装包 | RHEL/CentOS: yum install ipmitool;Debian/Ubuntu: apt-get install ipmitool |
|---|---|
| 默认端口 | 623/udp(RMCP/RMCP+) |
| 远程参数 | -I 接口 -H BMC地址 -U 用户名 -f 密码文件 |
| 本地模式 | 加载 ipmi_si 后可直接执行 ipmitool sensor,无需 -H |
| 权限 | 本机 open 模式需要 root 与 /dev/ipmi0 设备 |
| 依赖 | BMC 固件需启用「IPMI over LAN」,部分厂商默认关闭 |
安装与远程连接
安装与远程连接
# RHEL/CentOS
yum install -y ipmitool
# Debian/Ubuntu
apt-get install -y ipmitool
# 远程连接(lanplus = RMCP+,支持加密与多会话)
ipmitool -I lanplus -H 10.0.0.10 -U admin -f /root/.ipmi_pass mc info
# 本机直连(先加载模块)
modprobe ipmi_si && ipmitool sensor | head三种接口对照
| -I 接口 | 协议 | 适用场景 |
|---|---|---|
| lanplus | RMCP+(IPMI 2.0) | 新版 BMC 的远程访问,支持加密与权限分级 |
| lan | RMCP(IPMI 1.5) | 老设备或固件只支持旧协议时使用,明文传输 |
| open | 本机设备接口 | 在服务器操作系统内直接读带外控制器 |
先做连通性判断
先做连通性判断
ping -c 2 10.0.0.10 # 管理网段是否可达
nc -vz -u 10.0.0.10 623 # udp 623 是否放行(-z 对 udp 依赖返回码,仅作参考)
ipmitool -I lanplus -H 10.0.0.10 -U admin -f /root/.ipmi_pass mc info | head -20
ipmitool -I lanplus -H 10.0.0.10 -U admin -f /root/.ipmi_pass lan print 1 # 看 BMC 网络配置密码直接写在命令行会进入 shell 历史与进程列表,可能被同机其他用户看到;脚本中统一用 -f 指定密码文件,并把文件权限设为 600。
不同厂商实现差异明显:有的 BMC 默认关闭 IPMI over LAN,有的只允许特定权限级别的账号走 lanplus,连不上时先查固件的管理接口设置与账号权限,再怀疑网络。