一种自动化检验服务器bmc稳定性的方法

文档序号:10534726阅读:627来源:国知局
一种自动化检验服务器bmc稳定性的方法
【专利摘要】本发明公开一种自动化检验服务器BMC稳定性的方法,属于服务器检测领域;本发明采用shell脚本实现BMC下的稳定性测试,可以实现多台服务器BMC信息的快速和持续性的自动检测,自动记录并整理测试数据,最终形成直观的测试结果,该过程完全自动完成,简化了操作流程,降低测试成本和人力消耗,减少了不必要的人工交互过程,大大提高了工作效率。
【专利说明】
一种自动化检验服务器BMC稳定性的方法
技术领域
[0001 ]本发明公开一种自动化检验服务器BMC稳定性的方法,属于服务器检测领域。
【背景技术】
[0002]BMC: Baseboard Management Control Ier,主板管理控制器,支持行业标准的IPMI规范。该规范描述了已经内置到主板上的管理功能。这些功能包括:本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除等。
[0003]IPMI,Intelligent Platform Management Interface,即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准。用户可以利用IPMI监视服务器的物理特征,如温度、电压、风扇工作状态、电源供应以及机箱入侵等。IPMI最大的优势在于它是独立于B1S和OS的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服务器BMC的监控。
[0004]随着IT技术的不断发展,信息化服务及日渐强大的云计算服务对服务器的稳定性要求越来越高。服务器在开发阶段和生产阶段都需要对产品进行压力测试,BMC稳定性是其中重要的一项测试,用户在使用服务器的过程中会对FrU、Lan、L0g、SenS0r的状态进行查看,尤其是一些互联网客户会持续监控BMC的状态,服务器BMC各状态值是否稳定可靠,需要在测试过程中严格把关。但服务器研发种类越来越多,手动同时进行多款产品的压力测试消耗人力物力巨大,不利于提高效率。本发明提供一种自动化检验服务器BMC稳定性的方法,采用shell脚本实现BMC下的稳定性测试,可以实现多台服务器BMC信息的快速和持续性的自动检测,自动记录并整理测试数据,最终形成直观的测试结果,该过程完全自动完成,简化了操作流程,降低测试成本和人力消耗,减少了不必要的人工交互过程,大大提高了工作效率。

【发明内容】

[0005]本发明针对现有技术中的问题,提供一种自动化检验服务器BMC稳定性的方法,采用shell脚本实现BMC下的稳定性测试,简化了操作流程,降低测试成本和人力消耗,大大提高了工作效率。
[0006]本发明提出的具体方案是:
一种自动化检验服务器BMC稳定性的方法:
测试机安装Iinux内核的操作系统及shell测试脚本,root身份登录到操作系统中,输入检验服务器BMC管理IP,ping通后获取BMC状态;
设置相关变量,及脚本运行参数;
建立结果文件夹,将不同的BMC状态结果记录到不同文档中。
[0007]所述shell测试脚本设置过滤器程序,对测试结果的整合处理,只保留关键数据。
[0008]所述测试机输入多台检验服务器BMC管理IP,各自ping通后获取各自BMC状态。
[0009]所述不同的BMC状态结果包括记录fru信息结果、记录chassis状态信息、记录Ian信息、记录me信息、记录sensor信息。
[0010]以时间和日期为名建立结果文件夹。
[0011]本发明的有益之处是:
本发明测试机安装Iinux内核的操作系统及shell测试脚本,root身份登录到操作系统中,输入检验服务器BMC管理IP,ping通后获取BMC状态;设置相关变量,及脚本运行参数;建立结果文件夹,将不同的BMC状态结果记录到不同文档中;
本发明采用shel I脚本的方式自动化检测服务器BMC稳定性,可以实现对Fru、Lan、Log、CPU&PCH Sensor等的同步检测,可以实现多台服务器BMC信息的快速和持续性的自动检测,自动记录并整理测试数据,最终形成直观的测试结果。
【附图说明】
[0012]图1本发明方法流程示意图。
【具体实施方式】
[0013]结合附图对本发明做进一步说明。
[0014]利用本发明方法,具体操作为:
准备测试机,安装基于Iinux内核的操作系统,安装完成后,以root身份登录到操作系统中;可以将测试程序与辅助测试程序拷贝到系统下任意一个文件夹下;
可以输入单台或多台服务器的BMC管理IP及用户名密码,ping通后获取BMC状态; echo -e 〃./bmcStress_remote.sh <ip> <user> <password>〃
运行程序,设置相关变量,及脚本运行循环次数,输入循环次数,可以通过这个参数,来长时间的验证BMC各状态稳定性,一组代码如下:
#STRESS_TIME: MINUTE (UNIT)
STRESS_TIME=2880
INTERVAL_TIME=5
LOOP='echo ${STRESS_TIME}*60/${INTERVAL_TIME}|be'
(3)以时间和日期为名建立结果文件夹 RESULT_DIR='date +%Y%m%d-%H%M' if [ ! -d $RESULT_DIR ] then
mkdir -p $RESULT_DIRelsefi
将不同BMC状态结果记录到不同文档中,结合上述代码,一组代码如下: IPMI=〃/usr/bin/ipmitool〃 funct1n SENS0R_REC0RD ()
{
$IPMI fru ? $RESULT_DIR/fru.log &——读取并记录fru信息
$IPMI chassis status >> $RESULT_DIR/chassis_status.log &----读取并记录chass i s状态信息
$IPMI Ian print I >> $RESULT—DIR/lan—print—I.log &----读取并记录Ian信息
$IPMI me info >> $RESULT—DIR/mc—info, log &----读取并记录me信息
$IPMI sel list ? $RESULT—DIR/sel—list.log &——读取并记录日志信息$IPMI sensor get CPUO—Temp ? $RESULT_DIR/CPUO_Temp.log &读取并记录各sensor信息
$IPMI sensor get CPU1—Temp ? $RESULT_DIR/CPUl_Temp.log &
$IPMI sensor get PCH—Temp ? $RESULT_DIR/PCH_Temp.log &
$IPMI sensor get Inlet—Temp >> $ RE SULT_DIR/1nIe t_Temp.log &
$IPMI sensor get Outlet—Temp >> $RESULT—DIR/Outlet—Temp.log &
$IPMI sensor get SYS—12V ? $RESULT_DIR/SYS_12V.log &
$IPMI sensor get SYS—5V ? $RESULT—DIR/SYS—5V.log &
$IPMI sensor get SYS—3.3V ? $RESULT—DIR/SYS—3.3V.log &
$IPM1-b 0x6 -t 0x2c raw 0x2e 0xc8 0x57 0x01 0x00 0x01 0x1 0x0 |/usr/bin/xargs I awk ’ {print strtonum(//0x//$4)}J >> $RESULT_DIR/pw_cpu.log &
$IPM1-b 0x6 -t 0x2c raw 0x2e 0xc8 0x57 0x01 0x00 0x01 0x2 0x0 |/usr/bin/xargsIawk ’{print strtonum(〃0x〃$4)}’ >> $RESULT_DIR/pw_mem.log &
$IPMI sensor get Total—Power >> $RESULT—DIR/pw—total.log &
}
设置过滤器程序,以完成对测试结果的整合处理,只保留关键数据,结合上述代码,一组代码如下:
funct1n filter—sensor()
{
Awk ’/Sensor Reading/{print $4},$RESULT_DIR/CPU0_Temp.log ? $RESULT_DIR/CPUO—Temp.tmp
awk ’/Sensor Reading/{print $4},$RESULT_DIR/CPUl_Temp.log >> $RESULT_DIR/CPUI—T emp.tmp
awk ’/Sensor Reading/{print $4},$RESULT_DIR/PCH_Temp.log ? $RESULT_DIR/PCH—Temp.tmp
awk ’/Sensor Reading/{print $4}’ $RESULT_DIR/Inlet_Temp.log >> $RESULT_DIR/Inlet_Temp.tmp
awk ’/Sensor Reading/{print $4},$RESULT_DIR/Outlet_Temp.log >> $RESULT_DIR/Outlet_Temp.tmp
awk ’/Sensor Reading/{print $4}, $RESULT_DIR/SYS_12V.log ? $RESULT_DIR/SYS—12V.tmp
awk ’/Sensor Reading/{print $4}’ $RESULT_DIR/SYS_5V.log ? $RESULT_DIR/SYS—5V.tmp
awk ’/Sensor Reading/{print $4}’ $RESULT_DIR/SYS_3.3V.log ? $RESULT_DIR/SYS—3.3V.tmpawk '/Sensor Reading/{print $4}' $RESULT_DIR/pw_total.log >> $RESULT_DIR/pw_total.tmp
echo 〃CPU0_Temp,CPUl_Temp,PCH_Temp,Inlet_Temp,Outlet_Temp,SYS_12V,SYS_5V,SYS_3.3V,pw_cpu,pw_mem,pw_total〃 > $RESULT_DIR/Sensor_Total.csv
paste -d, $RESULT_DIR/CPUO_Temp.tmp $RESULT_DIR/CPUl_Temp.tmp $RESULT_DIR/PCH_Temp.tmp $RESULT_DIR/Inlet_Temp.tmp $RESULT_DIR/Outlet_Temp.tmp $RESULT_DIR/SYS_12V.tmp $RESULT_DIR/SYS_5V.tmp $RESULT_DIR/SYS_3.3V.tmp $RESULT_DIR/pw_cpu.log $RESULT_DIR/pw_mem.log $RESULT_DIR/pw_total.tmp >> $RESULT_DIR/Sensor_Total.csv
查看运行结果,测试完成后将结果重定向到测试目录下以日期和时间为名生成的文件夹,文件夹下面会有Sensor_Total.csv文件,此文件中记录所有测试的测试结果。
[0015]本发明通过脚本可实现多台服务器BMC各状态值的监控,返回的结果可以重定向到文档中,以便于查看数据是否正常。传统的方式我们都是手动建立各种环境,然后通过查看BMC日志,以检验各状态值在不同环境中是否有异常。通过脚本自动执行,可以减少手动的操作,也可以保存完整的数据,提高测试的准确度。
[0016]本测试程序在不同产品,不同OS下均可运行,并且可以同时监控多台服务器的BMC状态,该程序操作简便,具有较强易用性;便于维护;无需冗杂的结果处理,大大节省了测试时间,提高了测试效率。
【主权项】
1.一种自动化检验服务器BMC稳定性的方法,其特征是 测试机安装Iinux内核的操作系统及shell测试脚本,root身份登录到操作系统中,输入检验服务器BMC管理IP,ping通后获取BMC状态; 设置相关变量,及脚本运行参数; 建立结果文件夹,将不同的BMC状态结果记录到不同文档中。2.根据权利要求1所述的方法,其特征是shelI测试脚本设置过滤器程序,对测试结果的整合处理,只保留关键数据。3.根据权利要求1或2所述的方法,其特征是测试机输入多台检验服务器BMC管理IP,各自Ping通后获取各自BMC状态。4.根据权利要求3所述的方法,其特征是不同的BMC状态结果包括记录fru信息结果、记录chassis状态信息、记录Ian信息、记录me信息、记录sensor信息。5.根据权利要求4所述的方法,其特征是以时间和日期为名建立结果文件夹。
【文档编号】G06F11/36GK105893261SQ201610200372
【公开日】2016年8月24日
【申请日】2016年4月1日
【发明人】韩琳琳
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1