ipmitool 是运维人员远程管理服务器硬件的核心工具,学会它你就能在不开箱的情况下完成电源控制、传感器监测和系统重装。
ipmitool 远程管理服务器 设置步骤
安装 ipmitool 的两种方式
在主流 Linux 发行版中,安装 ipmitool 只需一条命令:
- CentOS/RHEL 系列:
yum install ipmitool -y - Ubuntu/Debian 系列:
apt install ipmitool -y - 如果系统没有预装,需要先加载内核模块:
modprobe ipmi_msghandler ipmi_devintf ipmi_si
安装完成后,通过 ipmitool -V 验证版本。确保 IPMI 驱动已加载,否则命令会返回”Could not open device at /dev/ipmi0″。
配置 IPMI 网络参数
大多数服务器主板默认 IPMI 使用专用网口,需要设置独立 IP,通过 ipmitool 快速配置兰口参数:
ipmitool lan set 1 ipsrc static设为静态ipmitool lan set 1 ipaddr 192.168.1.100设置 IPipmitool lan set 1 netmask 255.255.255.0设置子网掩码ipmitool lan set 1 defgw ipaddr 192.168.1.1设置网关- 启用 DHCP 则用
ipmitool lan set 1 ipsrc dhcp
配置完成后,用 ipmitool lan print 1 查看当前配置。务必重启 IPMI 服务:ipmitool mc reset cold。
常用命令实战
当服务器出现异常时,远程操作是第一选择,以下命令覆盖日常运维需求:
- 查看电源状态:
ipmitool power status - 远程开机:
ipmitool power on - 远程关机:
ipmitool power off - 冷重启:
ipmitool power cycle - 查看传感器:
ipmitool sensor list列出所有温度、电压、风扇转速 - 查看系统事件日志:
ipmitool sel list排查硬件故障原因
举个例子,如果你接到机房告警,立刻用 ipmitool power status 确认服务器是否死机,然后通过 ipmitool power cycle 尝试重启,整个过程无需进入机房。
ipmitool 和 iLO 对比 哪个更适合你
对于服务器远程管理,不同厂商提供专有方案,如 HP 的 iLO、Dell 的 iDRAC、Supermicro 的 IPMI,ipmitool 作为开源标准工具,与它们有什么区别?
功能差异
| 功能 | ipmitool | 厂商专有(iLO/iDRAC) |
|---|---|---|
| 基本电源控制 | 支持 | 支持 |
| 传感器监控 | 支持,基础 | 支持,更详细 |
| 远程控制台 | 通过 SOL 实现 | 内嵌 HTML5 或 Java 控制台 |
| 虚拟介质 | 不支持 | 支持挂载 ISO |
| 许可证费用 | 免费 | 高级功能需购买许可 |
ipmitool 基于标准 IPMI 规范,底层与厂商实现一致,但上层功能如虚拟介质和 web 控制台需要额外工具。
成本与场景选择
- 预算有限:ipmitool 完全免费,适合中小企业和个人实验室。
- 多厂商环境:统一使用 ipmitool 管理不同品牌服务器,降低学习成本。
- 高级功能需求:如果需要远程挂载 ISO 安装系统,厂商专有工具更便捷。
业内专家指出,在混合服务器环境中,ipmitool 作为基础管理工具不可或缺,专有工具则用于补充高级功能。
解决服务器死机问题的 ipmitool 命令
服务器死机是最常见的故障场景,ipmitool 能让你快速恢复。
冷重启与强制关机
当操作系统无响应时,普通命令无法执行,但 IPMI 独立于系统运行:
- 强制关机:
ipmitool power off切断电源 - 冷重启:
ipmitool power cycle关闭再启动 - 如果仍无法恢复,尝试
ipmitool chassis power reset硬件复位
注意:power cycle 会先关闭电源,等待几秒后再开启,比 power reset 更彻底。
查看硬件传感器辅助判断
在重启前,先查看传感器数据,判断是否因过热或硬件故障导致死机:
ipmitool sensor list | grep -i temp查看温度
ipmitool sensor list | grep -i fan查看风扇转速ipmitool sensor list | grep -i volt查看电压
如果温度异常,先检查散热,再决定是否重启,据统计,相当一部分服务器死机是由温度过高引起,IPMI 传感器数据能提供关键线索。
ipmitool 命令大全与使用技巧
除了基本的电源和传感器,ipmitool 还提供丰富的管理功能。
电源控制
ipmitool power on/off/cycle/status/reset覆盖所有电源操作- 使用
ipmitool chassis power soft模拟物理按钮按下(发送 ACPI 关机信号)
传感器监测
ipmitool sensor get "CPU Temp"查看单个传感器- 设置阈值:
ipmitool sensor thresh "CPU Temp" lower 0 0 0 0或调整上限 - 持续监控:
ipmitool sdr list或ipmitool sdr elist查看完整传感器数据记录
用户管理
- 查看用户列表:
ipmitool user list 1 - 添加用户:
ipmitool user set name 3 admin - 设置密码:
ipmitool user set password 3 admin123 - 启用用户:
ipmitool user enable 3 - 设置权限:
ipmitool channel setaccess 1 3 privilege=4
SOL 串口重定向
SOL(Serial Over LAN)让你通过 IPMI 获取系统串口输出,实现远程控制台:
- 激活 SOL:
ipmitool sol activate - 退出 SOL: 序列(按 ~ .)
- 设置 SOL 参数:
ipmitool sol set privilege-level admin
SOL 配合 ipmitool 能实现类似 iLO 控制台的效果,但需要系统支持串口重定向。
用 ipmitool 批量管理服务器
对于多台服务器,编写脚本批量操作能极大提升效率:
- 检查所有服务器电源状态:
for ip in $(cat ipmi_list.txt); do ipmitool -H $ip -U admin -P pass power status done - 批量重启:
for ip in $(cat ipmi_list.txt); do ipmitool -H $ip -U admin -P pass power cycle done - 收集所有传感器数据:
for ip in $(cat ipmi_list.txt); do echo "=== $ip ===" ipmitool -H $ip -U admin -P pass sensor list done
注意:在脚本中使用明文密码存在安全风险,建议使用 ipmitool 的 -I 接口选项或配置文件。
ipmitool 安全性配置建议
IPMI 默认配置可能存在安全漏洞,以下措施可以加强防护:
- 修改默认密码:立即更改 admin 或 root 密码。
- 限制访问 IP:通过
ipmitool lan set 1 access on和ipmitool lan set 1 allowedip设置允许的 IP 地址范围。 - 禁用不需要的协议:如关闭 HTTP 接口,只保留 RMCP+。
- 使用加密通道:ipmitool 支持
-I lanplus接口,使用加密通信。
行业共识认为,IPMI 安全是服务器管理的重要环节,忽视它可能导致服务器被远程控制。
ipmitool 是运维工具箱中的必备利器,掌握它能够显著提升服务器远程管理效率,减少机房奔波,从安装配置到日常命令,再到故障排查,ipmitool 覆盖了大部分硬件管理需求,结合专有工具,你能构建完整的远程管理方案。
ipmitool 常见问题解答
ipmitool 怎么安装?
在 Linux 系统中,使用包管理器安装,CentOS 执行 yum install ipmitool,Ubuntu 执行 apt install ipmitool,安装后需加载内核模块 modprobe ipmi_msghandler ipmi_devintf ipmi_si,并确保 ipmi 服务运行。
ipmitool 无法连接 IPMI 怎么办?
首先检查 IPMI 网络是否可达,使用 ping 测试 IPMI 地址,确认防火墙允许 UDP 623 端口,如果本地连接,尝试 ipmitool mc info 查看是否识别到 BMC,若仍失败,重启 IPMI 服务 ipmitool mc reset cold 或检查内核模块是否加载。
ipmitool 和 ipmicfg 有什么区别?
ipmitool 是开源通用工具,支持所有标准 IPMI 设备,而 ipmicfg 是 Supermicro 专有配置工具,仅用于 Supermicro 主板,ipmitool 命令更标准化,适合多厂商环境;ipmicfg 提供厂商特有的配置项,如 BIOS 更新,两者可以互补使用。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/556881.html




