首页> 中国专利> 一种基于shell测试rack资产信息稳定性的方法

一种基于shell测试rack资产信息稳定性的方法

摘要

本发明公开一种基于shell测试rack资产信息稳定性的方法,属于rack测试领域;本发明基于shell工具通过对服务器各个资产模块的访问,自动化执行测试步骤,自动保存以及处理测试结果;分别对bios/BMC资产号和序列号同步稳定性,CPU核数,内存条数及容量,硬盘个数容量进行检查,并进行自动化循环测试,收集测试结果;节省大量的人力、时间、成本等多方面的资源,也减少了不必要的人工交互过程,从而大大提高了测试效率。

著录项

  • 公开/公告号CN105068920A

    专利类型发明专利

  • 公开/公告日2015-11-18

    原文格式PDF

  • 申请/专利权人 浪潮电子信息产业股份有限公司;

    申请/专利号CN201510422607.3

  • 发明设计人 史沛玉;

    申请日2015-07-17

  • 分类号G06F11/36;

  • 代理机构济南信达专利事务所有限公司;

  • 代理人姜明

  • 地址 250101 山东省济南市高新区浪潮路1036号

  • 入库时间 2023-12-18 12:16:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-02

    授权

    授权

  • 2015-12-16

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20150717

    实质审查的生效

  • 2015-11-18

    公开

    公开

说明书

技术领域

本发明公开一种测试rack稳定性的方法,属于rack测试领域,具体地说是一种基于shell测试rack资产信息稳定性的方法。

背景技术

随着IT领域技术的不断发展,对服务器的稳定性要求越来越高。作为服务器产品提供商,一款服务器无论是在研发阶段还是生产阶段都需要对产品进行系统可靠性测试,从而严格保证该产品的稳定性。Rack,即机架式机柜,是一款集管理、供电、散热、服务为一体的高密度、高可用的整机柜,其当前全新的DMI/FRU产品名称、资产号、序列号等信息的同步设计,以及小空间大存储容量的无raid存储设计,性能得到进一步提升的同时,整机柜的稳定性就更加受到重视,然而在客户应用中,客户往往要根据服务的资产号序列号来分配IP、灌装OS等重要任务,磁盘上就会存有客户大量数据,一旦掉盘就是非常严重的故障,这些环节的稳定性比较薄弱。因此对于Rack这种整机柜产品,其稳定性必须要经过重点测试验证。但是,由于Rack服务器节点较多以及以往的测试需要大量的人力投入,造成测试人员需要花费大量精力和物力完成测试,而本发明提供一种基于shell测试rack资产信息稳定性的方法,基于shell工具通过对服务器资产信息的检查,自动化执行对比,测试结果的自动保存以及处理,节省大量的人力、时间、成本等多方面的资源,也减少了不必要的人工交互过程,从而大大提高了测试效率,并保证产品的稳定性,因而,具有很好的推广使用价值。

shell是一个免费的编程语言,用来实现自动和交互式任务进行通信,而无需人的干预。使用它可以创建脚本用来实现对命令或程序提供输入,shell则可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行。

发明内容

本发明针对Rack服务器节点较多以及以往的测试需要大量的人力投入,造成测试人员需要花费大量精力和物力完成测试的问题,提供一种基于shell测试rack资产信息稳定性的方法,节省大量的人力、时间、成本等多方面的资源,也减少了不必要的人工交互过程,从而大大提高了测试效率。

本发明提出的具体方案是:

一种基于shell测试rack资产信息稳定性的方法,基于shell工具通过对服务器各个资产模块的访问,自动化执行测试步骤,自动保存以及处理测试结果;分别对bios/BMC资产号和序列号同步稳定性,CPU核数,内存条数及容量,硬盘个数容量进行检查,并进行自动化循环测试,收集测试结果。

所述对bios/BMC资产号和序列号同步稳定性的检查,其过程为:shell脚本中首先通过dmidecode及ipmitoolfru指令分别抓取BIOSdmi及BMCfru中的资产号及产品序列号,然后对比dmi及fru中资产号及产品序列号是否一致,一致则判定dmi同步,fru资产及序列号成功;反之则fail。

所述CPU核数的检查过程为:通过catproc/cpuinfo获取服务器CPU核数,然后与已知的CPU核数比较,如果一致说明CPU工作正常,无失效情况,反之则fail。

所述内存条数及容量的检查过程为:通过脚本获取服务器内内存的容量及条数,然后与已知内存条数及容量去比较,如果数据一致,判定内存资产正常,反之则fail。

所述硬盘个数容量检查过程为:通过脚本获取HDD的个数及容量,然后与已知HDD数量及容量进行比较,如果数据一致,判定磁盘资产正常,反之则说明有掉盘情况。

所述自动化循环测试中将shell脚本的指令放在系统下rc.local中,并新增一行使得节点不断延时reboot。延时时间可设定,比如为100s等等。

所述对收集的测试结果,查看所记录的log有没有fail的日志,判断资产信息是否有变化。

本发明的有益之处是:本发明基于shell脚本,自动化测试rack资产信息稳定性,通过对服务器资产信息的检查,自动化执行对比,测试结果的自动保存以及处理来测试rack资产信息稳定性,节省大量的人力、时间、成本等多方面的资源,也减少了不必要的人工交互过程,从而大大提高了测试效率,并保证产品的稳定性,因而,具有很好的推广使用价值。

具体实施方式

一种基于shell测试rack资产信息稳定性的方法,基于shell工具通过对服务器各个资产模块的访问,自动化执行测试步骤,自动保存以及处理测试结果;分别对bios/BMC资产号和序列号同步稳定性,CPU核数,内存条数及容量,硬盘个数容量进行检查,并进行自动化循环测试,收集测试结果。

其中所述对bios/BMC资产号和序列号同步稳定性的检查,其过程为:shell脚本中首先通过dmidecode及ipmitoolfru指令分别抓取BIOSdmi及BMCfru中的资产号及产品序列号,然后对比dmi及fru中资产号及产品序列号是否一致,一致则判定dmi同步,fru资产及序列号成功;反之则fail。代码如下:

echo"thereboottimes:`tail-n1/root/times`"

biosserial=`/usr/sbin/dmidecode|grep-A5-i"Systeminformation"|awk'/Serial/{print$3}'`

biosasset=`/usr/sbin/dmidecode|grep-A5-i"BaseBoardInformation"|awk'/Asset/{print$3}'`

/sbin/serviceipmistart>/dev/null

if[$?=0];then

fruasset=`/usr/bin/ipmitoolfru|awk'/Asset/{print$5}'`

fruserial=`/usr/bin/ipmitoolfru|awk'/ProductSerial/{print$4}'`

else

echo-e"\033[41mIPMIDriverStartFAILED..............................Failed\033[0m"

fisn=$1

asset=$2

if["$1"!=""];then

if[$sn=$biosserial]&&[$sn=$fruserial];then

echo-e"\033[42mSerialNumberofThisNodeis$sn....................Passed\033[0m"

else

echo-e"\033[41mSerilaNumberofThisnode:BIOSSerial$biosserial,BMCSerial$fruserial.Needed$sn.....................Failed\033[0m"

fi

if[$asset];then

if["$asset"="$biosasset"]&&["$asset"="$fruasset"];then

echo-e"\033[42mZichanBianahoofThisNodeis$asset....................Passed\033[0m"

else

echo-e"\033[41mZichanBianahoofThisnode:BIOSAsset$biosasset,BMCAsset$fruasset.Needed$asset.....................Failed\033[0m"

fi

fi

fi

所述CPU核数的检查过程为:通过catproc/cpuinfo获取服务器CPU核数,然后与已知的CPU核数比较,如果一致说明CPU工作正常,无失效情况,反之则fail,代码如下:

coremount=$3

a=`cat/proc/cpuinfo|grep"modelname"|wc-l`

if[$coremount=$al];then

echo-e"\033[42mCPUcoresmountofThisNodeis$coremount................Passed\033[0m"

else

echo-e"\033[41mcoresmountofThisNodeisnot$coremount.................Failed\033[0m"

fi

内存条数及容量检查过程:通过脚本获取服务器内内存的容量及条数,然后与已知内存条数及容量去比较,如果数据一致,判定内存资产正常,反之则fail;代码如下:

memcap=$4

b=`free`

if[$memcap=$b];then

echo-e"\033[42mMEMcapacityofThisNodeis$memcap................Passed\033[0m"

else

echo-e"\033[41mMEMcapacityofThisNodeisnot$memcap............Failed\033[0m"

fi

硬盘个数容量检查过程:通过脚本获取HDD的个数及容量,然后与已知HDD数量及容量进行比较,如果数据一致,判定磁盘资产正常,反之则说明又掉盘情况;代码如下:

hddmount=$5

c=`fdisk-1|grepsd|wc-1`

if[$hddmount=$c];then

echo-e"\033[42mHDDmountofThisNodeis$hddmount................Passed\033[0m"

else

echo-e"\033[41mMEMcapacityofThisNodeisnot$hddmount........Failed\033[0m"

fi

所述自动化循环测试中将shell脚本的指令放在系统下rc.local中,并新增一行使得节点不断延时reboot。延时时间可设定,比如为100s代码添加如下:

./stabilitytest序列号资产编号cpu核数内存容量硬盘数量。

reboot

sleep100

所述对收集的测试结果,查看所记录的log有没有fail的日志,判断资产信息是否有变化。

收集测试结果:收集测试结果,查看所记录的log有没有fail的日志,判断资产信息是否有变化,把步骤1-4执行的结果全部重定向到stability.log文件中,此指令可作为stabilitytest组成部分,然后检索其中的fail项;代码如下:

所以结果重定向到stability.log

Alltestresultabove>>stability.log

检索测试结果

catstability.log|grepfail

本发明并不限于上述的具体实施方式。除本发明所要求保护的技术方案外,均为所属领域的技术人员可获知的现有技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号