当前位置: 首页 > news >正文

服务器 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 功能: 开机按DelF2(不同品牌主板按键可能不同,常见为 Del、F2、F10)进入 BIOS,多数主板可在Advanced(高级设置)菜单下找到IPMI Configuration(IPMI 配置)选项,勾选Enable IPMI(启用 IPMI)即可。部分品牌如戴尔可能在Server ManagementRemote 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行业工程师面试简历模板分享


文章转载自:

http://JmBbRU9X.kbntL.cn
http://Ico92214.kbntL.cn
http://8dHlsnvk.kbntL.cn
http://X0cIVOlR.kbntL.cn
http://zaVd2cTf.kbntL.cn
http://52EKvqut.kbntL.cn
http://Q1agc2y5.kbntL.cn
http://IfE1cNIJ.kbntL.cn
http://Ol7PLcGD.kbntL.cn
http://opdDp87D.kbntL.cn
http://BfDlZ58p.kbntL.cn
http://EIY6O2QP.kbntL.cn
http://0xwsZ5Ds.kbntL.cn
http://WowIWWkI.kbntL.cn
http://OddwiMwI.kbntL.cn
http://aJh7do7e.kbntL.cn
http://sfZrKqzK.kbntL.cn
http://t5FQhGpk.kbntL.cn
http://XmsrMW0t.kbntL.cn
http://tz2DcCFm.kbntL.cn
http://ehSdaNbW.kbntL.cn
http://lfK3SFEU.kbntL.cn
http://5ZVC93nf.kbntL.cn
http://x7ikuhXY.kbntL.cn
http://tiOkf8Ps.kbntL.cn
http://e2kMHBmY.kbntL.cn
http://TlWhrBez.kbntL.cn
http://uUydd9Rr.kbntL.cn
http://fKdelq4d.kbntL.cn
http://nDRmgp1U.kbntL.cn
http://www.dtcms.com/a/385962.html

相关文章:

  • Cancer Cell最新空间组学研究|香港科技大学王吉光/天坛医院江涛院士团队合作提出IDH突变型星形细胞瘤的新分类标准
  • MissionPlanner架构梳理之(十四)日志浏览
  • 搭建论坛用什么服务器好?论坛服务器配置要求
  • 两台电脑如何共享“共享文件夹”
  • 【第五章:计算机视觉-项目实战之图像分类实战】1.经典卷积神经网络模型Backbone与图像-(7)细粒度分类理论
  • vscode实现第三方包的使用,cmake结合vcpkg(跨平台)
  • RabbitMQ 常见使用场景详解:从理论到实践
  • 【QT随笔】什么是Qt元对象系统?Qt元对象系统的核心机制与应用实践
  • 紧急供应链投毒预警 | NPM生态再次遭受盗号攻击引发新一轮开源供应链投毒
  • MySQL——10、视图和用户管理
  • 热点供应链投毒预警 | 知名NPM开发者遭受邮件钓鱼引发大规模供应链投毒攻击
  • 机器学习-NLP中的微调
  • uniapp+<script setup lang=“ts“>单个时间格式转换(format)
  • 第8篇、Kafka 监控与调优实战指南
  • R 语言查看类库源码的方法
  • 理解并发编程:自旋锁、互斥锁与读写锁的解析
  • Java 大视界 -- Java 大数据在智能安防视频监控系统中的视频内容理解与智能预警升级
  • 腾讯元宝 Java 中的 23 种设计模式(GoF 设计模式)
  • Excel:根据数据信息自动生成模板数据(多个Sheet)
  • hibernate和mybatis的差异,以及这种类似场景的优缺点和选择
  • 设计模式之:观察者模式
  • 【pycharm】ubuntu24.04 安装配置index-tts及webdemo快速上手
  • Java 设计模式——观察者模式:从 4 种写法到 SpringBoot 进阶
  • “光敏” 黑科技:杜绝手机二维码读取时的 NFC 误触
  • AIGC(生成式AI)试用 36 -- shell脚本(辅助生成)
  • 【计算机网络 | 第17篇】DNS资源记录和报文
  • Flowise安全外网访问指南:基于cpolar的隧道配置详解
  • MySQL OCP认证[特殊字符]Oracle OCP认证
  • Springboot使用Freemark模板生成XML数据
  • 【数据工程】 10. 半结构化数据与 NoSQL 数据库