跳转至

03-自动化装机工具-ipmitool

IPMI简介

IPMI是什么

IPMI是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准, 该标准由英特尔、惠普、NEC、美国戴尔电脑和SuperMicro等公司制定。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。 而且更为重要的是IPMI是一个开放的免费标准,用户无需为使用该标准而支付额外的费用。 IPMI针对大量监控、控制和自动回复服务器的作业,提供了智能型的管理方式。 此标准适用于不同的服务器拓朴学,以及Windows、Linux、 Solaris、Mac或是混合型的操作系统。 此外,由于IPMI可在不同的属性值下运作,即使服务器本身的运作不正常,或是由于任何原因而无法提供服务,IPMI仍可正常运作。 IPMI的核心是一个专用芯片/控制器(叫做服务器处理器或基板管理控制器(BMC)。 不依赖于服务器的处理器、BIOS或操作系统来工作,非常独立。 是一个单独在系统内运行的无代理管理子系统。 只要有BMC与IPMI固件其便可开始工作, 而BMC通常是一个安装在服务器主板上的独立的板卡,现在也有服务器主板提供对IPMI支持的。 克服了以往基于操作系统的管理方式所受的限制,例如操作系统不响应或未加载的情况下其仍然可以进行开关机、信息提取等操作。 在工作时,所有的IPMI功能都是向BMC发送命令来完成的,命令使用IPMI规范中规定的指令,BMC接收并在系统事件日志中记录事件消息,维护描述系统中传感器情况的传感器数据记录。在需要远程访问系统时,IPMI新的LAN上串行(SOL)特性很有用。SOL改变IPMI会话过程中本地串口传送方向,从而提供对紧急管理服务、Windows专用管理控制台或Linux串行控制台的远程访问。BMC通过在LAN上改变传送给串行端口的信息的方向来做到这点,提供了一种与厂商无关的远程查看启动、操作系统加载器或紧急管理控制台来诊断和维修故障的标准方式。

IPMI工作原理

Serial Over LAN (SOL)是: 路接口协议(SLIP)基于TCP/IP的早期调制解调器协议,相对简单,局限性较大。 当需要对系统文本控制台进行远程访问时,Serial Over LAN (SOL)/ 串行局域网协议功能/ 将非常有用。SOL 通过 IPMI 会话重定向本地串行接口,允许远程访问 Windows 的紧急事件管理控制台 (EMS) 特殊管理控制台 (SAC),或访问 LINUX 串行控制台。这个过程的步骤是 IPMI 固件截取数据,然后通过局域网重新发送定向到串行端口的信息。 这就提供了远程查看 BOOT、OS 加载器或紧急事件管理控制台以诊断并修复服务器相关问题的标准方法,而无需考虑供应商。它允许在引导阶段配置各种组件。 而在命令传输的安全性方面,用户也无需担心,IPMI增强的认证(基于安全哈希算法1和基于密钥哈希消息认证)和加密(高级加密标准和Arcfour)功能有助于实现安全的远程操作。对VLAN的支持更是为设置管理专用网络提供了方便,并且可以以通道为基础进行配置。

IPMI可以实现以下功能

1.可以在服务器通电(没有启动操作系统)情况下,对它进行远程管理:开机,关机,重启、 2.基于文本的控制台重定向,可以远程查看和修改bios设置,系统启动过程,登入系统等 3.可以远程通过sol连接服务器,解决ssh服务无法访问,远程安装系统,查看系统启动故障等问题 4.可以通过系统的串行端口进行访问 5.故障日志记录和 SNMP 警报发送,访问系统事件日志 (System Event Log ,SEL) 和传感器状况

安装配置(物理机)

安装(物理机的安装方式)

yum -y install ipmitool

加载模块

modprobe ipmi_watchdog ; modprobe ipmi_poweroff ; modprobe ipmi_devintf ; modprobe ipmi_si 
[root@172e18 ~]# lsmod | grep ipmi ####查看模板
ipmi_si 53456 0
ipmi_devintf 17572 0
ipmi_msghandler 46608 2 ipmi_devintf,ipmi_si

测试

[root@172e18e211e32 ~]# ipmitool chassis power status
Chassis Power is on

安装配置(虚拟机)

上传准备好的ipmitool包

ipmitool

讲软件包复制到对应的目录

\cp ipmitool /usr/bin/ipmitool

加载模块

modprobe ipmi_watchdog ; modprobe ipmi_poweroff ; modprobe ipmi_devintf ; modprobe ipmi_si 

执行结果如下

[root@linux-bkce-node12 ~]# ipmitool 
No command provided!
Commands:
    raw           Send a RAW IPMI request and print response
    i2c           Send an I2C Master Write-Read command and print response
    spd           Print SPD info from remote I2C device
    lan           Configure LAN Channels
    chassis       Get chassis status and set power state
    power         Shortcut to chassis power commands
    event         Send pre-defined events to MC
    mc            Management Controller status and global enables
    sdr           Print Sensor Data Repository entries and readings
    sensor        Print detailed sensor information
    fru           Print built-in FRU and scan SDR for FRU locators
    gendev        Read/Write Device associated with Generic Device locators sdr
    sel           Print System Event Log (SEL)
    pef           Configure Platform Event Filtering (PEF)
    sol           Configure and connect IPMIv2.0 Serial-over-LAN
    tsol          Configure and connect with Tyan IPMIv1.5 Serial-over-LAN
    isol          Configure IPMIv1.5 Serial-over-LAN
    user          Configure Management Controller users
    channel       Configure Management Controller channels
    session       Print session information
    dcmi          Data Center Management Interface
    sunoem        OEM Commands for Sun servers
    kontronoem    OEM Commands for Kontron devices
    picmg         Run a PICMG/ATCA extended cmd
    fwum          Update IPMC using Kontron OEM Firmware Update Manager
    firewall      Configure Firmware Firewall
    delloem       OEM Commands for Dell systems
    shell         Launch interactive IPMI shell
    exec          Run list of commands from file
    set           Set runtime variable for shell and exec
    hpm           Update HPM components using PICMG HPM.1 file
    ekanalyzer    run FRU-Ekeying analyzer using FRU files
    ime           Update Intel Manageability Engine Firmware

基本使用

使用规范

方式 接口 IPMI驱动 对应参数 特点
本地调用 本地操作系统 OpenIPMI -I open 通过系统内核提供接口与BMC通信
远程调用 网络 无需安装 -I lan(plus) 通过网络以UDP报文形式与BMC通信

各品牌服务器对于Ipmitool的支持

worddavb4e22cca95707fd3517072404dabda61

Ipmitool本地监控使用命令:ipmitool –I open command,其中-I open表示使用OpenIPMI接口,command有以下项: lan #网络相关 例如:设置IP 添加用户 chassis #电源状态,启动方式 power #底盘功率命令:status,上,下,周期,复位,诊断,软 sdr #打印传感器的信息 sensor #输出详细的服务器硬件信息 fru #获取厂家信息 生产日期 ........................... .............................. .....................................此处仅列举经常用的 Ipmitool –I open sensor thresh 设置ID值等于id的监测项的各种限制值。Ipmitool –I open chassis status 查看底盘状态,其中包括了底盘电源信息,底盘工作状态等Ipmitool –I open chassis restart_cause 查看上次系统重启的原因Ipmitool –I open chassis policy list 查看支持的底盘电源相关策略。Ipmitool –I open chassis power on 启动底盘,用此命令可以远程开机Ipmitool –I open chassis power off 关闭底盘,用此命令可以远程开机Ipmitool –I open chassis power reset 实现硬重启,用此命令可以远程开机Ipmi还可以设置系统启动boot的设备,具体见ipmitool帮助文档。Ipmitool –I open mc reset 使BMC重新硬启动Ipmitool –I open mc info 查看BMC硬件信息

查看厂家信息 生产日期

10.254.178.91

test

123456

显示BMC硬件的信息,包括了 设备版本、固件版本、IPMI版本支持、制造商id、额外设备支持的信息。

[root@172e18e211e32 ~]# ipmitool -I lanplus -H 10.254.178.91 -U test -P 123456 mc info
Device ID : 1
Device Revision : 1
Firmware Revision : 7.10
IPMI Version : 2.0 #支持的ipmi版本
Manufacturer ID : 2011
Manufacturer Name : Unknown (0x7DB)
Product ID : 43649 (0xaa81)
Product Name : Unknown (0xAA81)
Device Available : yes
Provides Device SDRs : yes
Additional Device Support :
Sensor Device
SDR Repository Device
SEL Device
FRU Inventory Device
Chassis Device
Aux Firmware Rev Info :
0x09
0xaa
0x00
0x00

获取厂家信息 生产日期

[root@172e18e211e32 ~]# ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 fru
FRU Device Description : Builtin FRU Device (ID 0)
Chassis Type : Unspecified
Board Mfg Date : Mon May 11 12:16:00 2015 ##生产日期
Board Mfg : Huawei Technologies Co., Ltd. ##隶属与什么公司
Board Product : BC11SRSG ##电路板产品
Board Serial : 021VTT4MF5000273 ##电路板系列
Board Extra : Description=Function Module,RH2288H V2 (Chassis for 24HDD EXP)
Board Extra : ,BC1M5SRSG
Product Manufacturer : Huawei ##制造商
Product Name : Tecal RH2288H V2 ##产品名称
Product Part Number : 02310QPE ##产品部件号
Product Serial : 2102310QPE10F5000282 ##产品系列
FRU Device Description : iMana200
Chassis Type : Unspecified
Board Mfg Date : Mon May 11 12:16:00 2015
Board Mfg : Huawei Technologies Co., Ltd.
Board Product : BC11SRSG
Board Serial : 021VTT4MF5000273
Board Extra : Description=Function Module,RH2288H V2 (Chassis for 24HDD EXP)
Board Extra : ,BC1M5SRSG
Product Manufacturer : Huawei
Product Name : Tecal RH2288H V2
Product Part Number : 02310QPE
Product Serial : 2102310QPE10F5000282

设置启动方式

修改启动项

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 chassis bootdev pxe
ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 power reset

查看电源状态

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 power status

开机

ipmitool -I lanplus -H 172.18.214.21 -U admin -P 123456 power on

关机

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 power off

重启

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 power reset

pxe启动

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 chassis bootdev pxe

bios启动

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 chassis bootdev bios

从CD/DVD启动

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 chassis bootdev cdrom

从磁盘启动

ipmitool -I lanplus -H 172.18.214.20 -U admin -P 123456 chassis bootdev disk

用户管理

查看ipmi用户列表

[root@172e18e211e32 ~]# ipmitool user list
ID NameCallin Link AuthIPMI Msg Channel Priv Limit
1 true true true NO ACCESS
2 root true true true ADMINISTRATOR
3 admin true true true ADMINISTRATOR
4 admin01 true true true ADMINISTRATOR
5 true true true NO ACCESS
6 true true true NO ACCESS
7 true true true NO ACCESS
8 true true true NO ACCESS
9 true true true NO ACCESS
10 true true true NO ACCESS
11 true true true NO ACCESS
12 true true true NO ACCESS
13 true true true NO ACCESS
14 true true true NO ACCESS
15 true true true NO ACCESS
16 true true true NO ACCESS
17 true true true NO ACCESS

创建用户

例如:创建id是3的test用户,并设置密码为test user id使用3

ipmitool user set name 3 test
ipmitool user set password 3 test

设置用户权限

channel 为1,user ID为3,privilege为4(可以有别的权限,如以下显示) privilege(权限)的值定义如下; 1 callback 2 user 3 operator 4 administrator 5 OEM 设置用户权限

ipmitool channel setaccess 1 3 callin=on ipmi=on link=on privilege=4

查看用户权限

[root@172e18e211e32 ~]# ipmitool channel getaccess 1 3 (为用户的id)
Maximum User IDs : 17
Enabled User IDs : 3
User ID : 3
User Name : admin
Fixed Name : No
Access Available : call-in / callback
Link Authentication : enabled
IPMI Messaging : enabled
Privilege Level : ADMINISTRATOR

硬件监控

查看所有的硬件信息

[root@172e18e211e32 ~]# ipmitool sensor
CPU1 Core Rem | 38.000 | degrees C | ok | na | na | na | na | na | na
CPU2 Core Rem | 40.000 | degrees C | ok | na | na | na | na | na | na
CPU1 DTS | -51.000 | unspecified | ok | na | na | na | na | -1.000 | na
CPU2 DTS | -49.000 | unspecified | ok | na | na | na | na | -1.000 | na
Inlet Temp | 25.000 | degrees C | ok | na | na | na | na | 44.000 | 46.000
Rear Disk Temp | 33.000 | degrees C | ok | na | na | na | na | 52.000 | na
CPU1 Prochot | 30.000 | degrees C | ok | na | na | na | na | 90.000 | na
CPU2 Prochot | 30.000 | degrees C | ok | na | na | na | na | 90.000 | na
Power1 | 104.000 | Watts | ok | na | na | na | na | na | na
Power2 | 100.000 | Watts | ok | na | na | na | na | na | na
FAN1 F Speed | 2160.000 | RPM | ok | na | na | na | na | na | na
FAN1 R Speed | 1800.000 | RPM | ok | na | na | na | na | na | na
FAN2 F Speed | 2160.000 | RPM | ok | na | na | na | na | na | na
FAN2 R Speed | 1800.000 | RPM | ok | na | na | na | na | na | na
FAN3 F Speed | 2160.000 | RPM | ok | na | na | na | na | na | na
FAN3 R Speed | 1920.000 | RPM | ok | na | na | na | na | na | na

查看传感器状态

[root@172e18e211e32 ~]# ipmitool sdr
CPU1 Core Rem | 38 degrees C | ok
CPU2 Core Rem | 40 degrees C | ok
CPU1 DTS | -51 unspecified | ok
CPU2 DTS | -49 unspecified | ok
Inlet Temp | 25 degrees C | ok
Rear Disk Temp | 33 degrees C | ok
CPU1 Prochot | 30 degrees C | ok
CPU2 Prochot | 30 degrees C | ok
Power1 | 104 Watts | ok
Power2 | 100 Watts | ok
FAN1 F Speed | 2160 RPM | ok
FAN1 R Speed | 1920 RPM | ok
FAN2 F Speed | 2160 RPM | ok
FAN2 R Speed | 1920 RPM | ok
FAN3 F Speed | 2160 RPM | ok
FAN3 R Speed | 1920 RPM | ok
FAN4 F Speed | 2160 RPM | ok
FAN4 R Speed | 1920 RPM | ok

zabbix常用的监控项汇总

监控cpu

监控cpu温度值(本服务器有两个cpu为例)

[root@172e18e211e32 ~]# for i in `seq 1 2`; do ipmitool -I open sensor get "CPU$i Core Rem"|awk -F "[ ]+" 'NR==5{print $5}'; done
38
40

监控cpu温度传感器的值

[root@172e18e211e32 ~]# for i in `seq 1 2`; do ipmitool -I open sensor get "CPU$i Core Rem"|awk -F "[ ]+" 'NR==6{print $NF}'; done
ok
ok

监控风扇

监控风扇的转数(本服务器有4个风扇)

[root@172e18e211e32 ~]# for i in `seq 1 4`; do ipmitool -I open sensor get "FAN$i F Speed"|awk -F "[ ]+" 'NR==5{print $5}'; done
2160
2160
2160
2160
[root@172e18e211e32 ~]# for i in `seq 1 4`; do ipmitool -I open sensor get "FAN$i R Speed"|awk -F "[ ]+" 'NR==5{print $5}'; done
1800
1920
1920
1920

监控风扇传感器

[root@172e18e211e32 ~]# for i in `seq 1 4`; do ipmitool -I open sensor get "FAN$i F Speed"|awk -F "[ ]+" 'NR==6{print $NF}'; done
ok
ok
ok
ok
[root@172e18e211e32 ~]# for i in `seq 1 4`; do ipmitool -I open sensor get "FAN$i R Speed"|awk -F "[ ]+" 'NR==6{print $NF}'; done
ok
ok
ok
ok

监控磁盘

(本服务器24块磁盘)

[root@172e18e211e32 ~]# for i in `seq 0 23`; do ipmitool sdr|grep -w "^DISK$i"; done
DISK0 | 0x00 | ok
DISK1 | 0x00 | ok
DISK2 | 0x00 | ok
DISK3 | 0x00 | ok
DISK4 | 0x00 | ok
DISK5 | 0x00 | ok
DISK6 | 0x00 | ok
DISK7 | 0x00 | ok
DISK8 | 0x00 | ok
DISK9 | 0x00 | ok
DISK10 | 0x00 | ok
DISK11 | 0x00 | ok
DISK12 | 0x00 | ok
DISK13 | 0x00 | ok
DISK14 | 0x00 | ok
DISK15 | 0x00 | ok
DISK16 | 0x00 | ok
DISK17 | 0x00 | ok
DISK18 | 0x00 | ok
DISK19 | 0x00 | ok
DISK20 | 0x00 | ok
DISK21 | 0x00 | ok
DISK22 | 0x00 | ok
DISK23 | 0x00 | ok

监控电压

详细显示电源情况

[root@172e18e211e32 ~]# ipmitool chassis status
System Power : on
Power Overload : false
Power Interlock : inactive
Main Power Fault : false
Power Control Fault : false
Power Restore Policy : always-on
Last Power Event :
Chassis Intrusion : inactive
Front-Panel Lockout : inactive
Drive Fault : false
Cooling/Fan Fault : false
Front Panel Control : none

简单显示电源状态

[root@172e18e211e32 ~]# ipmitool chassis power status
Chassis Power is on

电源传感器

[root@172e18e211e32 ~]# for i in `seq 1 2`; do ipmitool sdr|grep -w "Power$i"; done
Power1 | 104 Watts | ok
Power2 | 96 Watts | ok

监控内存插条

[root@172e18e211e32 ~]# ipmitool sdr|grep "DIMM"
DIMM000 | 0x00 | ok
DIMM001 | 0x00 | ok
DIMM002 | 0x00 | ok
DIMM010 | 0x00 | ok
DIMM011 | 0x00 | ok
DIMM012 | 0x00 | ok
DIMM020 | 0x00 | ok
DIMM021 | 0x00 | ok
DIMM022 | 0x00 | ok
DIMM030 | 0x00 | ok
DIMM031 | 0x00 | ok
DIMM032 | 0x00 | ok
DIMM100 | 0x00 | ok
DIMM101 | 0x00 | ok
DIMM102 | 0x00 | ok
DIMM110 | 0x00 | ok
DIMM111 | 0x00 | ok
DIMM112 | 0x00 | ok
DIMM120 | 0x00 | ok
DIMM121 | 0x00 | ok
DIMM122 | 0x00 | ok
DIMM130 | 0x00 | ok
DIMM131 | 0x00 | ok
DIMM132 | 0x00 | ok

IPMI查看ILO的ip

[root@172e18e211e32 ~]# ipmitool lan print
Set in Progress : Set Complete
IP Address Source : Static Address
IP Address : 172.18.214.32
Subnet Mask : 255.255.255.0
MAC Address : e0:97:96:14:46:c0
SNMP Community String :
IP Header : TTL=0x40 Flags=0x40 Precedence=0x00 TOS=0x10
Default Gateway IP : 172.18.214.254
802.1q VLAN ID : Disabled
RMCP+ Cipher Suites : 0,1,2,3
Cipher Suite Priv Max : XuuaXXXXXXXXXXX
: X=Cipher Suite Unused
: c=CALLBACK
: u=USER
: o=OPERATOR
: a=ADMIN
: O=OEM

ILO_ip: 方法1:

[root@172e18e211e32 ~]# ipmitool lan print|grep "IP Address"|tail -1|awk -F ":" '{print $2}'

172.18.214.32 方法2:

[root@172e18e211e32 ~]# ipmitool lan print|awk -F "[ ]+" 'NR==3{print $4}'

172.18.214.32 MAC:

[root@172e18e211e32 ~]# ipmitool lan print|awk -F "[ ]+" 'NR==5{print $4}'

常见报错

没有加载模块

ipmitool sdr Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: Nosuch file or directoryGet Device ID command failedUnable to open SDR for reading 解决:

[root@localhost ~]# modprobe ipmi_watchdog
[root@localhost ~]# modprobe ipmi_poweroff
[root@localhost ~]# modprobe ipmi_devintf
[root@localhost ~]# modprobe ipmi_si
[root@localhost ~]# modprobe ipmi_msghandler

当添加ipmi_si时,提示: FATAL: Error inserting ipmi_si (/lib/modules/2.6.9-5.ELsmp/kernel/drivers/char/ipmi/ipmi_si.ko): No such device 这是因为机器上没有IPMI设备而出现的报错。

参数不对

ipmitool -I lan -H 172.18.214.21 -U admin -P "admin" sdr Authentication type NONE not supported Authentication type NONE not supported Error: Unable to establish LAN session Get Device ID command failed Unable to open SDR for reading

解决: 即

ipmitool -I lanplus -H 172.18.214.21 -U admin -P 123456 power on
Chassis Power is on

密码错误

ipmitool -I lanplus -H 172.18.214.21 -U admin -P "123456" sdr -v RAKP 2 message indicates an error : unauthorized name Error: Unable to establish IPMI v2 / RMCP+ session Get Device ID command failed Unable to open SDR for reading 原因: 密码错误

ipmi没有开启

worddavaff72c32e3aec33b4d8fafd716ff9ba8

进入服务器带外管理口开启ipmi功能即可,不同服务器方法不同,详细请联系各个厂商