服务器 IPMI 实战:从 BMC 认知到 ipmitool 命令行运维
对于有物理机的运维工作,是一定会接触到IPMI(智能平台管理接口)的。平时大家口头上叫的 BMC(基板管理控制器)则是其核心执行组件。在物理机的运维工作中,熟练掌握 ipmitool 工具的使用,能极大提升服务器远程监控、故障排查和批量管理的效率。
一、先搞懂:IPMI 与 BMC 究竟是什么?
我发现很多同行大佬搞不清楚二者的关系,甚至把二者搞反了。IPMI 是一种开放的硬件管理标准,它最大的优势在于独立于服务器操作系统—— 即便服务器未开机、操作系统崩溃或硬件(硬盘、内存等)出现故障,只要服务器主板通电且网络通畅,运维人员就能远程对服务器进行多种操作。一句话:IPMI理解为一个软件工具。
BMC是集成在主板上的专用微控制器。它通过主板上的传感器实时采集服务器物理状态(如 CPU 温度、风扇转速、电源电压等),同时提供远程开关机、重启、配置网络等控制功能,相当于给服务器装上了 “远程管家”。一句话:BMC理解为可以运行IPMI这个“软件的”硬件。
二、主流厂商 BMC 特色速览
下面简单介绍下我接触过的各大服务器厂商的BMC。市面上肯定不止这些品牌,但我没接触过的,就不好过多来吹牛了。
戴尔(Dell)- iDRAC:侧重全生命周期管理,支持虚拟控制台、远程固件更新和功耗封顶,适合企业级批量运维,比如它可以查询到所有的硬件日志,包括你打开机盖、通电、断电这些日志都会有保存,个人观点它的界面怪怪的,反正我用不习惯,想找个什么功能得半天,这跟我接触的比较少也有原因。
超微(Supermicro)- IPMI:兼容性强,标配独立管理端口,传感器监控维度丰富,支持 Redfish API,贴合中小机房实用需求。这个品牌我接触的最多,大概操作过2000多台,其实结合Ansible操作,1台跟2000台区别不大(仅指软件层的操作,物理层要维修、升级之类的还是挺累的,比如老板一句话所有机器升级内存,只能一台台去更换。当然,这是机房运维的工作,不属于这里讨论的范围了。)
华为 - iBMC:我只用过RH2288v2,当时刚接触服务器行业,对于它的iBMC没什么印象了,只记得当时使用它远程开关机(当时有一部分机器主板故障经常自己关机,等机房运维过去得老半天,于是用ipmi远程开机还是极方便的),其它功能用得比较少。
三、ipmitool 安装与使用(通用所有服务器硬件厂商)
ipmitool 是 Linux 下操作 IPMI 的命令行工具,支持绝大多数服务器主板的 IPMI 功能。以下操作涵盖运维核心场景,适用于主流服务器型号。
主流 Linux 发行版可通过包管理器直接安装:
# Debian/Ubuntu系统
apt update && apt install -y ipmitool
# RHEL/CentOS 7系统
yum install -y ipmitool
# RHEL/CentOS 8/Fedora系统
dnf install -y ipmitool
使用前提: 使用前需确保服务器主板已完成以下设置(首次需在服务器本地操作,机房运维同事会帮弄好的),下面的操作我们大概了解就行,当然也有很多小公司的运维是软硬件都要操作的,妥妥的牛马呀:
启用 IPMI 功能: 开机按Del
或F2
(不同品牌主板按键可能不同,常见为 Del、F2、F10)进入 BIOS,多数主板可在Advanced
(高级设置)菜单下找到IPMI Configuration
(IPMI 配置)选项,勾选Enable IPMI
(启用 IPMI)即可。部分品牌如戴尔可能在Server Management
或Remote Access
菜单中设置。
配置网络: 可选择 专用 IPMI 端口
(推荐,独立于业务网)或 共享网口
,在 IPMI 配置菜单中设置 IP 地址、子网掩码和网关。多数服务器默认用户名为:ADMIN,密码为 ADMIN、root 或主板 / 服务器机身标签上的初始密码。
测试连通性:在运维机上通过ping IPMI_IP地址确认网络通畅,同时确保防火墙开放 UDP 623 端口(IPMI 默认端口)。
核心操作:服务器 ipmitool 命令实战
远程连接与基础状态查看:连接服务器 IPMI 控制器的核心参数为-H(IPMI IP)、-U(用户名)、-P(密码),后续命令均需携带这三个参数(如果你直接用显示器操作当前主机,则不需要)。
# 查看服务器IPMI电源状态(最常用)
ipmitool -H 192.168.1.100 -U ADMIN -P Password chassis power status
# ipmi远程正常关机,要确保 -I lanplus,因为很多 BMC(比如 Supermicro、Dell iDRAC、HP iLO)都要求使用 lanplus。
ipmitool -I lanplus -H <BMC_IP> -U <用户名> -P <密码> chassis power soft
# ipmi远程强制关机
ipmitool -I lanplus -H <BMC_IP> -U <用户名> -P <密码> chassis power off
# 查看BMC固件版本(判断是否需要升级)
ipmitool -H 192.168.1.100 -U ADMIN -P Password mc info
# 查看主板FRU信息(型号、序列号等硬件标识)
ipmitool -H 192.168.1.100 -U ADMIN -P Password fru print 0
# ipmi远程查看服务器日志
ipmitool -I lanplus -H <BMC_IP> -U <用户名> -P <密码> sel list
电源远程控制(应急必备),绝大多数服务器支持以下电源操作,需根据场景选择:
# 开机(服务器处于关机状态时使用)
ipmitool -H 192.168.1.100 -U ADMIN -P Password chassis power on
# 优雅关机(操作系统正常时,类似执行shutdown命令)
ipmitool -H 192.168.1.100 -U ADMIN -P Password chassis power soft
# 强制关机(仅当操作系统崩溃时使用,慎用!)
ipmitool -H 192.168.1.100 -U ADMIN -P Password chassis power off
# 强制重启(类似按电源键重启)
ipmitool -H 192.168.1.100 -U ADMIN -P Password chassis power reset
传感器监控(故障排查关键),主流服务器主板内置丰富传感器,可通过 ipmitool 实时查看硬件健康状态:
# 查看所有传感器(温度、风扇、电压等,输出较长)
ipmitool -H 192.168.1.100 -U ADMIN -P Password sensor list
# 过滤查看CPU温度(多数服务器显示CPU1 Temp、CPU2 Temp等标识)
ipmitool -H 192.168.1.100 -U ADMIN -P Password sensor list | grep -i "cpu.*temp"
# 查看风扇转速(判断风扇是否故障,单位:RPM)
ipmitool -H 192.168.1.100 -U ADMIN -P Password sensor list | grep -i fan
# 查看电源电压(重点关注12V、5V、3.3V是否稳定)
ipmitool -H 192.168.1.100 -U ADMIN -P Password sensor list | grep -i voltage
IPMI 网络配置(远程修改管理地址),若需调整服务器 IPMI 的网络参数,无需本地操作,直接通过命令修改(多数服务器网口编号为 1),请注意,这一步也是需要前提已经在BIOS上开通了IPMI:
# 查看当前网络配置(确认网口编号)
ipmitool -H 192.168.1.100 -U ADMIN -P Password lan print 1
# 设置为静态IP(默认可能为DHCP,推荐静态)
ipmitool -H 192.168.1.100 -U ADMIN -P Password lan set 1 ipsrc static
# 修改IP地址、子网掩码、网关
ipmitool -H 192.168.1.100 -U ADMIN -P Password lan set 1 ipaddr 192.168.1.101
ipmitool -H 192.168.1.100 -U ADMIN -P Password lan set 1 netmask 255.255.255.0
ipmitool -H 192.168.1.100 -U ADMIN -P Password lan set 1 defgw ipaddr 192.168.1.1
用户与权限管理(安全加固),服务器默认用户权限过高,建议创建专用运维用户:
# 查看当前用户列表(确认用户编号,1通常为默认管理员)
ipmitool -H 192.168.1.100 -U ADMIN -P Password user list
# 创建新用户(以用户编号3为例)
ipmitool -H 192.168.1.100 -U ADMIN -P Password user set name 3 opsuser
ipmitool -H 192.168.1.100 -U ADMIN -P Password user set password 3 Ops@123456
ipmitool -H 192.168.1.100 -U ADMIN -P Password user enable 3
# 修改默认管理员密码(必须做!避免安全风险)
ipmitool -H 192.168.1.100 -U ADMIN -P Password user set password 1 新密码(一定记得要复杂一点呀)
本地操作技巧(机房现场运维):若直接在服务器本地操作,无需输入 IP 和密码(看到这里应该明白了,如果忘记密码,可以通过上面提到的修改密码的方法,直接在本地上操作!这个功能,机房运维肯定、一定100%会用得上):
# 加载IPMI内核模块(部分Linux系统默认未加载)
modprobe ipmi_devintf && modprobe ipmi_si
# 本地查看电源状态
ipmitool chassis power status
# 本地查看传感器
ipmitool sensor list
#忘记ipmi密码且机器不能重启进入BIOS的情况下重置ipmi密码:
ipmitool user list 1 查看需要修改用户名的ID;
ipmitool user set password <上面这步查到的userid> <新密码>
#注意有些品牌对密码复杂度会检查,如果不符合条件,会修改不成功但又不提示的,所以最好是设置复杂度高一点的密码。
最后说下ipmi安全问题,这个很容易被忽略,但一旦出问题,那真是大问题了!你想象一下,你管理的几百上千台物理服务器,被人随意关机开机,那你不得脱层皮啊!
首先,简单密码极易被猜到,实际的工作中,经常遇到把ipmi密码设置为123456(全民密码呀,哈哈),一定要设置复杂度高的密码,这个跟操作系统的密码一样的道理。其次,有条件的话,最好定期检查更新BMC 固件,使用ipmitool mc upgrade firmware 固件文件.bin升级,修复已知漏洞。最好做网络隔离,将 IPMI 网络与业务网络物理隔离,仅开放运维机 IP 访问,我们机房的机器就是这样分开的,业务网络和ipmi网络分别布线的,这样极大的降低被攻击风险。
最后啰嗦总结一句:ipmitool 是我们运维牛马的牛逼武器,从远程开关机、传感器监控到网络配置,几乎覆盖了所有硬件管理场景,上面的很多操作,其实是有WEB页面的,但篇幅所限加上我不太喜欢去WEB面操作,也就不在这里讨论了。但不可否认有时候鼠标点点点也是挺方便的,感兴趣的朋友可以自行研究哈。
🔥运维干货分享
-
我的站点:www.byteooo.cn
-
软考高级系统架构设计师备考学习资料
-
软考中级数据库系统工程师学习资料
-
软考高级网络规划设计师备考学习资料
-
软考高级系统规划与管理师
-
软考中级系统集成项目管理师
-
Kubernetes CKA认证学习资料分享
-
AI大模型学习资料合集
-
免费文档翻译工具(支持word、pdf、ppt、excel)
-
PuTTY中文版安装包
-
MobaXterm中文版安装包
-
pinginfoview网络诊断工具中文版
-
Xshell、Xsftp、Xmanager中文版安装包
-
Typora简单易用的Markdown编辑器
-
Window进程监控工具,能自动重启进程和卡死检测
-
Spring 源码学习资料分享
-
毕业设计高质量毕业答辩 PPT 模板分享
-
IT行业工程师面试简历模板分享