掌桥专利:专业的专利平台
掌桥专利
首页

自动进行稳定性测试的方法、系统、电子设备及存储介质

文献发布时间:2023-06-19 19:30:30


自动进行稳定性测试的方法、系统、电子设备及存储介质

技术领域

本发明涉及服务器稳定性测试技术领域,尤其涉及一种自动进行稳定性测试的方法、系统、电子设备及存储介质。

背景技术

Cycle测试,包含重启、DC和AC测试,通过不同的关机和开机方式对服务器的可靠性进行测试检验,检查是否存在系统宕机,设备丢失,是否产生告警日志,错误记录数值增加等异常情况,测试服务器产品上线是否高可用性。三者主要区别如下:重启为系统软件层面,系统下执行reboot指令来实现,系统S5/S0power有保留;DC为模拟用户按电源键进行关机和开机的动作,系统S5power保留,S0power有个重新开启的过程;而AC为模拟服务器外部电源输入的断开,系统S5/S0power均断开再开启(S5power待机电,S0power开机电),这种为最恶劣的异常场景。

而目前通过人为控制开关,来控制服务器外部电源的断开,将使得测试效率低下,同时还会占用过多的人力资源。

发明内容

有鉴于此,本发明提供一种自动进行稳定性测试的方法、系统、电子设备及存储介质。旨在通过BMC自动控制服务器的电源的输入和断开,以提高测试效率和减少人力资源的占用。

在本发明实施例的第一方面,提供了一种自动进行稳定性测试的方法,所述方法应用于终端设备,包括:

通过BMC串口接入BMC系统;

预设BMC系统的静态IP;

根据预设的BMC系统的静态IP,将稳定性自动测试脚本发送并存储至BMC系统的根目录,以及,将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录;

在BMC系统上电开机后,稳定性自动测试脚本自动运行以控制PSU进行断电和上电的循环;

在PSU每次上电以及BMC系统检测正常后,服务器开机执行AC测试脚本,以进行稳定性测试。

可选的,所述方法还包括:

根据稳定性测试需求,确定自动进行稳定性测试的目标次数,将稳定性自动测试脚本中的断电和上电的循环次数预设为目标次数,以控制服务器自动进行目标次数的稳定性测试。

可选的,稳定性自动测试脚本中包括计数单元;通过所述计数单元,记录稳定性测试过程中的PSU的断电和上电的循环次数,在循环次数等于目标次数时,结束PSU的断电和上电的循环;

通过所述计数单元,对每次稳定性测试设置时间戳,以记录每次稳定性测试的执行时长。

可选的,所述稳定性自动测试脚本中包括环境设定单元和断电上电控制单元;

通过所述环境设定单元,将记录服务器进行稳定性测试获得的bios日志输出至BMC系统串口;

所述在BMC系统上电开机后,稳定性自动测试脚本自动运行以控制PSU进行断电和上电的循环,包括:

在BMC系统上电开机后,通过所述环境设定单元,控制稳定性自动测试脚本进行自动运行;

在稳定性自动测试脚本运行后,通过所述断电上电控制单元,控制PSU进行断电和上电的循环。

可选的,所述稳定性自动测试脚本中包括流程控制单元;

所述在PSU每次上电以及BMC系统检测正常后,服务器开机执行AC测试脚本,以进行稳定性测试,包括:

在PSU每次上电以及BMC系统检测正常后,服务器自动开机;

在服务器正常开机后,服务器执行AC测试脚本,以进行稳定性测试,以及,通过所述流程控制单元,实时监测服务器的开机状态;

在服务器完成稳定性测试后,执行关机动作;

在所述流程控制单元监测到关机动作后,通过所述断电上电控制单元控制PSU进行断电操作。

可选的,所述在稳定性自动测试脚本运行后,通过所述断电上电控制单元,控制PSU进行断电和上电的循环,包括:

在通过所述断电上电控制单元控制PSU进行断电操作后,通过所述断电上电控制单元,控制服务器的PSU在断电后的预设时间间隔后进行上电。

可选地,稳定性自动测试脚本中的断电上电控制单元的构建,包括:通过终端设备在BMC串口环境中输入PSU寄存器地址查询指令,获得服务器的PSU寄存器地址;

根据获得的服务器的PSU寄存器地址,构建稳定性自动测试脚本中的断电上电控制单元。

可选地,所述方法还包括:

通过所述流程控制单元,监测通过BMC系统对PSU进行断电的操作,在BMC系统对PSU的断电操作执行失效时,进行预设次数的重试。

在本发明实施例的第二方面,提供了一种自动进行稳定性测试的系统,所述系统包括:终端设备,BMC系统,服务器;所述终端设备通过BMC串口接入BMC系统;

所述终端设备,用于在所述终端设备通过BMC串口接入BMC系统后,通过所述BMC串口预设BMC系统的静态IP;

所述终端设备,用于根据预设的BMC系统的静态IP,将稳定性自动测试脚本发送并存储至BMC系统的根目录,以及,将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录;

所述BMC系统,用于在BMC系统上电开机后,控制稳定性自动测试脚本自动运行以控制PSU进行断电和上电的循环;

所述服务器,用于在PSU每次上电以及BMC系统检测正常后,服务器开机执行AC测试脚本,以进行稳定性测试。

在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现本发明第一方面提供的一种自动进行稳定性测试的方法的步骤。

在本发明实施例的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面所述的一种自动进行稳定性测试的方法。

针对在先技术,本发明具备如下优点:

本发明实施例提供的一种自动进行稳定性测试的方法,终端设备通过BMC串口接入BMC系统。在接入BMC系统后,通过终端设备控制BMC系统,并预设BMC系统的静态IP,根据预设的BMC系统的静态IP,将创建的稳定性自动测试脚本发送并存储至BMC系统的根目录,为了使得创建的稳定性自动测试脚本能够在BMC系统中进行执行,同时将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录中。在BMC系统上电每次上电开机后,稳定性自动测试脚本将自动运行以控制服务器的PSU(power supply unit)进行断电和上电的循环。在PSU每次上电,也就是向包括BMC和服务器的系统输入电力后,BMC系统将随即进行开机,并在BMC系统检测正常后,服务器自动开机,在服务器自动开机后便执行AC测试脚本,以进行稳定性测试。由此将只需工程人员在终端设备侧通过BMC系统控制服务器自动进行多次AC测试,而无需再通过人为控制开关,来控制服务器外部电源的断电和上电来进行服务器的AC测试,由此将有效提高服务器的AC测试效率和节约人力成本。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例提供的一种自动进行稳定性测试的方法的流程图;

图2为本发明实施例提供的一种自动进行稳定性测试的方法中的终端设备接入BMC系统的示意图;

图3为本发明实施例提供的一种自动进行稳定性测试的方法中的BMC系统静态IP设置的示意图;

图4为本发明实施例提供的一种自动进行稳定性测试的方法中的服务器的PSU的寄存器地址获取的示意图;

图5为本发明实施例提供的一种自动进行稳定性测试的系统的示意图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。

图1为本发明实施例提供的一种自动进行稳定性测试的方法的流程图,如图1所示,该方法应用于终端设备,该方法包括:

步骤S101:通过BMC串口接入BMC系统;

步骤S102:预设BMC系统的静态IP;

步骤S103:根据预设的BMC系统的静态IP,将稳定性自动测试脚本发送并存储至BMC系统的根目录,以及,将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录;

步骤S104:在BMC系统上电开机后,稳定性自动测试脚本自动运行以控制PSU进行断电和上电的循环;

步骤S105:在PSU每次上电以及BMC系统检测正常后,服务器开机执行AC测试脚本,以进行稳定性测试。

在本发明的实施例中,首先通过终端设备连接BMC串口环境。使用USB转Type C线缆连接服务器的前置面板CMU(Communication Management Unit,通信管理单元)上的TypeC系统debug接口,线缆另外一端连接终端设备,如笔记本设备等。在笔记本设备上开启串口软件,如MobaXterm,通过输入账号和密码(root/OpenBmc)进入BMC串口环境。图2为本发明实施例提供的一种自动进行稳定性测试的方法中的终端设备接入BMC系统的示意图,如图2所示,即为终端设备成功接入BMC系统,进入到BMC串口环境。

在终端设备通过BMC串口接入BMC(Baseboard Management Controller)系统后,工程人员将可通过终端设备对BMC系统进行控制。本发明是基于构建的稳定性自动测试脚本通过BMC系统控制服务器自动进行AC测试。因此,本发明通过将构建的稳定性自动测试脚本发送至BMC系统,以使得BMC系统能够通过执行该构建的稳定性自动测试脚本来控制服务器自动进行AC测试。而为了能够将构建的稳定性自动测试脚本发送至BMC系统,本发明在终端设备接入BMC系统后,通过终端设备预设BMC系统的静态IP。在通过终端设备设置好BMC系统的静态IP后,根据该静态IP,通过终端设备将构建的稳定性自动测试脚本发送并存储至该静态IP的BMC系统的根目录中。同时为了能够让该构建的稳定性自动测试脚本能够在BMC系统中正确执行,同时将该构建的稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录中。

在将该构建的稳定性自动测试脚本和该构建的稳定性自动测试脚本的可执行权限文件均发送并存储至BMC系统的根目录后,在BMC系统每次上电开机后,该构建的稳定性自动测试脚本将自动运行以控制服务器的PSU(power supply unit)进行断电和上电的循环。其中,服务器的PSU为服务器的电源装置组件,本发明中服务器的PSU将一直有电源向其提供电力,本发明构建的稳定性自动测试脚本将控制的是PSU是否向由服务器和BMC组成的系统输入电力从,从而实现服务器端的断电和上电。

在服务器的PSU每次上电后,BMC系统将随即上电开机,而服务器将在服务器的PSU每次上电后,在BMC系统检测整个由服务器和BMC组成的总系统正常后,服务器才会开机并执行AC测试脚本,以进行稳定性测试。

在本发明的实施例中,图3为本发明实施例提供的一种自动进行稳定性测试的方法中的BMC系统静态IP设置的示意图,如图3所示,通过终端设备在BMC串口环境下,通过串口软件(如MobaXterm),以ssh方式连接,将构建的稳定性自动测试脚本发送并存储至BMC系统的根目录下。如图3中所示的代码的第一行为进入BMC静态IP设置的模式,代码的第二行即为设置的BMC的静态IP,也就是172.27.35.102,代码的第三行即为设置子网掩码,也就是255.255.255.0,代码的第五行即为查看BMC系统的静态IP是否设置成功,并获取到设置的静态IP和子网掩码。

本发明实施例提供的一种自动进行稳定性测试的方法,终端设备通过BMC串口接入BMC系统。在接入BMC系统后,通过终端设备控制BMC系统,并预设BMC系统的静态IP,根据预设的BMC系统的静态IP,将创建的稳定性自动测试脚本发送并存储至BMC系统的根目录,为了使得创建的稳定性自动测试脚本能够在BMC系统中进行执行,同时将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录中。在BMC系统上电每次上电开机后,稳定性自动测试脚本将自动运行以控制服务器的PSU(power supply unit)进行断电和上电的循环。在PSU每次上电,也就是向包括BMC和服务器的系统输入电力后,BMC系统将随即进行开机,并在BMC系统检测正常后,服务器自动开机,在服务器自动开机后便执行AC测试脚本,以进行稳定性测试。由此将只需工程人员在终端设备侧通过BMC系统控制服务器自动进行多次AC测试,而无需再通过人为控制开关,来控制服务器外部电源的断电和上电来进行服务器的AC测试,由此将有效提高服务器的AC测试效率和节约人力成本。

在本发明中,所述方法还包括:根据稳定性测试需求,确定自动进行稳定性测试的目标次数,将稳定性自动测试脚本中的断电和上电的循环次数预设为目标次数,以控制服务器自动进行目标次数的稳定性测试。

在本发明的实施例中,不同服务器所需要进行稳定性测试的需求不同,为使得本发明所提供的一种自动进行稳定性测试的方法能够适用于不同的测试需求,本发明将根据稳定性测试需求,确定服务器将进行稳定性测试的目标次数。根据确定的服务器将进行稳定性测试的目标次数,将稳定性自动测试脚本中的断电和上电的循环次数预设为目标次数,以控制服务器自动进行目标次数的稳定性测试。

在本发明中,稳定性自动测试脚本中包括计数单元;通过所述计数单元,记录稳定性测试过程中的PSU的断电和上电的循环次数,在循环次数等于目标次数时,结束PSU的断电和上电的循环;通过所述计数单元,对每次稳定性测试设置时间戳,以记录每次稳定性测试的执行时长。

在本发明的实施例中,构建的稳定性自动测试脚本中包括计数单元,通过计数单元记录服务器进行稳定性测试过程中的PSU的断电和上电的循环次数,在断电和上电的循环次数等于目标次数时,将结束PSU的断电和上电的循环,从而使得服务器在进行目标次数的稳定性测试后结束测试。同时,通过构建的稳定性自动测试脚本中的计数单元对每次的稳定性测试设置时间戳,以记录每次稳定性测试的执行时长,以便于后续对稳定性测试的结果进行debug过程中找到测试过程中的问题所在。

在本发明的实施例中,构建的稳定性自动测试脚本中的计数单元的代码如下:

在本发明中,所述稳定性自动测试脚本中包括环境设定单元和断电上电控制单元;通过所述环境设定单元,将记录服务器进行稳定性测试获得的bios日志输出至BMC系统串口;所述在BMC系统上电开机后,稳定性自动测试脚本自动运行以控制PSU进行断电和上电的循环,包括:在BMC系统上电开机后,通过所述环境设定单元,控制稳定性自动测试脚本进行自动运行;在稳定性自动测试脚本运行后,通过所述断电上电控制单元,控制PSU进行断电和上电的循环。

在本发明的实施例中,构建的稳定性自动测试脚本中包括环境设定单元和断电上电控制单元。通过构建的稳定性自动测试脚本中的环境设定单元,将记录的服务器每次进行稳定性测试获得的bios日志输出至BMC系统串口,从而使得终端设备能够获取到这些bios日志,以进行后续的debug。

在本发明的实施例中,步骤S104在BMC系统上电开机后,稳定性自动测试脚本自动运行以控制PSU进行断电和上电的循环,具体包括:在服务器的PSU上电后,BMC系统随即上电开机,此时在BMC系统上电开机后,构建的稳定性自动测试脚本中的环境设定单元将使得整个构建的稳定性自动测试脚本能够自动运行。

而在构建的稳定性自动测试脚本运行后,由构建的稳定性自动测试脚本中的断电上电控制单元控制服务器的PSU进行断电和上电的循环。具体地,根据断电上电控制单元的代码,在特定条件下控制服务器的PSU进行断电,并在断电和上电的循环未达到目标次数的情况下,指示PSU在经过一定时间间隔后进行上电。

在本发明的实施例中,构建的稳定性自动测试脚本中的环境设定单元的代码如下:

在本发明的实施例中,构建的稳定性自动测试脚本中的断电上电控制单元的代码如下:

在本发明中,所述稳定性自动测试脚本中包括流程控制单元;所述在PSU每次上电以及BMC系统检测正常后,服务器开机执行AC测试脚本,以进行稳定性测试,包括:在PSU每次上电以及BMC系统检测正常后,服务器自动开机;在服务器正常开机后,服务器执行AC测试脚本,以进行稳定性测试,以及,通过所述流程控制单元,实时监测服务器的开机状态;在服务器完成稳定性测试后,执行关机动作;在所述流程控制单元监测到关机动作后,通过所述断电上电控制单元控制PSU进行断电操作。

在本发明的实施例中,构建的稳定性自动测试脚本中包括流程控制单元。在服务器的PSU每次上电后,也就是服务器的PSU向由服务器和BMC组成的总系统输出电力后,BMC系统将随即开机,在BMC系统开机检测到由服务器和BMC组成的总系统正常后,将触发服务器自动开机。在服务器正常开机后,服务器将执行AC测试脚本,以进行稳定性测试。同时,在服务器正常开机后,构建的稳定性自动测试脚本中的流程控制单元同时将实时监测服务器的开机状态。而构建的稳定性自动测试脚本中的流程控制单元将实时监测服务器的开机状态目的是确定服务器是否执行了触发断电上电控制单元控制PSU进行断电操作的触发条件,该触发条件为服务器执行关机动作。

具体地,服务器正常开机后,构建的稳定性自动测试脚本中的流程控制单元将实时监测服务器的开机状态,在构建的稳定性自动测试脚本中的流程控制单元的监测过程中,在服务器完成稳定性测试后执行了关机动作时,构建的稳定性自动测试脚本中的流程控制单元将监测到关机动作。在构建的稳定性自动测试脚本中的流程控制单元监测到该关机动作后,构建的稳定性自动测试脚本中的断电上电控制单元将控制PSU进行断电操作,以进行新循环。

在本发明的实施例中,构建的稳定性自动测试脚本中的流程控制单元的代码如下:

/>

在本发明中,所述在稳定性自动测试脚本运行后,通过所述断电上电控制单元,控制PSU进行断电和上电的循环,包括:在通过所述断电上电控制单元控制PSU进行断电操作后,通过所述断电上电控制单元,控制服务器的PSU在断电后的预设时间间隔后进行上电。

在本发明的实施例中,通过本发明的上述实施方式将通过构建的稳定性自动测试脚本中的断电上电控制单元控制PSU进行自动断电操作。同时,构建的稳定性自动测试脚本中的断电上电控制单元在控制PSU进行断电操作后,同时在服务器的PSU在断电后的预设时间间隔后将自动上电以向由BMC系统和服务器组成的总系统供电,从而控制服务器的PSU进行自动断电和上电,进而实现服务器自动进行稳定性测试。

在本发明的实施例中,稳定性自动测试脚本中的断电上电控制单元的构建,包括:通过终端设备在BMC串口环境中输入PSU寄存器地址查询指令,获得服务器的PSU寄存器地址;根据获得的服务器的PSU寄存器地址,构建稳定性自动测试脚本中的断电上电控制单元。

在本发明的实施例中,通过终端设备在BMC串口环境内输入服务器的PSU寄存器地址的查询指令,该查询指令为i2cdetect–y 5,从而获取到服务器的PSU寄存器地址。在获得服务器的PSU寄存器地址后,根据获得的服务器的PSU寄存器地址,构建稳定性自动测试脚本中的断电上电控制单元。

在本发明的实施例中,图4为本发明实施例提供的一种自动进行稳定性测试的方法中的服务器的PSU的寄存器地址获取的示意图,如图4所示,通过终端设备在BMC串口环境下输入服务器的PSU寄存器地址的查询指令i2cdetect–y 5,将获得如图4所示的内容,图中显示UU的部分即表示挂有电源PSU设备的寄存器地址,纵轴为寄存器地址高位,横轴为寄存器地址低位。因此,如图4中所示的服务器的电源PSU设备挂载情况为0x58,0x59两个,即挂载了两个电源PSU设备。在断电和上电时,需要同时控制该两个电源PSU设备的断电和上电。

在本发明中,所述方法还包括:通过所述流程控制单元,监测通过BMC系统对PSU进行断电的操作,在BMC系统对PSU的断电操作执行失效时,进行预设次数的重试。

在本发明的实施例中,在实际测试过程中,构建的稳定性自动测试脚本中的断电上电控制单元在控制服务器的PSU断电存在失效的情况,也就是执行不成功,导致无法控制服务器的PSU断电,而为了提高本发明的一种自动进行稳定性测试的方法的执行有效性,本发明通过对构建的稳定性自动测试脚本中的流程控制单元进行二次改进,使得构建的稳定性自动测试脚本中的流程控制单元能够监测通过BMC系统对PSU进行断电的操作。在构建的稳定性自动测试脚本中的流程控制单元监测到BMC系统对服务器的PSU的断电操作执行失效时,进行预设次数的重试。其中,预设次数可根据实际需求进行设定,在此不做具体限定。

在本发明的实施例中,构建的稳定性自动测试脚本的完整代码如下:

/>

/>

/>

在本发明的实施例中,如上述的构建的稳定性自动测试脚本的完整代码所示,存储于BMC系统的稳定性自动测试脚本的脚本名为psu_cycle.sh,将稳定性自动测试脚本psu_cycle.sh存储在BMC系统的根目录,同时将稳定性自动测试脚本psu_cycle.sh的可执行权限chmod–R 777psu_cycle.sh存储在BMC系统的根目录下,以保证稳定性自动测试脚本psu_cycle.sh能够正确执行。根据测试需求,将稳定性自动测试脚本psu_cycle.sh的断电和上电的循环次数设置为目标次数。如上述的构建的稳定性自动测试脚本的完整代码所示,其中if[¥cnt-ge 502];then中的502即为稳定性自动测试脚本psu_cycle.sh的断电和上电的循环次数,可根据测试需求,将稳定性自动测试脚本psu_cycle.sh的断电和上电的循环次数设置为目标次数。运行稳定性自动测试脚本sh./psu_cycle.sh,服务器端执行原来的AC测试脚本,两个脚本连动即可实现目标次数的AC稳定性自动化测试。

在本发明的实施例中,上述稳定性自动测试脚本psu_cycle.sh中的sleep65表征的是在服务器的PSU上电后,BMC系统将随即开机,而BMC系统开机到BMC系统准备好还需要一段时间,此时预设稳定性自动测试脚本psu_cycle.sh在等待65秒后开始自动运行,以提供BMC系统足够的准备时间,在BMC系统准备好后再进行稳定性自动测试脚本psu_cycle.sh的自动运行。在稳定性自动测试脚本psu_cycle.sh自动运行后,并且BMC系统检测到由BMC系统和服务器组成的总的系统正常后,服务器将自动开机,此时通过指令ipmitoo lchassis power status监测服务器的开机状态,并将开机状态保存在单独的日志中,以便于检查服务器上电自动开机功能是否正常,同时可以监控开机失败情况和失效率。

在本发明的实施例中,在服务器正常开机后,一直监测服务器的开机状态,服务器在完成对AC测试脚本的执行,以完成对稳定性的测试后,会执行power off的关机动作,在稳定性自动测试脚本psu_cycle.sh监测到服务器的关机动作后,将控制服务器的PSU进行断电操作并在断电预设时长后使PSU向由BMC系统和服务器组成的总的系统进行上电,以自动进行下一次的服务器的AC测试。

在本发明的实施例中,在实际应用过程中发现,在稳定性自动测试脚本psu_cycle.sh在控制服务器的PSU进行断电的过程中,存在失效的情况,也就是未成功控制服务器的PSU进行断电。而为了提高本发明自动化执行过程中的有效性,在稳定性自动测试脚本psu_cycle.sh中增加电源断电和上电的失效监测机制,终端设备通过BMC系统中的稳定性自动测试脚本psu_cycle.sh对服务器的PSU下电失效后进行预设次数的重试断电动作,以确保断电过程的可靠稳定,如上述稳定性自动测试脚本psu_cycle.sh的完整代码所示,该进行预设次数的重试断电动作由稳定性自动测试脚本psu_cycle.sh中的流程控制单元实现。

在本发明的实施例中,本发明的实施方式适用于CPU架构为ARM(Advanced RISCMachine)的服务器。应当理解的是,对于其他的CPU架构,本发明通过终端设备进入BMC串口环境控制服务器的PSU进行自动断电和上电的实施方式也是适用的,其只需适应性地修改本发明中构建的稳定性自动测试脚本。

在本发明的实施例中,本发明的整个实施过程为:首先通过终端设备连接BMC串口环境。具体为使用USB转Type C线缆连接服务器的前置面板CMU(CommunicationManagement Unit,通信管理单元)上的TypeC系统debug接口,线缆另外一端连接终端设备,如笔记本设备等。在笔记本设备上开启串口软件,如MobaXterm,通过输入账号和密码(root/OpenBmc)进入BMC串口环境。在终端设备通过BMC串口接入BMC(BaseboardManagementController)系统后,通过终端设备在BMC串口环境中预设BMC的静态IP。在终端设备通过BMC串口环境对BMC系统进行静态IP设置后,工程人员通过该终端设备中的串口软件(如MobaXterm),以ssh方式连接,将构建的稳定性自动测试脚本发送并存储至BMC系统的根目录下,同时将该构建的稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录中。

在将该构建的稳定性自动测试脚本和该构建的稳定性自动测试脚本的可执行权限文件均发送并存储至BMC系统的根目录后,在服务器的PSU上电后,BMC系统随即上电开机,此时在BMC系统上电开机后,构建的稳定性自动测试脚本中的环境设定单元将使得整个构建的稳定性自动测试脚本在BMC系统上电开机后能够自动运行。

而在构建的稳定性自动测试脚本运行后,将由构建的稳定性自动测试脚本中的断电上电控制单元控制服务器的PSU进行断电和上电的循环。具体地,将由构建的稳定性自动测试脚本中的流程控制单元监测到能够触发构建的稳定性自动测试脚本中的断电上电控制单元执行的触发条件,在构建的稳定性自动测试脚本中的流程控制单元监测到触发条件时,稳定性自动测试脚本中的断电上电控制单元将进行执行,以控制服务器的PSU进行断电和上电。

在本发明的实施例中,触发构建的稳定性自动测试脚本中的断电上电控制单元进行执行的触发过程包括:在服务器的PSU每次上电后,也就是服务器的PSU向由服务器和BMC组成的总系统输出电力后,BMC系统将随即开机,在BMC系统开机检测到由服务器和BMC组成的总系统正常后,将触发服务器自动开机。在服务器正常开机后,服务器将执行AC测试脚本,以进行稳定性测试。同时,在服务器正常开机后,构建的稳定性自动测试脚本中的流程控制单元同时将实时监测服务器的开机状态,在服务器完成AC测试时,服务器将执行关机动作,此时,构建的稳定性自动测试脚本中的流程控制单元将监测到服务器的关机动作,此时将触发稳定性自动测试脚本中的断电上电控制单元的执行,以控制服务器PSU断开向由BMC系统和服务器组成的总系统的供电。而在控制PSU断电后的预设时间,服务器的PSU又将自动向由BMC系统和服务器组成的总系统进行上电。

同时,在服务器每次进行稳定性测试后,将获得bios日志,该日志将通过构建的稳定性自动测试脚本中的环境设定单元输出至BMC系统串口环境,从而使得终端设备能够获取到这些bios日志,以进行后续的debug。

同时,本发明中构建的稳定性自动测试脚本中的流程控制单元能够监测到BMC系统中的稳定性自动测试脚本中的断电上电控制单元对服务器的PSU的断电操作执行是否失效,在监测到BMC系统中的稳定性自动测试脚本中的断电上电控制单元对服务器的PSU的断电操作执行失效时,通过BMC系统中的稳定性自动测试脚本中的流程控制单元控制BMC系统中的稳定性自动测试脚本中的断电上电单元进行预设次数的断电操作重试。

本发明实施例提供的一种自动进行稳定性测试的方法,终端设备通过BMC串口接入BMC系统。在接入BMC系统后,通过终端设备控制BMC系统,并预设BMC系统的静态IP,根据预设的BMC系统的静态IP,将创建的稳定性自动测试脚本发送并存储至BMC系统的根目录,为了使得创建的稳定性自动测试脚本能够在BMC系统中进行执行,同时将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录中。在BMC系统上电每次上电开机后,稳定性自动测试脚本将自动运行以控制服务器的PSU(power supply unit)进行断电和上电的循环。在PSU每次上电,也就是向包括BMC和服务器的系统输入电力后,BMC系统将随即进行开机,并在BMC系统检测正常后,服务器自动开机,在服务器自动开机后便执行AC测试脚本,以进行稳定性测试。由此将只需工程人员在终端设备侧通过BMC系统控制服务器自动进行多次AC测试,而无需再通过人为控制开关,来控制服务器外部电源的断电和上电来进行服务器的AC测试,由此将有效提高服务器的AC测试效率和节约人力成本。

在本发明实施例的第二方面,提供了一种自动进行稳定性测试的系统,图5为本发明实施例提供的一种自动进行稳定性测试的系统的示意图。如图5所示,所述系统500包括:终端设备501,BMC系统502,服务器503;所述终端设备501通过BMC串口接入BMC系统502;

所述终端设备501,用于在所述终端设备通过BMC串口接入BMC系统后,通过所述BMC串口预设BMC系统的静态IP;

所述终端设备501,用于根据预设的BMC系统的静态IP,将稳定性自动测试脚本发送并存储至BMC系统的根目录,以及,将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录;

所述BMC系统502,用于在BMC系统上电开机后,控制稳定性自动测试脚本自动运行以控制PSU进行断电和上电的循环;

所述服务器503,用于在PSU每次上电以及BMC系统检测正常后,服务器开机执行AC测试脚本,以进行稳定性测试。

可选地,所述BMC系统中的稳定性自动测试脚本包括循环次数确定单元,用于根据稳定性测试需求,确定自动进行稳定性测试的目标次数,将稳定性自动测试脚本中的断电和上电的循环次数预设为目标次数,以控制服务器自动进行目标次数的稳定性测试。

可选地,所述BMC系统中的稳定性自动测试脚本中包括计数单元;所述稳定性自动测试脚本中的计数单元用于,记录稳定性测试过程中的PSU的断电和上电的循环次数,在循环次数等于目标次数时,结束PSU的断电和上电的循环;

所述稳定性自动测试脚本中的计数单元,用于对每次稳定性测试设置时间戳,以记录每次稳定性测试的执行时长。

可选地,所述BMC系统中的稳定性自动测试脚本中包括环境设定单元和断电上电控制单元;

所述稳定性自动测试脚本中的所述环境设定单元,用于将记录服务器进行稳定性测试获得的bios日志输出至BMC系统串口;

所述稳定性自动测试脚本中的所述环境设定单元,用于在BMC系统上电开机后,控制稳定性自动测试脚本进行自动运行;

所述稳定性自动测试脚本中的所述断电上电控制单元,用于在稳定性自动测试脚本运行后,控制PSU进行断电和上电的循环。

可选地,所述BMC系统中的稳定性自动测试脚本中包括流程控制单元;

所述稳定性自动测试脚本中的流程控制单元,用于在PSU每次上电以及BMC系统检测正常后,监测服务器的自动开机,在服务器正常开机后,服务器执行AC测试脚本,以进行稳定性测试的过程中,实时监测服务器的开机状态;

所述稳定性自动测试脚本中的流程控制单元,用于在监测到服务器完成稳定性测试后的关机动作后,通过所述断电上电控制单元控制PSU进行断电操作。

可选地,所述BMC系统中的稳定性自动测试脚本中的所述断电上电控制单元控制PSU进行断电和上电的循环,具体包括:在通过所述断电上电控制单元控制PSU进行断电操作后,通过所述断电上电控制单元,控制服务器的PSU在断电后的预设时间间隔后进行上电。

可选地,所述BMC系统中的稳定性自动测试脚本中的所述断电上电控制单元的构建,包括:通过终端设备在BMC串口环境中输入PSU寄存器地址查询指令,获得服务器的PSU寄存器地址;根据获得的服务器的PSU寄存器地址,构建稳定性自动测试脚本中的断电上电控制单元。

可选地,所述BMC系统中的稳定性自动测试脚本中的所述流程控制单元,用于监测通过BMC系统对PSU进行断电的操作,并在BMC系统对PSU的断电操作执行失效时,进行预设次数的断电操作重试。

在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现本发明第一方面提供的一种自动进行稳定性测试的方法的步骤。

在本发明实施例的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明第一方面所述的一种自动进行稳定性测试的方法。

本发明实施例提供的一种自动进行稳定性测试的方法,终端设备通过BMC串口接入BMC系统。在接入BMC系统后,通过终端设备控制BMC系统,并预设BMC系统的静态IP,根据预设的BMC系统的静态IP,将创建的稳定性自动测试脚本发送并存储至BMC系统的根目录,为了使得创建的稳定性自动测试脚本能够在BMC系统中进行执行,同时将稳定性自动测试脚本的可执行权限文件发送并存储至BMC系统的根目录中。在BMC系统上电每次上电开机后,稳定性自动测试脚本将自动运行以控制服务器的PSU(power supply unit)进行断电和上电的循环。在PSU每次上电,也就是向包括BMC和服务器的系统输入电力后,BMC系统将随即进行开机,并在BMC系统检测正常后,服务器自动开机,在服务器自动开机后便执行AC测试脚本,以进行稳定性测试。由此将只需工程人员在终端设备侧通过BMC系统控制服务器自动进行多次AC测试,而无需再通过人为控制开关,来控制服务器外部电源的断电和上电来进行服务器的AC测试,由此将有效提高服务器的AC测试效率和节约人力成本。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

技术分类

06120115930810