服务器IPMI管理操作

简介:智能平台管理界面(IPMI,Intelligent Platform Management Interface)是管理基于 Intel® 结构的企业系统中所使用的外围设备采用的一种工业标准,用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。该标准由美国英特尔、惠普(Hewlett-Packard)、NEC、美国戴尔电脑和SuperMicro等公司制定。新的版本是IPMI2.0(http://www.intel.com/design/servers/ipmi/)。

新版本的IPMI可以通过串口、Modem以及Lan等远程环境管理服务器系统(包括远程开关机),同时在系统发生错误时能自动发出警告。要对服务器进行IPMI管理,需要被监控的系统具有支持IPMI的硬件设备。如果服务器具有底板管理控制器 (Baseboard Management Controller ,BMC),并且支持IPMI规范,则通过BMC与主机板上的不同传感器通信来监视系统是否有严重事件,并在某些参数超出其预置阈值时发出警报和日志事件。BMC具有以下功能:

● 通过系统的串行端口进行访问

● 故障日志记录和 SNMP 警报发送

● 访问系统事件日志 (System Event Log ,SEL) 和传感器状况

● 控制包括开机和关机

● 独立于系统电源或工作状态的支持

● 用于系统设置、基于文本公用程序和操作系统控制台的文本控制台重定向

● 使用 LAN访问 Red Hat® Enterprise Linux 串行控制台界面

简单来讲,IPMI是Intelligent Platform Management Interface
是一种开放标准的硬件管理系统接口,可以在服务器、计算机等设备中实现远程管理和监测。通过IPMI,系统管理员可以在不开机的情况下对硬件进行故障排查、电源控制、BIOS 配置管理、日志记录等操作。这样可以提高管理效率,并且在紧急情况下快速响应的能力。

OpenIPMI

OpenIPMI 是一个开源项目,旨在提供用于 IPMI 的开放源代码实现。它包括一组库和工具,允许访问基于 IPMI 的 BMC(Baseboard Management Controller)功能。OpenIPMI 提供了用于与 IPMI 设备通信的编程接口和命令行工具。

centos下可以直接使用yum安装的方式进行

bash 复制代码
yum -y install OpenIPMI

或者使用二进制离线安装

官方链接:https://sourceforge.net/projects/openipmi/

bash 复制代码
wget https://sourceforge.net/projects/openipmi/files/latest/download/OpenIPMI-2.0.34.tar.gz

tar -zxf OpenIPMI-2.0.34.tar.gz

./configure && make && make install

装完OpenIPMI后,启用IPMI服务 /etc/rc.d/init.d/ipmi start 一般如果内核支持的话,能正常启动

ipmitool

ipmitool 是一个命令行实用程序,用于与支持 IPMI 的硬件设备进行通信。它允许用户执行各种 IPMI 相关操作,如读取传感器数据、控制系统电源、重置系统等。ipmitool 是一个独立的工具,而不是库或框架。

centos下可以直接使用yum安装的方式进行

bash 复制代码
yum -y install ipmitool

二进制安装的方式有待探索,日后慢慢更新

区分

OpenIPMIipmitool 是两个不同的工具,但它们都涉及管理基于 IPMI 标准的服务器硬件。

OpenIPMI 是一个开源项目,提供了一整套 IPMI 功能的库和工具,可以用于编程接口和脚本化任务。它提供了更灵活的方式来与 IPMI 兼容硬件进行交互。

ipmitool 是一个命令行实用程序,用于在命令行界面下执行 IPMI 相关操作。它更适合于一次性或交互式任务,允许用户直接输入命令来执行特定的 IPMI 命令。

ipmi 操作

登录ipmi

bash 复制代码
ipmitool -I lanplus -H "192.168.10.13" -U "root" -P "password"

打印当前 lan 信息

bash 复制代码
ipmitool lan print 1

在系统内使用工具更改ipmi IP

bash 复制代码
ipmitool lan set 1 ipsrc static #设置ID 1 为静态IP
ipmitool lan set 1 ipaddr 192.168.1.2 #设置IPMI IP地址
ipmitool lan set 1 netmask 255.255.0.0 #设置IPMI 掩码
ipmitool lan set 1 defgw ipaddr 192.168.1.1 #设置IPMI网关

查看用户信息

bash 复制代码
ipmitool user list 1

修改id 2 的密码为 Password

bash 复制代码
ipmitool user set password 2 <newPassword>

查看电源状态

bash 复制代码
ipmitool chassis power status

关闭电源

bash 复制代码
ipmitool chassis power off

开启电源

bash 复制代码
ipmitool chassis power on

查看上次重启原因

bash 复制代码
ipmitool chassis power restart_cause

重启

bash 复制代码
ipmitool chassis power reset

列出服务器传感信息

bash 复制代码
ipmitool sensor

IPMI取得硬件信息

bash 复制代码
ipmitool fru print  | grep '^FRU.*(ID 0)' -A10

IPMI风扇控制

首先要关闭风扇自动调速功能,否则我们手动设置的转速是不会生效的。最后的 0x00 表示关闭自动调速 0x01 表示开启自动调速。

bash 复制代码
ipmitool -I lanplus -H 192.168.1.2 -U 'root' -P 'passwd' raw 0x30 0x30 0x01 0x00

关闭自动调速之后,我们就可以按照我们自己的意愿来调整转速了,我这边设置为10%

bash 复制代码
ipmitool -I lanplus -H 192.168.1.2 -U 'root' -P 'passwd' raw 0x30 0x30 0x02 0xff 0x20

最后的 0x20 表示转速的百分比的十六进制,0x20 表示32%(大约 6600RPM) 最大 0x64

设置完成后我们可以通过iDRAC管理页面查看设置的结果。

或者执行以下代码块

bash 复制代码
__fszs() {
#转换十进制为十六进制
hm=$(printf '%x' $1)
ipmitool raw 0x30 0x30 0x01 0x00 >/dev/null
ipmitool raw 0x30 0x30 0x02 0xff 0x$hm >/dev/null
}
__fszu 20
相关推荐
hgdlip2 分钟前
查看ip地址的方法有几种?探索多样方法
运维·服务器·ip地址
danplus28 分钟前
node发送邮件:如何实现Node.js发信功能?
服务器·node.js·外贸开发信·邮件群发·蜂邮edm邮件营销·邮件接口·营销邮件
BeyondESH42 分钟前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
wn53143 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
hanniuniu1344 分钟前
详细解读,F5服务器负载均衡的技术优势
运维·服务器·负载均衡
PatrickYao04221 小时前
记一次安装discuz时遇到的错误
服务器
小宋10213 小时前
玩转RabbitMQ声明队列交换机、消息转换器
服务器·分布式·rabbitmq
m0_609000423 小时前
向日葵好用吗?4款稳定的远程控制软件推荐。
运维·服务器·网络·人工智能·远程工作
kejijianwen5 小时前
JdbcTemplate常用方法一览AG网页参数绑定与数据寻址实操
服务器·数据库·oracle
Karoku0668 小时前
【网站架构部署与优化】web服务与http协议
linux·运维·服务器·数据库·http·架构