跳转至

ipmi-tool实用工具

安装IPMI-tool

yum -y install ipmitool OpenIPMI OpenIPMI-libs

内核加载

Bash
1
2
3
4
5
modprobe ipmi_msghandler
modprobe ipmi_devintf
modprobe ipmi_si
modprobe ipmi_poweroff
modprobe ipmi_watchdog

启动服务

Bash
1
2
3
4
5
root@pts/21 # /etc/init.d/ipmievd start
Starting ipmievd:                                          [  OK  ]
192.168.0.2 [~] 2015-11-05 11:26:34
root@pts/21 # /etc/init.d/ipmi start
Starting ipmi drivers:                                     [  OK  ]

DELL的是1,HP的是2 ,如果提示你输入channel_no 就输入就可以

设置IPMI ip 地址

dhcp

Bash
ipmitool lan set 1 ipsrc dhcp 
ipmitool lan print 1

static

Bash
1
2
3
4
5
ipmitool lan set 1 ipsrc static
ipmitool lan set 1 ipaddress 192.168.20.100
ipmitool lan set 1 netmask 255.255.252.0
ipmitool lan set 1 defgw ipaddr 192.168.20.1
ipmitool lan print 1

命令说明

使用静态地址: ipmitool lan set <channel_no> ipsrc static

使用动态地址: ipmitool lan set <channel_no> ipsrc dhcp

设置IP: ipmitool lan set <channel_no> ipaddr <x.x.x.x>

设置掩码: ipmitool lan set <channel_no> netmask <x.x.x.x>

设置网关: ipmitool lan set <channel_no> defgw ipaddr <x.x.x.x>

开启网卡(远程操作): ipmitool lan set 1 access on

本地操作-I open表示接口本地: ipmitool -I open lan print 1

操作远程机器-I lan表示接口远程: ipmitool -I lan -H <x.x.x.x> -U root -P passwd lan print 1

设置下次重启的顺序

Bash
ipmitool -H {ip} -I lanplus -U {user} -P {passwd} chassis bootdev pxe
ipmitool -H {ip} -I lanplus -U {user} -P {passwd} chassis bootdev disk

一、获取服务器信息

Bash
# 1. 获取到服务器的网络配置信息
echo -e "\n\n=======Networking Configurations:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print

# 2.获取到服务器的温度信息
echo -e "\n\n=======Ambient Temprature:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Ambient Temp"

# 3.获取到服务器的功率信息
echo -e "\n\n=======System Level:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "System Level"

# 4.获取到服务器的序列号信息
echo -e "\n\n=======Serial Number(Fru):"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD fru

# 5.获取到服务器的MAC
echo -e "\n\n=======Mac Address(only Dell):"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem mac

# 6.获取到服务器的资产号信息
echo -e "\n\n=======Serial Number(Fru):"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "System Level"

# 7.获取到服务器的管理卡的时间
echo -e "\n\n=======Date and Time:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time get

# 8.查看管理卡配置模式
echo -e "\n\n=======Lan set Mode:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem lan get

# 9.查看SOL波特率
echo -e "\n\n=======Volatile Bit Rate (kbps):"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1

二、常用配置

Bash
# 1.服务器开机、关机、重启
echo -e "\n\n=======Power:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD power
ipmitool -I lan -H $HOST -U $USER -P $PASSWD power status

# 2.服务器添加用户、设置密码、授予权限
echo -e "\n\n=======USER:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD user list 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD user set name 10 test1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD user set password 10 test1pwd
ipmitool -I lan -H $HOST -U $USER -P $PASSWD user enable 10
ipmitool -I lan -H $HOST -U $USER -P $PASSWD user list 1

# 1-CALLBACK ,2-USER ,3-OPERATOR ,4-ADMNISTRATOR
echo -e "\n\n=======User privilage:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD user priv 10 4 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD user list 1

# 3.管理卡IP配置模式转换(DHCP/静态IP)
echo -e "\n\n=======OOB IP Mode:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 ipsrc 
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 ipsrc static
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print

# 4.管理卡修改IP地址
echo -e "\n\n=======Set IP:"
read -p "modify oob ip, please use the current network : " oobip
read -p "modify oob netmask : " netmask
read -p "modify oob gateway : " oobgw
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 ipaddr $oobip
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 netmask $netmask
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan set 1 defgw ipaddr $oobgw
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print

# 5.管理卡配置模式转换(独立/共享) 仅dell
echo -e "\n\n=======Lan Mode:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem lan
#ipmitool -I lan -H $HOST -U $USER -P $PASSWD delloem lan set dedicated

# 6.设置SOL波特率
echo -e "\n\n=======Sol volatile-bit-rate:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set non-volatile-bit-rate 115.2 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set non-volatile-bit-rate 57.6 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1

# 7.SOL模式开启、关闭
echo -e "\n\n=======Sol enable and disable:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set enabled true 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol set enabled false 1
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sol info 1

# 8.指定特定端口PXE启动
# 不能指定特定端口,端口指定可借助racadm等工具实现,网卡的pxe功能需要在bios中开启
echo -e "\n\n=======指定特定端口PXE启动:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD chassis bootdev pxe   

# 9.可通过管理卡启动KVM(无需登录web界面),并有相关的权限区分(可看,可操作等多种权限)
# Need config SSO, 虚拟控制台或者VNC免登陆方式

# 10.可以设置管理卡的时钟、使用“年月日时分秒”格式。
# dell反馈管理卡没有时间设置,只有BIOS时间和NTP
echo -e "\n\n=======可以设置管理卡的时钟、使用 年月日时分秒 格式。" 
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time set

三、其他信息

Bash
# cpu信息
echo -e "\n\n=======cpu型号:"
echo -e "\n\n=======cpu物理个数:"
# 华为提供,貌似不准确
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr elist | grep 'Status'
echo -e "\n\n=======cpu当前频率:"

# 内存信息
echo -e "\n\n=======内存型号:"
echo -e "\n\n=======内存数量:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr elist | grep 'DIMM'

# 硬盘信息
echo -e "\n\n=======硬盘品牌:"
echo -e "\n\n=======硬盘SN:"
echo -e "\n\n=======硬盘型号:"

# 电力
echo -e "\n\n=======服务器当前整体功耗:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Pwr"
echo -e "\n\n=======服务器交流实际供电电压:"   #不支持或未找到
echo -e "\n\n=======服务器直流3.3V,5V和12V实际供电电压:"

# 风扇
echo -e "\n\n=======风扇数量和转速:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Fan"

# 温度
echo -e "\n\n=======服务器进风口温度:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Inlet"
echo -e "\n\n=======服务器出风口温度:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Exhaust Temp"
echo -e "\n\n=======CPU当前温度:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sdr get "Temp"

# 状态:基于收集信息异常状态的记录及展示
echo -e "\n\n=======基于收集信息异常状态的记录及展示:"

# 网络:Mac地址
echo -e "\n\n=======远程管理卡以及主板上所有网口的MAC地址:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD lan print |grep "MAC Address"

# 时间:收集管理卡当前时钟信息,以“年月日时分秒”格式显示。
echo -e "\n\n=======收集管理卡当前时钟信息,以“年月日时分秒”格式显示。:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel time get

# 事件:异常事件、操作事件、登录事件记录
echo -e "\n\n=======异常事件、操作事件、登录事件记录:"
ipmitool -I lan -H $HOST -U $USER -P $PASSWD sel list