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的支持¶
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没有开启¶
进入服务器带外管理口开启ipmi功能即可,不同服务器方法不同,详细请联系各个厂商