服务器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
相关推荐
C-cat.5 分钟前
Linux|进程程序替换
linux·服务器·microsoft
怀澈1227 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++
学Linux的语莫11 分钟前
Ansible Playbook剧本用法
linux·服务器·云计算·ansible
skywalk81631 小时前
树莓派2 安装raspberry os 并修改成固定ip
linux·服务器·网络·debian·树莓派·raspberry
co0t1 小时前
计算机网络(14)ip地址超详解
服务器·tcp/ip·计算机网络
淡水猫.1 小时前
Fakelocation Server服务器/专业版 ubuntu
运维·服务器·ubuntu
量子网络1 小时前
debian 如何进入root
linux·服务器·debian
时光の尘2 小时前
C语言菜鸟入门·关键字·float以及double的用法
运维·服务器·c语言·开发语言·stm32·单片机·c
我言秋日胜春朝★2 小时前
【Linux】进程地址空间
linux·运维·服务器
繁依Fanyi3 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse