因为开发在windows下,部署在Linux下,所以对两个系统进行不同的说明,在代码中区分不同的操作系统,然后进行不同的操作,具体为在windows下打包成ipmitool.exe,在Linux系统下用系统自带的ipmi工具。
Windows
安装的磁盘剩余容量不小于1GB;系统盘容量不小于1GB。文件配置ipmitool,(就是文件夹下另外一个文件夹)。
Linux
已安装IPMItool软件。
可通过ipmitool -V命令查询是否安装IPMItool软件。
已安装Net-SNMP软件。
可通过snmpd -v或snmpget -V命令查询是否安装Net-SNMP
软件。
已安装Python软件。
可通过python -V命令查询是否安装Python软件。
操作场景
本文以Windows操作系统为例介绍IPMItool接口的使用。
l 此接口为IPMItool组件的封装,支持标准的IPMI命令。
l Windows版本的IPMItool接口封装“ipmitool\ipmitool.exe”,
ipmitool.exe”程序介绍请参考C.2 ipmitool.exe。
Linux版本的IPMItool接口封装系统自带的IPMItool命令。
IPMItool的功能及使用说明,请参考http://sourceforge.net/projects/ipmitool/。
必备事项
前提条件
无。
数据
操作步骤
步骤1 在文件夹导航栏输入“cmd”,按“Enter”,并输入dir。
步骤2 执行ipmitool.exe -h命令查看帮助信息,如所示。
Linux操作系统使用系统自带命令查看帮助信息。
步骤3 IPMItool应用示例:
获取服务器FRU信息,如图所示。
注意事项:
- Ipmi默认使用lan(v5版本),如果协议为lanplus(v2.0版本)需要显式配置
- 默认端口为623(如果需要对服务器使用ipmi命令,则服务器623端口必须打开)
在代码中如果部署系统为windows,则配置ipmitool相对路径,如果项目使用java开发则通过ProcessBuilder调用外部应用程序(ipmitool.exe),如果为Python,则使用subprocess构建外部应用程序(ipmitool),实现对服务器数据获取。
如果部署系统为Linux,则直接组装ipmitool命令,使用与windows下相同的技术实现。
远程监控:
只需要在客户端安装ipmitool或其他工具
远程模式下,IPMI使用RMCP(远程管理控制协议),RMCP基于UDP协议实现。
远程监控也就是基于UDP的网络通信。
服务器IPMI使用的端口一般是623.
通过ipmi能获取到的信息(不完全整理):
1. 获取到服务器的网络配置信息
2.获取到服务器的温度信息
# 3.获取到服务器的功率信息
# 4.获取到服务器的序列号信息
# 5.获取到服务器的MAC
# 6.获取到服务器的资产号信息
# 7.获取到服务器的管理卡的时间
# 8.查看管理卡配置模式
# 9.查看SOL波特率
# 1.服务器开机、关机、重启
# 2.服务器添加用户、设置密码、授予权限
# 3.管理卡IP配置模式转换(DHCP/静态IP)
# 4.管理卡修改IP地址
# 5.管理卡配置模式转换(独立/共享) 仅dell
# 6.设置SOL波特率
# 7.SOL模式开启、关闭
# cpu信息
#内存信息
内存型号
内存数量
#硬盘信息
硬盘品牌
硬盘SN
硬盘型号
#电力
服务器当前整体功耗
服务器交流实际供电电压:" #不支持或未找到
服务器直流3.3V,5V和12V实际供电电压
#风扇
风扇数量和转速
#温度
服务器进风口温度
服务器出风口温度
CPU当前温度
#状态:基于收集信息异常状态的记录及展示
#网络:Mac地址
远程管理卡以及主板上所有网口的MAC地址
#事件:
异常事件、操作事件、登录事件记录
#通过网络,命令行模式完成以下功能:
#1, 指定特定端口PXE启动
#2, 可通过管理卡启动KVM(无需登录web界面),并有相关的权限区分(可看,可操作等多种权限)
#3, 可以设置管理卡的时钟、使用“年月日时分秒”格式。
操作原理:
通过ipmi管理的是服务器BMC(底板管理控制器),一般服务器均有,E9000、E6000服务器架构也是由很多刀片和交换平面组成,可以通过(ssh、snmp、ipmi组合实现对所有功能监控)。通过BMC与主机板上的不同传感器通信来监视系统是否有严重事件,并在某些参数超出其预置阈值时发出警报和日志事件。