Linux如何安装ipmitool,ipmitool常用命令有哪些?

在 Linux 系统中安装 ipmitool 的核心方法是通过系统包管理器(如 yum 或 apt)安装 ipmitool 软件包,并加载 ipmi_devintf 和 ipmi_si 内核模块,从而实现对服务器 BMC(基板管理控制器)的带外管理。

为什么服务器运维需要 ipmitool

在企业级数据中心运维中,带外管理(Out-of-Band Management)是保障硬件可用性的底线,业内专家指出,当服务器操作系统崩溃、内核恐慌(Kernel Panic)或网络配置错误导致远程 SSH 无法连接时,通过 BMC 芯片直接控制硬件是唯一的救命稻草。

底层运维-入门篇-远程管理03-ipmitool安装-windows
加载中
底层运维-入门篇-远程管理03-ipmitool安装-windows

ipmitool 是一个开源的命令行实用程序,它实现了 IPMI(智能平台管理接口)标准,通过该工具,运维人员无需物理接触服务器,即可在远程终端完成以下操作:

  • 强制重启或关机服务器。
  • 查看 CPU 温度、风扇转速、电源状态等传感器数据。
  • 配置 BMC 的网络 IP 地址、子网掩码和网关。
  • 远程挂载 ISO 镜像安装操作系统。
  • 查看硬件错误日志(SEL)。

行业共识认为,掌握 ipmitool 的安装与配置是 Linux 系统工程师在处理物理服务器时的必备技能,尤其是在管理大规模 x86 服务器集群时,其效率远高于手动进入 BIOS 或使用厂商自带的图形化 Web 界面。

CentOS 7 安装 ipmitool 怎么操作

在 RHEL 及其衍生版本(如 CentOS 7, Rocky Linux, AlmaLinux)中,ipmitool 包含在标准仓库中,安装过程相对简单,但关键在于内核驱动的加载。

安装步骤

  • 使用 yum 安装软件包:
    yum install -y ipmitool
  • 加载必要的内核模块:
    ipmitool 需要与底层硬件通信,必须加载 ipmi_si(系统接口)和 ipmi_devintf(设备接口)驱动。
    modprobe ipmi_si
    modprobe ipmi_devintf
  • 设置开机自动加载:
    为了避免重启后工具失效,需要将模块写入配置文件。
    echo "ipmi_si" >> /etc/modules-load.d/ipmi.conf
    echo "ipmi_devintf" >> /etc/modules-load.d/ipmi.conf

验证安装状态

安装完成后,可以通过尝试读取本地 BMC 信息来验证是否成功:
ipmitool lan print 1

如果输出显示了 IP 地址、MAC 地址等详细信息,说明安装成功且驱动正常,如果提示 Could not open device at /dev/ipmi0

Linux如何安装ipmitool,ipmitool常用命令有哪些?

,通常是因为 ipmi_si 驱动未正确加载或硬件不支持 IPMI 2.0 标准。

Ubuntu ipmitool 安装与配置教程

Debian 系发行版(如 Ubuntu 20.04, 22.04)的安装逻辑与 CentOS 类似,但在包管理和驱动加载习惯上略有不同。

安装流程

  • 更新软件源并安装:
    sudo apt-get update
    sudo apt-get install -y ipmitool
  • 检查驱动状态:
    Ubuntu 通常在安装 ipmitool 时会自动尝试加载相关模块,但建议手动确认:
    lsmod | grep ipmi
  • 若未加载,执行以下命令:
    sudo modprobe ipmi_devintf
    sudo modprobe ipmi_si

远程管理配置

在 Ubuntu 环境下,很多场景需要通过一台管理机控制另一台物理机,此时不需要加载本地驱动,而是使用远程模式。

  • 远程连接基本语法:
    ipmitool -I lanplus -H [BMC_IP] -U [用户名] -P [密码] [命令]
  • 示例:远程重启服务器
    ipmitool -I lanplus -H 192.168.1.100 -U admin -P password power reset

ipmitool 核心实操命令详解

安装完成后,实际应用场景主要分为本地操作(Local)和远程操作(Remote)。

硬件状态监控

通过 ipmitool 可以实时获取服务器的物理健康状况,这在排查硬件故障时至关重要。

  • 查看所有传感器状态:
    ipmitool sensor list
    该命令会列出所有温度、电压、风扇转速。重点关注状态为 “crit”(危急)或 “non-rec”(不可恢复)的项。
  • 查看系统事件日志(SEL):
    ipmitool sel list
    通过日志可以快速定位是否发生了内存 ECC 错误或电源模块失效。
  • 清除事件日志:
    ipmitool sel clear

电源管理操作

这是 ipmitool 最常用的功能,支持在系统死机时强制干预。

  • 查看当前电源状态:
    ipmitool power status
  • 强制关机:
    ipmitool power off
  • 强制开机:
    ipmitool power on
  • 软重启(类似按下重启键):
    ipmitool power reset

BMC 网络配置

在服务器初始化部署阶段,通常需要通过本地 shell 配置 BMC 的静态 IP,以便后续远程管理。

  • 设置静态 IP 地址:
    ipmitool lan set 1 ipaddr 192.168.1.100

    Linux如何安装ipmitool,ipmitool常用命令有哪些?

  • 设置子网掩码:
    ipmitool lan set 1 netmask 255.255.255.0
  • 设置默认网关:
    ipmitool lan set 1 defgw ipaddr 192.168.1.1
  • 设置 BMC 用户名和密码(假设用户 ID 为 2):
    ipmitool user set password 2 "NewPassword123"

本地访问与远程访问对比分析

为了方便运维人员选择操作方式,下表对比了两种访问模式的区别:

维度 本地访问 (Local) 远程访问 (Remote/LAN)
通信路径 通过 KCS 接口直接访问 BMC 通过网络接口 (LAN) 访问 BMC
驱动依赖 必须加载 ipmi_si 等内核模块 无需本地驱动,仅需网络通畅
权限要求 需要 root 权限执行 需要 BMC 账号密码
适用场景 操作系统内配置、驱动调试 远程开关机、远程监控、死机恢复
速度/稳定性 极高,不受网络波动影响 取决于管理网络质量

ipmitool 无法连接 BMC 怎么办

在实际安装和使用过程中,经常会遇到连接失败的问题,根据近年来大量运维案例统计,故障原因通常集中在以下三个方面。

驱动加载失败

如果执行本地命令时提示 Could not open device,请检查 /dev/ipmi0 是否存在。

  • 解决方法:重新执行 modprobe ipmi_si,如果报错,请检查主板 BIOS 中是否禁用了 IPMI 功能。

认证失败 (Authentication Error)

远程连接时出现 Authentication type 17 not supportedInvalid user name or password

  • 解决方法:
  • Linux如何安装ipmitool,ipmitool常用命令有哪些?

  • 确认使用了 -I lanplus 参数,IPMI 2.0 标准要求使用 lanplus 协议,而默认的 lan 协议仅支持 1.5 版本。
  • 检查 BMC 用户权限是否为 “Administrator”。

网络不通或防火墙拦截

BMC 运行在独立的管理网口上,而非业务网口。

  • 解决方法:
  • 使用 ping 测试 BMC IP 是否可达。
  • 检查管理网络交换机是否划分了正确的 VLAN。
  • 确认防火墙是否放行了 UDP 623 端口(IPMI 标准端口)。

从 IPMI 到 Redfish 的行业演进

虽然 ipmitool 依然是目前最普及的工具,但行业共识认为,IPMI 协议由于安全性较低(如密码传输加密强度不足)且配置复杂,正逐渐被 Redfish 标准取代。

Redfish 是由 DMTF 组织推出的新一代管理标准,它采用了 RESTful API 架构,使用 JSON 格式传输数据,可以通过简单的 curl 命令或 Python 脚本进行调用,相比 ipmitool,Redfish 提供了更强大的资源模型和更好的安全性,但在大多数存量服务器中,ipmitool 依然是最高效的快速诊断工具。

在 Linux 上安装 ipmitool 仅需简单的包管理操作与驱动加载,其核心价值在于为物理服务器提供了一套独立于操作系统的底层控制手段。

ipmitool linux 安装相关 Q&A

在虚拟化环境(如 VMware, KVM)中能安装 ipmitool 吗?

不能,ipmitool 依赖于物理主板上的 BMC 硬件芯片和 KCS 接口,虚拟机没有真实的 BMC 硬件,因此无法加载 ipmi_si 驱动,执行本地命令会报错,但你可以在虚拟机中安装 ipmitool,通过远程模式(-I lanplus)去管理外部的物理服务器。

安装 ipmitool 后执行命令需要 root 权限吗?

是的,无论是本地访问 /dev/ipmi0 设备文件,还是修改系统内核模块,都需要 root 权限,建议使用 sudo 或直接在 root 用户下操作。

ipmitool 能够解决服务器死机后的自动重启吗?

ipmitool 本身是一个手动工具,不能直接实现自动重启,但你可以结合 BMC 的 “Watchdog Timer”(看门狗定时器)功能,通过 ipmitool 配置看门狗,当操作系统在指定时间内没有给 BMC 发送“心跳”信号时,BMC 会认为系统已死机并自动触发硬件重启。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/488674.html

(0)
Linux epoll模型高效吗?,epoll原理是什么?
上一篇 2026年7月12日 21:17
虚拟主机管理面板怎么选才不踩坑?免费面板与付费面板区别
下一篇 2026年6月17日 20:41

相关推荐

  • 驰为linux怎么用?驰为linux系统安装教程

    “驰为”(Chuwi)是一家知名的中国消费电子品牌,主要以生产平板电脑、迷你主机(Mini PC)、笔记本电脑和电子书阅读器而闻名,近年来,随着 Linux 生态在开发者、极客和教育领域的普及,驰为推出了一系列预装或兼容 Linux 操作系统的设备,主要面向对隐私、开源软件或特定开发环境有需求的用户,以下是关于……

    2026年7月12日
    17300
  • Linux下cmake如何编译opencv?opencv编译安装教程

    在Linux环境下使用CMake构建OpenCV项目,核心在于正确配置CMakeLists.txt并链接opencv_core等基础库,通过find_package(OpenCV REQUIRED)指令即可实现跨平台编译,Linux下CMake与OpenCV的集成逻辑很多开发者在初次接触计算机视觉开发时,往往会……

    2026年7月9日
    16400
  • Screen Linux下载失败怎么办,Linux Screen工具安装教程

    screen 是一个在 Linux 终端中非常有用的全屏窗口管理器,允许你断开连接后保持后台进程运行,以下是针对不同 Linux 发行版的 screen 下载(安装)方法:基于 Debian/Ubuntu 的系统打开终端,输入以下命令:sudo apt updatesudo apt install screen……

    2026年7月10日
    13400
  • Python GDAL在Linux上怎么安装?gdal库安装教程

    在Linux环境下使用Python进行GDAL开发,核心在于通过源码编译或Conda环境解决C++依赖库的链接问题,推荐优先使用Conda或Docker容器化方案以规避复杂的系统级配置,地理空间数据处理的基石往往建立在复杂的底层依赖之上,而Linux作为服务器端的主流操作系统,其环境配置的严谨性既是优势也是痛点……

    2026年7月4日
    18110
  • linux引导参数怎么配置?linux系统启动参数详解

    Linux 引导参数是内核启动时的“指令集”,通过修改 /boot/grub/grub.cfg 或 /etc/default/grub 中的 GRUB_CMDLINE_LINUX 变量,即可精准控制硬件初始化、内核行为及系统启动流程,无需重装系统即可解决绝大多数底层兼容性问题,理解 Linux 引导参数,就像是……

    2026年7月5日
    18100
  • linux安装lapack报错怎么办?linux安装lapack和blas

    在 Linux 系统中安装 LAPACK(Linear Algebra PACKage)通常有几种方式,具体取决于你的需求:是只需要运行时库(用于运行程序),还是需要编译库(用于开发或编译自己的代码),亦或是需要高性能的 BLAS/LAPACK 实现(如 OpenBLAS、MKL),以下是几种常见且推荐的方法……

    2026年7月9日
    15000
  • 如何在Linux下打开Matlab?linux系统安装matlab教程

    在Linux系统中打开MATLAB,最标准且高效的方式是通过终端执行matlab命令启动图形界面,或通过matlab -nodesktop -r “command”模式运行脚本,具体操作取决于你是否需要交互界面以及运行环境的配置情况,对于许多从Windows迁移到Linux的工程师和科研人员来说,MATLAB不……

    2026年7月6日
    8100
  • Linux和cmd哪个好用?Linux常用命令大全

    Linux和CMD的核心区别在于底层架构与开放程度:Linux基于Unix内核,拥有强大的命令行生态和极高的安全性,适合服务器开发与高级运维;CMD则是Windows内置的命令提示符,界面简单直观,主要服务于日常系统维护和轻量级任务,两者并非替代关系,而是针对不同使用场景的最佳工具,底层逻辑与交互体验的本质差异……

    2026年7月4日
    18300
  • telnet连接Linux为何乱码?Linux系统乱码怎么解决

    Telnet连接Linux出现乱码的核心原因通常是客户端与服务端的字符编码不一致,或终端仿真类型设置错误,通过统一设置为UTF-8编码并修正终端类型即可彻底解决,当你兴冲冲地通过Telnet登录到远程Linux服务器,屏幕上却跳出一堆看不懂的符号或方块时,这种挫败感非常真实,这并非系统崩溃,而是沟通层面的“语言……

    2026年7月10日
    11800
  • Linux如何使用TeamViewer?远程桌面连接软件怎么安装

    在 Linux 系统上使用 TeamViewer 进行远程控制或连接,主要涉及两个场景:作为被控端(Host)(即让其他电脑控制你的 Linux 电脑)和 作为控制端(Client)(即你的 Linux 电脑去控制其他电脑),以下是详细的安装和配置指南: 安装 TeamViewerTeamViewer 官方提供……

    2026年7月12日
    7100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注