联华信实施工程师李朝朝整理完成


Ipmitool工具中文注释及获取返回值的解释

注:本文档对ipmitool常用的选项进行了说明,并利用相应的命令取得一些平台系统

运行的具体参数,并加以解释,方便客户对监控取值的理解。操作命令中的xxxxxx

为密码。

文档包含:

Synopsis概要Description描述Options选项SECURITY安全COMMANDS指令集OPENINTERFACE开放接口BMCINTERFACELIPMIINTERFACEINTERFACEName(名字)Ipmitool——对于控制支持IPMI的设备有效.

Synopsis(概要)ipmitool命令格式

ipmitool[-c|-h|-v|-V]-Iopen<command>

ipmitool[-c|-h|-v|-V]-Ilan-H<hostname>

[-p<port>]

[-U<username>]

[-A<authtype>]

[-L<privlvl>]

[-a|-E|-P|-f<password>]

[-o<oemtype>]

<command>

ipmitool[-c|-h|-v|-V]-Ilanplus-H<hostname>

[-p<port>]

[-U<username>]

[-L<privlvl>]

[-a|-E|-P|-f<password>]

[-o<oemtype>]

[-C<ciphersuite>]

<command>

Description(描述)

这个程序能够使你通过一个kernel设备驱动或者一个远程系统,利用IPMIv1.5或IPMIv2.0来管理本地系统的任何一个智能平台管理接口(IPMI)功能。这些功能包括打印FRU(现场可替换装置)信息、LAN配置、传感器读数、以及远

程机架电源控制。

一个本地系统接口的IPMI管理功能需要一个兼容IPMI的kernel驱动程序被安装以及配置。在linux中,这个驱动叫做OpenIPMI,他被包括在了标准化分配中。在Solaris系统中,这个驱动叫做BMC,他被包括在了Solaris10中。远程控制

的管理需要授权以及配置IPMI-over-LAN接口。根据每个系统独特的需要,它可以通过系统接口来使LAN接口使用ipmitool。

Options(选项)

-a提示输入远程服务器的密码

-A<authtype>当IPMIv1.5会话激活时,指定使用一个认证类型。

-c使输出格式为CSV(逗号分隔的变量)格式。但是不是针对所有命令都有效。

-C<ciphersuite>为IPMIv2lanplus连接使用远程服务器身份验证、完整性和加密算法。请看IPMIv2说明书中的表格22

-19默认的三个格式为:指定RAKP-HMAC-SHA1为验证,HMAC-SHA1-96为完整性,AES-CBC-128为加密算法。

-E远程服务密码通过环境变量IPMI_PASSWORD来指定。

-f<password_file>指定一个文件,而这个文件中包含了远程服务密码。如果这个选项没有被使用,或者指定的文件不存在,那么那么密码将默认为NULL。

-h获取基本帮助

-H<address>远程服务地址,可以为ip地址或者是主机名。Lan和lanplus接口都需要这个操作。

-I<interface>选择使用的IPMI接口。编译支持的接口都在使用帮助输出中可见。

-L<privlvl>力量会话特权级别。可以为CALLBACK,USER,OPERATOR,ADMIN。默认为ADMIN。

-m<local_address>设置本地IPMB(智能平台管理总线)地址。默认的为0x20。如果是一般的操作,那么就没有必要更改它。

-o<oemtype>选择支持的OEM(原始设备制造商)类型。这通常涉及到代码中的小窍门,以解决各种BMC在不同制造商的怪癖到位。使用命令“-olist”来查看当前支持的OEM类型的列表。

-p<port>设置要连接的远程服务UPD端口,默认为623。

-P<password>在命令行中指定远程服务密码。如果支持,他将会进程列表中被掩盖。注意!:不推荐在命令行中指定密码。

-t<target_address>桥接IPMI的请求到远程目标地址。

-U<username>远程服务用户名,默认为NULL。

-v提高详细输出的级别。这个操作可以指定多次用来提高调试输出的级别。如果指定三次,那么你将会得到所有传入和传出的数据包。

-V列出版本信息。

如果没有密码方法被指定,那么ipmitool将会提示用户输入密码。如果用户没有输入密码,那么远程服务密码将会设置为NULL。

SECURITY(安全)

在使用IPMILAN接口之前,有一些需要注意的安全问题。一个远程控制站有这个能力去控制一个系统的power状态,同样也可以去收集某些平台上的信息。为了减少脆弱性强烈建议IPMILAN接口只能用在“trusted”环境中,在这个环

境中系统的安全性不是一个问题或存在安全是一个专门的“管理网络”。

此外,我们强烈建议您不要启用没有设置密码的远程访问的IPMI,同时,这个密码不应该与那个系统的其他密码一样。

当利用ipmiv1.5lan接口改变了远程机器的IPMI密码后,新密码将作为明文用过网络被发送。这个可以被观察到并且可以被利用来***远程系统。因此建议的IPMI密码管理只有通过IPMIv2.0lanplus接口或在本地站系统接口完成。

在IPMIv1.5,最大密码长度为16个字符。超过16字符的密码部分将被去掉。

在IPMI2.0,最大密码长度为20个字符;较长的密码将被截断。

COMMANDS(指令集)

help这个可以在ipmitool命令行中获取命令行帮助。也可以写在其他参数后面来选择使用帮助。

ipmitoolhelp

Commands:

1raw原始命令发送一个RAW(未加工的)IPMI请求然后输出响应。

2lan局域网配置LAN通道。

3chassis机箱获取机架状态并且设置power状态。

4event预设事件发送预定义的状态给MC(管理控制器)

5mc设备设置信息管理控制器状态和全局是否可使用。

6sdr传感器数据打印传感数据仓库输入与文本

7sensor传感器信息输出详细的传感器信息。

8fru可替换装置输出内嵌的FRU(现场可替换装置)和扫描FRU定位器的SDR(系统定义记录)

9sel系统事件日志打印系统事件日志(SEL)。

10pef事件过滤配置平台事件过滤(PEF)

11solIPMIv2.0Serial-over-LAN配置IPMIv2.0Serial-over-LAN

12isolIPMIv1.5Serial-over-LAN配置IPMIv1.5Serial-over-LAN

13user用户配置管理控制器用户

14channel通道配置管理控制器通道

15session会话打印session信息

16exec运行从文件中运行一系列的命令

17set设置为shell和exec设置运行变量。

其他commands包括:

i2c串行总线spd串行检测picmgPicmg命令fwum升级工具firewall防火墙shell脚本

除了以上这些,还有一些平台自带的命令,例如delloem就是指的dell自己的OEM指令集。

事例操作命令

:ipmitool-Ilanplus-H192.168.1.251-Uadmin-Pxxxxxxx【command】<option>

Raw原始命令

Ipmitoolrawhelp:ipmitool-Ilanplus-H192.168.1.251-Uadmin-Pxxxxxxxrawhelp

1,RAWCommands:raw<netfn><cmd>[data]

NetworkFunctionCodes:网络功能代码

VALHEXSTRING

==============================================

00x00Chassis机箱

20x02Bridge桥

40x04SensorEvent传感器

60x06Application应用

80x08Firmware固件

100x0aStorage存储

120x0cTransport传输

raw<netfn><cmd>[data]

这将允许你执行原始的IPMI命令。作为一个例子,用一个原始命令来查询POH(通道开销)计数器:

ipmitool-vraw0x00xf

RAWREQ(netfn=0x0cmd=0xfdata_len=0)

RAWRSP(5bytes)

3c720c0000

Lan局域网

ipmitool-Ilanplus-H192.168.1.251-Uadmin-Pxxxxxxxlanprint

设置进度:完成设置
验证类型支持:
验证类型启用:回调:
:用户:无MD2MD5密码OEM
:操作:无MD2MD5
:管理员:MD2MD5
:OEM:
IP地址源:静态地址
IP地址:192.168.1.251
子网掩码:255.255.255.0
MAC地址:00:1F:29:E8:A3:4E
BMCARP控制:ARP响应启用,免费ARP关闭
GratituousARPINTRVL:0.0秒(免费arp间隔)
默认网关的IP:192.168.1.190
802.1QVLANID:禁用
802.1QVLAN优先级:0
密码套件PRIV最大:无

lan介绍

print<channel>

输出给定通道的当前配置信息。

Set<channel><parameter>

为给定的通道设置给定的参数。有效的parameter有:

ipaddr<x.x.x.x>

为这个通道设置ip

netmask<x.x.x.x>

为这个通道设置网络掩码

macaddr<xx:xx:xx:xx:xx:xx>

为这个通道设置mac地址。

defgwipaddr<x.x.x.x>

设置默认网关的ip地址。

defgwmacaddr<xx:xx:xx:xx:xx:xx>

设置默认网关的mac地址。

bakgwipaddr<x.x.x.x>

设置备份网关的ip地址。

bakgwmacaddr<xx:xx:xx:xx:xx:xx>

设置备份网关的ip地址

password<pass>

设置无用户的密码。

snmp<communitystring>

设置SNMP的团体字符串

user

启用用户访问模式为用户标识1。

access<on|off>

设置LAN通道access模式。

ipsrc<source>

设置ip地址源:

none没有指定;

static手动配置静态IP地址

dhcp通过BMC运行DHCP来得到地址

bios通过BIOS或系统软件来装载地址

arprespond<on|off>

设置BMC生成ARP回复。

arpgenerate<on|off>

设置BMC生成免费的ARP

arpinterval<seconds>

设置BMC生成免费的ARP间隔。

auth<level,...><type,...>

给一个指定的授权级别一个有效的授权类型。

Levels:callback,user,operator,admin

Types:none,md2,md5,password,oem

cipher_privs<privlist>

相关研究密码套件数目连同最高权限级别是去使用它。这样,密码套件可以用一个给定的权限级别来限制用户。

例如,管理员需要使用比一般用户更强的密码套件。

Privlist的格式为如下,每个字符代表一个权限级别,字符位置标识密码套件的数目。

例如,第一个字符表示密码套件1(密码套件0是保留),第二个字符表示套件2,

以此类推。Privlist必须有15个字符。

在privlist中使用的字符和其相关权限级别为:

XCipherSuiteUnused

cCALLBACK

uUSER

oOPERATOR

aADMIN

OOEM

所以,设置最高权限时,将套装1分配给USER,套装2分配给ADMIN,命令如:

ipmitool-Iinterfacelansetchannelcipher_privsuaXXXXXXXXXXXXX

Chassis机箱

ipmitoolchassishelp机架命令:status,power,identify,policy,restart_cause,poh,bootdev

3,ipmitool-Ilanplus-H192.168.1.251-Uadmin-Pxxxxxxxchassisstatus

Ipmitoolchassispowerhelp机架power状态:status,on,off,cycle,reset,diag,soft

ipmitool-Ilanplus-H192.168.1.251-Uadmin-Pxxxxxxxchassispowerstatus

ChassisPowerison

机箱电源已经打开

Chassis

Status

显示关于系统机架和主电源子系统的高级别状态的信息。

poh

这个命令将会返回poweron的时间(单位为小时)。

identify<interval>

控制面板标识灯。默认是15,用0表示关掉。

restart_cause查询系统最后一次重启的原因。

Policy设置如果停电时的机架电源策略。

list显示所有支持的策略

always-on当电源恢复时on

previous当电源恢复时返回到原先的状态。

always-off当电源恢复时保持off。

Power电源

执行机架控制命令来查看和更改电源状态。

Status显示当前状态。

ipmitool-Ilanplus-H192.168.1.251-Uadmin-Pxxxxxxxpowerstatus

ChassisPowerison

机箱电源已经打开

on电源开

off电源关闭机架到软关闭(S4/S5状态)。

cycle规定关闭的区间至少为1秒。当机架电源状态在s4/s5状态时将不会有动作发生,我们建议首先检查电源状态,

如果系统电源on或低于S4/S5休眠状态,此时在使用cycle命令。

reset这个命令将执行硬重置。

diag向处理器直接发送一个诊断中断。

soft通过ACPI(高级配置与电源接口)来执行软件关机。这个可以在多种方式下实现,一般是通过模拟过高温度或模拟关键键。

这是必要的,要有操作系统的ACPI支持。

Bootdev<device>请系统再下次重启时从系统启动备用引导设备启动。

目前支持的<device>包括:

Pxe:pxe启动

Disk:从BIOS默认的启动设备处启动。

Safe:从BIOS默认的启动设备处启动,但是要求有安全模式。

Diag:从诊断分区启动。

Cdrom:从CD/DVD启动

Bios:进入bios设置。