一种对bmc升降级稳定性进行测试的方法及装置的制造方法

文档序号:10654412阅读:370来源:国知局
一种对bmc升降级稳定性进行测试的方法及装置的制造方法
【专利摘要】本发明提供了一种对BMC升降级稳定性进行测试的方法及装置,该方法包括:确定对基板管理控制器BMC进行升降级处理的目标次数;对所述BMC进行升降级处理;获取对所述BMC进行升降级处理后所述BMC的状态信息;判断对所述BMC进行升降级的总次数是否达到所述目标次数;如果否,执行所述对所述BMC进行升降级处理;如果是,根据各个所述状态信息是否正常,进一步判断所述BMC的升降级稳定性是否合格。该装置包括:确定单元、处理单元、获取单元、判断单元及执行单元。本方案能够提高服务器的稳定性。
【专利说明】
一种对BMC升降级稳定性进行测试的方法及装置
技术领域
[0001]本发明涉及计算机性能测试技术领域,特别涉及一种对BMC升降级稳定性进行测试的方法及装置。【背景技术】
[0002]随着计算机技术的不断发展与进步,计算机的应用领域越来越广泛,服务器作为一种高性能、高安全性的计算机也被广泛应用于通信、医疗、军事、银行等领域。为了能够对服务器进行更全面的监控以及更便捷的维护,在服务器主板上设置有BMC( (Baseboard Management Controller,基板管理控制器)。由于BMC独立于操作系统,因而通过BMC可以实现对服务器进行带外监控,并可以在服务器操作系统不响应或未加载的情况下对服务器进行开关机、信息提取等操作。
[0003]为了完善BMC的功能,需要不断开发新的固件,以对BMC进行升级,同时一些用户为了实现特定的目的需要对BMC进行降级,还原到原来的固件版本。[〇〇〇4]目前在对服务器进行测试时,仅对服务器的操作系统以及硬盘设备的稳定性进行测试,从而保证服务器在开始工作后能够提供稳定的计算服务。
[0005]由于BMC独立于操作系统,所以BMC在升级或降级过程出现异常可能会影响服务器的操作系统,造成服务器重启或宕机。而目前对服务器进行测试时不对BMC的升降级稳定性进行测试,BMC升级或降级可能造成服务器重启或宕机,因而服务器的稳定性较低。
【发明内容】

[0006]本发明实施例提供了一种对BMC升降级稳定性进行测试的方法及装置,能够提高服务器的稳定性。
[0007]本发明实施例提供了一种对BMC升降级稳定性进行测试的方法,包括:
[0008]确定对基板管理控制器BMC进行升降级处理的目标次数;
[0009]对所述BMC进行升降级处理;
[0010]获取对所述BMC进行升降级处理后所述BMC的状态信息;
[0011]判断对所述BMC进行升降级的总次数是否达到所述目标次数;
[0012]如果否,执行所述对所述BMC进行升降级处理;[〇〇13]如果是,根据各个所述状态信息是否正常,进一步判断所述BMC的升降级稳定性是否合格。
[0014] 优选地,所述对所述BMC进行升降级处理包括:[〇〇15]预先设定一个初始值为1的计数值,判断所述计数值是否为奇数;[〇〇16]如果是,对所述BMC进行升级处理,并对所述计数值加1;[〇〇17]如果否,对所述BMC进行降级处理,并对所述计数值加1。[〇〇18]优选地,所述判断对所述BMC进行升降级处理的总次数是否达到所述目标次数包括:
[0019]将所述计数值与所述目标次数进行比较,如果所述计数值小于或等于所述目标次数,判断对所述BMC进行升降级处理的总次数未达到所述目标次数,如果所述计数值大于所述目标次数,判断对所述BMC进行升降级处理的总次数已达到所述目标次数。
[0020]优选地,所述获取对所述BMC进行升降级处理后所述BMC的状态信息包括:[〇〇21]当对所述BMC进行升级处理时,获取升级处理后所述BMC的第一状态信息,当对所述BMC进行降级处理时,获取降级处理后所述BMC的第二状态信息,其中所述状态信息包括所述第一状态信息或所述第二状态信息。[0〇22] 优选地,[〇〇23]在所述获取升级处理后所述BMC的第一状态信息之后进一步包括:
[0024]将所述第一状态信息存储到预设的升级日志文件中;[〇〇25]在所述获取降级处理后所述BMC的第二状态信息之后进一步包括:
[0026]将所述第二状态信息存储到预设的降级日志文件中;[〇〇27]所述根据各个所述状态信息是否正常,进一步判断所述BMC的升降级稳定性是否合格包括:
[0028]判断所述升级日志文件中记录的各条第一状态信息以及所述降级日志文件中记录的各条第二状态信息是否均未出现异常,如果是,确定所述BMC的升降级稳定性合格,否则确定所述BMC的升降级稳定性不合格。
[0029]优选地,[〇〇3〇]所述状态信息包括:BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC 地址信息以及BMC系统事件日志中的任意一个或多个。
[0031]本发明实施例还提供了一种对BMC升降级稳定性进行测试的装置,包括:确定单元、处理单元、获取单元、判断单元及执行单元;[〇〇32]所述确定单元,用于确定对基板管理控制器BMC进行升降级处理的目标次数;[〇〇33] 所述处理单元,用于对所述BMC进行升降级处理;[〇〇34] 所述获取单元,用于获取所述处理单元对所述BMC进行升降级处理后所述BMC的状态fg息;[〇〇35]所述判断单元,用于判断所述处理单元对所述BMC进行升降级处理的总次数是否达到所述确定单元确定的目标次数;
[0036]所述执行单元,用于根据所述判断单元的判断结果,如果否,触发所述处理单元对所述BMC进行升降级处理,如果是,根据所述获取单元获取到的各个状态信息,进一步判断所述BMC的升降级稳定性是否合格。[〇〇37] 优选地,
[0038]所述处理单元,用于预先设定一个初始值为1的计数值,判断所述计数值是否为奇数,如果是,对所述BMC进行升级处理,并对所述计数值加1;如果否,对所述BMC进行降级处理,并对所述计数值加1。[〇〇39] 优选地,
[0040]所述判断单元,用于将所述计数值与所述目标次数进行比较,如果所述计数值小于或等于所述目标次数,判断对所述BMC进行升降级处理的总次数未达到所述目标次数,如果所述计数值大于所述目标次数,判断对所述BMC进行升降级处理的总次数已达到所述目标次数。
[0041] 优选地,[〇〇42]所述获取单元,用于当对所述BMC进行升级处理时,获取升级处理后所述BMC的第一状态信息,当对所述BMC进行降级处理时,获取降级处理后所述BMC的第二状态信息,其中所述状态信息包括所述第一状态信息或所述第二状态信息。[〇〇43] 优选地,
[0044]所述获取单元,进一步用于将所述第一状态信息存储到预设的升级日志文件中, 将所述第二状态信息存储到预设的降级日志文件中;
[0045]所述执行单元,用于判断所述升级日志文件中记录的各条第一状态信息以及所述降级日志文件中记录的各条第二状态信息是否均未发生异常,如果是,确定所述BMC的升降级稳定性合格,否则确定所述BMC的升降级稳定性不合格。
[0046]本发明实施例提供了一种对BMC升降级稳定性进行测试的方法及装置,对BMC进行升降级处理,获取每次升降级处理后BMC的状态信息,直至对BMC进行升降级处理的次数达到设定的目标次数,根据每次升降级处理后获取到的状态信息是否正常判断BMC的升降级稳定性是否合格。这样,对BMC进行一定次数的升级处理及降级处理,根据升级处理或降级处理后BMC的状态信息判断对BMC的升级处理或降级处理是否造成了 BMC的状态出现异常, 从而判断BMC的升降级是否会对服务器的正常运行造成影响,避免了 BMC升降级稳定性较差影响服务器稳定性的情况发生,从而提高了服务器的稳定性。【附图说明】
[0047]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[〇〇48]图1是本发明一个实施例提供的一种对BMC升降级稳定性进行测试的方法流程图;
[0049]图2是本发明另一个实施例提供的一种对BMC升降级稳定性进行测试的方法刘恒图;
[0050]图3是本发明一个实施例提供的一种对BMC升降级稳定性进行测试的装置所在设备的不意图;[0051 ]图4是本发明一个实施例提供的一种对BMC升降级稳定性进行测试的装置示意图。 【具体实施方式】[〇〇52]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]如图1所示,本发明实施例提供了一种对BMC升降级稳定性进行测试的方法,该方法可以包括以下步骤:[〇〇54]步骤101:确定对基板管理控制器BMC进行升降级处理的目标次数;
[0055] 步骤102:对所述BMC进行升降级处理;[〇〇56] 步骤103:获取对所述BMC进行升降级处理后所述BMC的状态信息;[〇〇57]步骤104:判断对所述BMC进行升降级的总次数是否达到所述目标次数,如果是,执行步骤105,否则执行步骤102;[〇〇58]步骤105:根据各个所述状态信息是否正常,进一步判断所述BMC的升降级稳定性是否合格。
[0059]本发明实施例提供了一种对BMC升降级稳定性进行测试的方法,对BMC进行升降级处理,获取每次升降级处理后BMC的状态信息,直至对BMC进行升降级处理的次数达到设定的目标次数,根据每次升降级处理后获取到的状态信息是否正常判断BMC的升降级稳定性是否合格。这样,对BMC进行一定次数的升级处理及降级处理,根据升级处理或降级处理后 BMC的状态信息判断对BMC的升级处理或降级处理是否造成了 BMC的状态出现异常,从而判断BMC的升降级是否会对服务器的正常运行造成影响,避免了 BMC升降级稳定性较差影响服务器稳定性的情况发生,从而提高了服务器的稳定性。
[0060]在本发明一个实施例中,预先设定一个初始值为1的计数值,每次对BMC进行升级处理或降级处理后,对计数值加1。每次对BMC进行升降级处理之前,判断计数值为奇数还是偶数,当计数值为奇数时对BMC进行升级处理,当计数值为偶数时对BMC进行降级处理。这样,通过判断计数值的奇偶性,可以交替对BMC进行升级处理和降级处理,使每一次对BMC进行的升降级处理都会对BMC的固件版本进行更新,保证每一次升降级处理的有效性。[0061 ]在本发明一个实施例中,由于计数值的初始值为1,而且每一次对BMC进行升级处理或降级处理后动会对计数值加1,因而计数值减1等于对BMC已经进行了的升级处理次数与降级处理次数之和,将计数值与目标次数进行比较便可以判断出对BMC进行的升降级次数是否达到了要求的次数。这样,通过设定计数值既可以实现交替对BMC进行升级处理和降级处理,还能够确定对BMC进行升降级处理已经的完成次数,并能够在升降级处理次数达到目标次数时自动停止对BMC进行升降级处理,提高了该对BMC升降级稳定性进行测试的方法的易用性。[〇〇62]在本发明一个实施例中,对BMC进行升降级处理后获取到的状态信息包括第一状态信息或第二状态信息,其中第一状态信息是对BMC进行升级处理后获取到的状态信息,第二状态信息是对BMC进行降级处理后获取到的状态信息。这样分别获取对BMC进行升级处理及降级处理后BMC的状态信息,可以分别确定BMC的升级稳定性和降级稳定性,从而确定具体是升级处理过程出现异常还是降级处理过程出现异常,以针对性对BMC进行优化设计。 [〇〇63]在本发明一个实施例中,在获取到BMC的第一状态信息之后,将第一状态信息存储到预设的升级日志文件中,在获取到BMC的第二状态信息之后,将第二状态信息存储到预设的降级日志文件中;在判断BMC的升降级稳定性是否合格时,分别判断升级日志文件中每条第一状态信息以及降级日志文件中每条第二状态信息是否均没有出现异常,如果是则确定 BMC的升降级稳定性合格,否则确定BMC的升降级稳定性不合格。这样,将每一次升级操作后获取到的第一状态信息存储到升级日志文件中,将每一次降级操作后获取到的第二状态信息存储到降级日志文件中,通过升级日志文件及降级日志文件可以获悉对BMC升降级稳定性进行测试的整个过程中BMC状态信息的变化情况,一方面可以记录测试过程,方便后期查验,另一方面为BMC升降级稳定性判断提供参考。
[0064]在本发明一个实施例中,状态信息中包括有BMC固件版本信息、BMC功能状态信息、 BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志中的任意一个或多个。这样,通过 BMC的多个状态信息对BMC的升降级稳定性进行评判,提高了对BMC升降级稳定性进行测试的全面性及测试结果的准确性。[〇〇65]为使本发明的目的、技术方案和优点更加清楚,下面以在windows系统下对BMC升降级稳定性进行测试为例,对本发明实施例提供的对BMC升降级稳定性进行测试的方法作进一步地详细描述。
[0066]如图2所示,本发明实施例提供了一种对BMC升降级稳定性进行测试的方法,该方法可以包括以下步骤:[〇〇67] 步骤201:确定对BMC进行升降级处理的目标次数。[〇〇68] 在本发明一个实施例中,当需要对一个服务器上的BMC进行升降级稳定性测试时, 根据客户的要求或者相应地测试标准,确定对BMC进行升级处理及降级处理的总次数作为目标次数。[〇〇69] 例如,根据客户要求,需要对A型号的服务器上的BMC进行400次升级测试,400次降级测试,并要求400次升级测试和400次降级测试BMC均不能出现异常情况,这样,将对A型号服务器上的BMC进行升降级处理的次数确定为800。
[0070] 步骤202:确定对BMC进行升级处理的第一固件及对BMC进行降级处理的第二固件。 [〇〇71]在本发明一个实施例中,在对BMC进行升降级处理之前,确定两个BMC固件,两个 BMC固件中第一固件的版本高于第二固件的版本,第一固件用于对BMC进行升级处理,第二固件用于对BMC进行降级处理。其中BMC的原有固件可以与第一固件或第二固件相同,也可以与第一固件及第二固件均不相同,当原有固件与第一固件及第二固件均不相同时,原有固件的版本可以比第一固件的版本高,或者比第二固件的版本低,或者位于第一固件的版本与第二固件的版本之间。
[0072] 例如,确定名称为Cheetah_BMC_1.5.0_Ali_20150616的BMC固件为第一固件,确定名称为alil211的BMC固件为第二固件,其中BMC的当前固件版本与第二固件相同。[〇〇73]步骤203:判断预设的计数值是否为奇数,如果是,执行步骤204,否则执行步骤 206 〇
[0074]在本发明一个实施例中,预先确定一个初始值为1的计数值,在后续每一次对BMC 进行升级处理或降级处理后都会对该计数值加1。每一次对BMC进行升级处理或降级处理之前对计数值的奇偶性进行一次判断,如果计数值是奇数,则对BMC进行升级处理,相应地执行步骤204,如果计数值是偶数,则对BMC进行降级处理,相应地执行步骤206。[0〇75]例如,预先设定一个初始值为1的计数值number,通过计算脚本程序对当前的计数值number进行除以2的运算,确定运算结束后的余数,如果余数是1,说明计数值number为奇数,相应地执行步骤204;如果余数为0,说明计数值number为偶数,相应地执行步骤206。具体地计算脚本程序如下所示:
[0076]set/a count= %number% % %2
[0077]if"%count%"= = "l"goto shengji
[0078]if count %//= = //〇//goto jiangji[〇〇79] 其中,脚本程序shengji为对BMC进行升级处理的脚本程序,在步骤204中被执行,脚本程序j i ang j i为对BMC进行降级处理的脚本城西,在步骤***中被执行。
[0080]步骤204:通过第一固件对BMC进行升级处理。
[0081]在本发明一个实施例中,在判断计数值为奇数后,读取当前的计数值,将当前的计数值输出到预设的升级日志文件中,记录本次对BMC进行升降级稳定性测试的具体次数。通过步骤202中确定出的第一固件对BMC进行升级处理,用第一固件替换BMC的当前固件,实现对BMC进行一次升级处理。[0〇82] 例如,执行升级脚本程序shengji,调用刷新工具socflash_x64对BMC进行升级处理,用第一固件〇166七&11_81?:_1.5.0_厶11_20150616替换81(:的当前固件3111211,完成对81?: 进行升级处理。具体的升级脚本程序shengji如下所示:
[0083]ipmitool?exe_I ms fru read 0./fru.bin
[0084]s〇cflash_x64if = Cheetah_BMC_1.5.0_Ali_20150616
[0085]ping-n 100 127.0.0.l>nul 2>nul[〇〇86]步骤205:获取升级处理后BMC的第一状态信息,将第一状态信息存储到升级日志文件中,对计数值加1后执行步骤208。[〇〇87]在本发明一个实施例中,对BMC进行升级处理完成后,对BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志中的任意一个或多个进行获取,将获取到的BMC状态信息作为第一状态信息存储到升级日志文件中,并对计数值加1后覆盖原有计数值。然后针对新的计数值执行步骤208。[〇〇88]例如,步骤204中提供的升级脚本程序shengji中还包括另外一部分程序代码,该部分程序代码用于获取升级处理后BMC的BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志,将获取到的BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志作为第一状态信息存储到升级日志文件shengji ? log中,然后对计数值number加1后覆盖原有的计数值number。具体的升级脚本程序shengji包括的另外一部分程序代码如下所示:
[0089]echo"Below is bmc vers1n〃>>shengj1.log
[0090]ipmitool.exe-1 ms raw 0x06 0x01>>shengj1.log BMC
[0091]echo"Below is sel list">>shengji?log
[0092]ipmitool.exe-1 ms sel list>>shengj1.log BMC
[0093]echo〃Below is ncsi status〃>>shengj1.log
[0094]ipmitool.exe-1 ms raw 0x3a 0x11 0x00>>shengj1.log
[0095]echo〃Below is fru informat1n”》jiangj1.log
[0096]ipmitool.exe-1 ms fru write 0./fru.bin
[0097]ping-n 10 127.0.0.l>nul 2>nul
[0098]ipmitool.exe-1 ms fru>>shengj1.log
[0099]echo"Below is MAC Address">>shengji?log
[0100]ipmitool.exe-1 ms lan print 1|find〃MAC Address〃>>shengj1.log
[0101]ipmitool.exe-1 ms lan print 8|find〃MAC Address〃>>shengj1.log
[0102]set/a number = number+l[〇1〇3] 步骤206:通过第二固件对BMC进行降级处理D
[0104]在本发明一个实施例中,在判断计数值为偶数后,读取当前的计数值,将当前的计数值输出到预设的降级日志文件中,记录本次对BMC进行升降级稳定性测试的具体次数。通过步骤202中确定出的第二固件对BMC进行降级处理,用第二固件替换BMC的当前固件,实现对BMC进行一次降级处理。[〇1〇5] 例如,通过降级脚本程序jiangji,调用刷新工具socflash_x64对BMC进行降级处理,用第二固件ali 1211 替换BMC的当前固件Cheetah_BMC_l ? 5 ? 0_A1 i_20150616,完成对BMC 进行降级处理。具体的降级脚本程序jiangji如下所示:
[0106]ipmitool?exe_I ms fru read 0./fru.bin
[0107] socf lash_x64if = alil211
[0108]ping-n 100 127.0.0.l>nul 2>nul[〇1〇9]步骤207:获取降级处理后BMC的第二状态信息,将第二状态信息存储到降级日志文件中,并对计数值加1。
[0110]在本发明一个实施例中,对BMC进行降级处理完成后,对BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志中的任意一个或多个进行获取,将获取到的BMC状态信息作为第二状态信息存储到降级日志文件中,并对计数值加1后覆盖原有计数值。
[0111]例如,步骤206中提供的降级脚本程序jiangji中还包括另外一部分程序代码,该部分程序代码用于获取降级处理后BMC的固件版本信息、BMC功能状态信息、BMC资产信息、 BMC的MAC地址信息以及BMC系统事件日志,将获取到的BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志作为第二状态信息存储到降级日志文件jiangji ? log中,然后对计数值number加1后覆盖原有的计数值number。具体的降级脚本程序jiangji包括的另外一部分程序代码如下所示:
[0112]echo〃Below is bmc vers1n”》jiangji?log
[0113]ipmitool?exe_I ms raw 0x06 0x01>>jiangj1.log
[0114]echo〃Below is sel list〃>>jiangji?log
[0115]ipmitool?exe_I ms sel list>>jiangj1.log
[0116]echo〃Below is ncsi status”》jiangji ? log
[0117]ipmitool?exe_I ms raw 0x3a 0x11 0x00>>jiangj1.log
[0118]echo^Below is fru informat1n"》jiangji?log
[0119]ipmitool?exe_I ms fru write 0./fru.bin
[0120]ping-n 10 127.0.0.l>nul 2>nul
[0121]ipmitool?exe_I ms fru>>jiangj1.log
[0122]echo"Below is MAC Address"〉〉jiangji?log
[0123]ipmitool?exe_I ms lan print 1|fincTMAC Address"〉〉jiangji?log
[0124]ipmitool?exe_I ms lan print 8|fincTMAC Address"〉〉jiangji?log
[0125]set/a number = number+l
[0126]步骤208:判断计数值是否大于目标次数,如果是,执行步骤209,否则执行步骤 203〇
[0127]在本发明一个实施例中,在完成一次对BMC进行的升级处理或降级处理后,将更新后的计数值与步骤201中确定的目标次数进行比较,如果计数值大于目标次数,说明对BMC 进行升级处理与降级处理的总次数已将达到了要求的次数,无需继续对BMC进行升级处理或降级处理,相应地执行步骤209;如果计数值小于或等于目标次数,说明对BMC进行升级处理与降级处理的总次数还没有达到要求的次数,仍需要继续对BMC进行升级处理或降低处理,相应地执行步骤203。[〇128] 例如,判断计数值number是否大于500,如果是,说明已经对BMC进行了400次升级处理和400次降级处理,对BMC进行升降级处理的总次数已达到了客户的要求,无需继续对 BMC进行升降级处理,相应地执行步骤209;如果否,说明对BMC进行升级处理或降级处理的次数还有没有达到客户的要求,还需要继续对BMC进行升级处理或降级处理,相应地执行步骤203。其中,当计数值number等于500时,还需要对BMC进行一次降级处理便达到了客户的要求。
[0129]步骤209:判断升级日志文件中各条第一状态信息以及降级日志文件中的各条第二状态信息是否均未出现异常,如果是,执行步骤210,否则执行步骤211。[〇13〇]在本发明一个实施例中,对BMC进行升级处理与降级处理的次数到达客户或相应标准的要求后,检查升级日志文件中的各条第一状态信息是否出现异常,并检查降级日志文件中的各条第二状态信息是否出现异常,如果升级日志文件中的各条第一状态信息以及降级日志文件中的各条第二状态信息均没有出现异常,说明BMC的升降级过程没有造成BMC 出现异常,相应地执行步骤210;如果升级日志文件中包括至少一条第一状态信息出现异常,或者降级日志文件中包括至少一条第二状态信息出现异常,或者升级日志文件中包括至少一条第一状态信息出现异常且降级日志文件中包括至少一条第二状态信息出现异常, 说明BMC的升降级过程造成了 BMC出现异常,相应地执行步骤211。
[0131]例如,对升级日志文件shengj1.log中每一次升级处理后获取到的BMC的固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志进行检查, 并对降级日志文件jiangj1.log中每一次降级处理后获取到的BMC的固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志进行检查,如果升级日志文件shengj1.log及降级日志文件jiangj1.log中的每一个BMC的固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志均没有出现异常,执行步骤210;如果升级日志文件shengj1.log或降级日志文件jiangj1.log中存在任意一个BMC的固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息或BMC系统事件日志出现异常,执行步骤210。
[0132]步骤210:确定BMC的升降级稳定性合格,并结束当前流程。
[0133]步骤211:确定BMC的升降级稳定性不合格。
[0134]需要说明的是,判断对BMC进行升降级处理的总次数是否达到目标次数的步骤可以在对BMC进行升级处理或降级处理之后,也可以在对BMC进行升级处理或降级处理之前。 下面以一个具体的脚本程序对后一种情况进行说明,其中以#开头的行为注释内容:
[0135]set/a number = 1
[0136]: loop
[0137]#如果需要更改升降级的总次数,修改如下的800即可。
[0138]if//%number%//= = //800//goto end
[0139]set/a count = % number% % %2
[0140]#奇数升级处理[0141 ]if ^ % count %//= = //l ^goto shengji
[0142]#偶数降级处理
[0143]ifcount%"= = "(/’goto jiangji
[0144]:shengji[〇145]#将当前是第几次升级处理输出到升级日志文件shengj1.log
[0146]echo〃This is%number% times//>>shengj1.log
[0147]#输出时间戳到shengji ? log
[0148]echo%date% % time%>>shengj1.log
[0149]#如下为升级过程
[0150]ipmitool.exe-1 ms fru read 0./fru.bin
[0151]socflash—x64if = Cheetah—BMC—1.5.0—Ali—20150616
[0152]#BMC刷新完成之后需要时间生效,此处使用ping来实现延迟100秒
[0153]ping-n 100 127.0.0.l>nul 2>nul
[0154]#如下为BMC版本、sel内容、fru信息的收集过程
[0155]echo"Below is bmc vers1n〃>>shengj1.log
[0156]ipmitool.exe-1 ms raw 0x06 0x01>>shengj1.log
[0157]echo"Below is sel list">>shengji?log
[0158]ipmitool.exe-1 ms sel list>>shengj1.log
[0159]echo"Below is ncsi status〃>>shengj1.log
[0160]ipmitool.exe-1 ms raw 0x3a 0x11 0x00>>shengj1.log [0161 ] echo〃Below is fru informat1n”》jiangj1.log
[0162]ipmitool.exe-1 ms fru write 0./fru.bin
[0163]ping-n 10 127.0.0.l>nul 2>nul
[0164]ipmitool.exe-1 ms fru>>shengj1.log
[0165]echo"Below is MAC Address">>shengji?log
[0166]ipmitool.exe-1 ms lan print 1|find〃MAC Address〃>>shengj1.log
[0167]ipmitool.exe-1 ms lan print 8|find〃MAC Address〃>>shengj1.log
[0168]set/a number = number+l
[0169]goto loop
[0170]jiangji[〇171]#将当前是第几次降级处理输出到降级日志文件jiangj1.log
[0172]echo〃This is%number%times//>> jiangj1.log
[0173]echo% date% % time% >> jiangj1.log
[0174]#如下为降级过程
[0175]ipmitool.exe-1 ms fru read 0?/fru.bin
[0176]socf lash—x64if = ali 1211
[0177]ping-n 100 127.0.0.l>nul 2>nul
[0178]#如下为BMC版本、sel内容、fru信息的收集过程
[0179]echo^Below is bmc vers1n〃>>jiangj1.log
[0180]ipmitool.exe-1 ms raw 0x06 0x01>>jiangj1.log
[0181]echo〃Below is sel list〃>>jiangj1.log
[0182]ipmitool.exe-1 ms sel 1 ist>>jiangj1.log
[0183]echo〃Below is ncsi status”》jiangj1.log
[0184]ipmitool.exe-1 ms raw 0x3a 0x11 0x00>>jiangj1.log
[0185]echo〃Below is fru informat1n”》jiangj1.log
[0186]ipmitool.exe-1 ms fru write 0./fru.bin
[0187]ping-n 10 127.0.0.l>nul 2>nul
[0188]ipmitool.exe-1 ms fru>>jiangj1.log
[0189]echo"Below is MAC Address"〉〉jiangji?log
[0190] ipmitool.exe-1 ms lan print 1|find〃MAC Address”》jiangj1.log
[0191] ipmitool.exe-1 ms lan print 8|find〃MAC Address”〉〉jiangj1.log
[0192]set/a number = number+l
[0193]goto loop
[0194]:end
[0195]exit
[0196]如图3、图4所示,本发明实施例提供了一种对BMC升降级稳定性进行测试的装置。 装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的对BMC升降级稳定性进行测试的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的对BMC升降级稳定性进行测试的装置,包括:确定单元401、处理单元402、获取单元403、判断单元404及执行单元405;
[0197]确定单元401,用于确定对基板管理控制器BMC进行升降级处理的目标次数;
[0198]处理单元402,用于对BMC进行升降级处理;
[0199]获取单元403,用于获取处理单元402对BMC进行升降级处理后BMC的状态信息; [〇2〇〇] 判断单元404,用于判断处理单元402对BMC进行升降级处理的总次数是否达到确定单元401确定的目标次数;[〇2〇1 ] 执行单元405,用于根据判断单元404的判断结果,如果否,触发处理单元402对BMC 进行升降级处理,如果是,根据获取单元403获取到的各个状态信息,进一步判断BMC的升降级稳定性是否合格。[〇2〇2]在本发明一个实施例中,处理单元402,用于预先设定一个初始值为1的计数值,判断计数值是否为奇数,如果是,对BMC进行升级处理,并对计数值加1;如果否,对BMC进行降级处理,并对计数值加1。
[0203]在本发明一个实施例中,判断单元404,用于将计数值与目标次数进行比较,如果计数值小于或等于目标次数,判断对BMC进行升降级处理的总次数未达到目标次数,如果计数值大于目标次数,判断对BMC进行升降级处理的总次数已达到目标次数;[〇2〇4] 在本发明一个实施例中,获取单元403,用于当对BMC进行升级处理时,获取升级处理后BMC的第一状态信息,当对BMC进行降级处理时,获取降级处理后BMC的第二状态信息, 其中状态信息包括第一状态信息或第二状态信息。[〇2〇5]在本发明一个实施例中,获取单元403,进一步用于将第一状态信息存储到预设的升级日志文件中,将第二状态信息存储到预设的降级日志文件中;执行单元405,用于判断升级日志文件中记录的各条第一状态信息以及降级日志文件中记录的各条第二状态信息是否均未发生异常,如果是,确定BMC的升降级稳定性合格,否则确定BMC的升降级稳定性不合格。
[0206]上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0207]本发明提供的各个实施例,至少具有如下有益效果:[〇2〇8]1、对BMC进行升降级处理,获取每次升降级处理后BMC的状态信息,直至对BMC进行升降级处理的次数达到设定的目标次数,根据每次升降级处理后获取到的状态信息是否正常判断BMC的升降级稳定性是否合格。这样,对BMC进行一定次数的升级处理及降级处理,根据升级处理或降级处理后BMC的状态信息判断对BMC的升级处理或降级处理是否造成了 BMC 的状态出现异常,从而判断BMC的升降级是否会对服务器的正常运行造成影响,避免了 BMC 升降级稳定性较差影响服务器稳定性的情况发生,从而提高了服务器的稳定性。
[0209]2、本发明实施例提供的对BMC升降级稳定性进行测试的方法不针对于某一种特定的服务器操作系统,在各种服务器操作系统下均能够通过该方法对BMC的升降级稳定性进行测试,提高了该对BMC升降级稳定性进行测试的方法的适用性。[〇21〇]3、设定一个初始值为1的计数值,每次对BMC进行升级处理或降级处理后对该计数值加1,这样通过判断计数值的奇偶性可以交替对BMC进行升级处理和降级处理,使每一次对BMC进行的升降级处理都会对BMC的固件版本进行更新,保证每一次升降级处理的有效性。
[0211]4、每一次对BMC进行升级处理后降级处理后都会对计数值加1,而且计数值的初始值为1,从而根据计数值的大小可以确定已经对BMC进行了的升降级处理的总次数,将计数值与目标次数进行比较,可以实现在升降级总次数达到目标次数时自动停止对BMC进行升降级处理,提高了该对BMC升降级稳定性进行测试的方法的易用性。[〇212]5、对BMC进行升降处理或降级处理后获取的BMC的状态信息包括BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址信息以及BMC系统事件日志中的任意一个或多个,通过BMC的多个状态信息对BMC的升降级稳定性进行评判,提高了对BMC升降级稳定性进行测试的全面性及测试结果的准确性。[〇213]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个.......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0214]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。[〇215]最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、 等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1.一种对BMC升降级稳定性进行测试的方法,其特征在于,包括:确定对基板管理控制器BMC进行升降级处理的目标次数;对所述BMC进行升降级处理;获取对所述BMC进行升降级处理后所述BMC的状态信息;判断对所述BMC进行升降级的总次数是否达到所述目标次数;如果否,执行所述对所述BMC进行升降级处理;如果是,根据各个所述状态信息是否正常,进一步判断所述BMC的升降级稳定性是否合 格。2.根据权利要求1所述的方法,其特征在于,所述对所述BMC进行升降级处理包括:预先设定一个初始值为1的计数值,判断所述计数值是否为奇数;如果是,对所述BMC进行升级处理,并对所述计数值加1;如果否,对所述BMC进行降级处理,并对所述计数值加1。3.根据权利要求2所述的方法,其特征在于,所述判断对所述BMC进行升降级处理的总次数是否达到所述目标次数包括:将所述计数值与所述目标次数进行比较,如果所述计数值小于或等于所述目标次数, 判断对所述BMC进行升降级处理的总次数未达到所述目标次数,如果所述计数值大于所述 目标次数,判断对所述BMC进行升降级处理的总次数已达到所述目标次数。4.根据权利要求2所述的方法,其特征在于,所述获取对所述BMC进行升降级处理后所述BMC的状态信息包括:当对所述BMC进行升级处理时,获取升级处理后所述BMC的第一状态信息,当对所述BMC 进行降级处理时,获取降级处理后所述BMC的第二状态信息,其中所述状态信息包括所述第 一状态信息或所述第二状态信息。5.根据权利要求4所述的方法,其特征在于,在所述获取升级处理后所述BMC的第一状态信息之后进一步包括:将所述第一状态信息存储到预设的升级日志文件中;在所述获取降级处理后所述BMC的第二状态信息之后进一步包括:将所述第二状态信息存储到预设的降级日志文件中;所述根据各个所述状态信息是否正常,进一步判断所述BMC的升降级稳定性是否合格 包括:判断所述升级日志文件中记录的各条第一状态信息以及所述降级日志文件中记录的 各条第二状态信息是否均未出现异常,如果是,确定所述BMC的升降级稳定性合格,否则确 定所述BMC的升降级稳定性不合格。6.根据权利要求1至5中任一所述的方法,其特征在于,所述状态信息包括:BMC固件版本信息、BMC功能状态信息、BMC资产信息、BMC的MAC地址 信息以及BMC系统事件日志中的任意一个或多个。7.—种对BMC升降级稳定性进行测试的装置,其特征在于,包括:确定单元、处理单元、 获取单元、判断单元及执行单元;所述确定单元,用于确定对基板管理控制器BMC进行升降级处理的目标次数;所述处理单元,用于对所述BMC进行升降级处理;所述获取单元,用于获取所述处理单元对所述BMC进行升降级处理后所述BMC的状态信 息;所述判断单元,用于判断所述处理单元对所述BMC进行升降级处理的总次数是否达到 所述确定单元确定的目标次数;所述执行单元,用于根据所述判断单元的判断结果,如果否,触发所述处理单元对所述 BMC进行升降级处理,如果是,根据所述获取单元获取到的各个状态信息,进一步判断所述 BMC的升降级稳定性是否合格。8.根据权利要求7所述的装置,其特征在于,所述处理单元,用于预先设定一个初始值为1的计数值,判断所述计数值是否为奇数, 如果是,对所述BMC进行升级处理,并对所述计数值加1;如果否,对所述BMC进行降级处理, 并对所述计数值加1。9.根据权利要求8所述的装置,其特征在于,所述判断单元,用于将所述计数值与所述目标次数进行比较,如果所述计数值小于或 等于所述目标次数,判断对所述BMC进行升降级处理的总次数未达到所述目标次数,如果所 述计数值大于所述目标次数,判断对所述BMC进行升降级处理的总次数已达到所述目标次 数;和/或,所述获取单元,用于当对所述BMC进行升级处理时,获取升级处理后所述BMC的第一状 态信息,当对所述BMC进行降级处理时,获取降级处理后所述BMC的第二状态信息,其中所述 状态信息包括所述第一状态信息或所述第二状态信息。10.根据权利要求9所述的装置,其特征在于,所述获取单元,进一步用于将所述第一状态信息存储到预设的升级日志文件中,将所 述第二状态信息存储到预设的降级日志文件中;所述执行单元,用于判断所述升级日志文件中记录的各条第一状态信息以及所述降级 日志文件中记录的各条第二状态信息是否均未发生异常,如果是,确定所述BMC的升降级稳 定性合格,否则确定所述BMC的升降级稳定性不合格。
【文档编号】G06F11/26GK106021054SQ201610335044
【公开日】2016年10月12日
【申请日】2016年5月19日
【发明人】闫硕
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1