本申请涉及整机柜服务器供电技术领域,尤其涉及一种检验bbu对整机柜稳定性影响的测试方法和系统。
背景技术:
在整机柜服务器供电领域,目前数据中心的后备电源系统主要包括交流ups系统、高压直流系统和bbu(batterybackupunit,电池备份单元)供电系统。其中,bbu供电系统中bbu电源的转换效率较高,而且以bbu作为数据中心的后备电源可以节省数据中心建设初期的资金投入,后期可随需扩展。bbu工作过程中对整机柜稳定性的影响,决定着bbu作为数据中心后备电源的可靠性,因此,检验bbu对整机柜稳定性的影响是bbu测试中的重要问题。
目前检验bbu对整机柜稳定性的影响,主要通过bbu供电作为备用电压对系统供电出现故障后,对故障进行排查来确定,并没有一套完整的测试方法。
然而,目前检验bbu对整机柜稳定性影响的方法,属于事后总结经验,并不能及时发现bbu对整机柜稳定性的不良影响,从而对bbu供电系统进行维护或更换以达到预警的目的。而且目前检验bbu对整机柜稳定性影响的方法,没有完整的测试流程,不能完全覆盖bbu的使用场景,因此也就不能整体评估bbu电源对整机柜稳定性的影响。
技术实现要素:
为克服相关技术中存在的不能及时发现bbu对整机柜稳定性的不良影响,以及不能整体评估bbu电源对整机柜稳定性影响的问题,本申请提供一种检验bbu对整机柜稳定性影响的测试方法和系统。
一种检验bbu对整机柜稳定性影响的测试方法,应用于装有bbu的整机柜,整机柜中安装有多个节点服务器,包括如下步骤:
s1:host主机通过脚本登录rmc(rackmanagementcontroller,rack整机柜管理模块),所述host主机与多个节点服务器之间通信连接;
s2:依次进行bbu自检测试、bbu放电测试和bbu充电测试;
s3:根据bbu的型号及测试需求,设置步骤s2的循环次数。
可选地,步骤s2包括如下过程:
s201:电源正常供电情况下,bbu启动升压自检放电并使bbu自检测试时间t1≥10分钟,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
s202:通过rmc自动关闭电源,bbu开始放电并使bbu放电测试时间t2满足5分钟≤t2≤10分钟,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
s203:通过rmc自动开启电源,电源对bbu进行充电并使bbu充电测试时间t3满足2小时≤t3≤3小时,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
可选地,步骤s2包括如下过程:
s211:电源正常供电情况下,bbu启动升压自检放电并放电至70%的电量,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
s212:通过rmc自动关闭电源,bbu开始放电并放电至10%-20%的电量,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
s213:通过rmc自动开启电源,电源对bbu进行充电并充电至95%-100%的电量,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
可选地,所述测试数据包括:各节点服务器的输入电压、rmc的log、各节点服务器bmc(baseboardmanagementcontroller,基板管理控制器)的log以及各节点服务器的系统log。
可选地,根据所采集的测试数据判断整机柜是否有异常,包括:
根据所述各节点服务器的输入电压判断各节点服务器是否有欠压或过压状况,根据所述rmc的log、各节点服务器bmc的log以及各节点服务器的系统log,判断整机柜和各节点服务器状态是否正常。
可选地,步骤s1之前,所述测试方法还包括如下过程:
配置测试环境。
可选地,所述配置测试环境包括如下过程:
s41:搭建一host主机,使所述host主机与整机柜的rmc、所述host主机与各节点服务器的bmc之间网络通畅;
s42:分别将rmc的syslogserverip以及各节点服务器的syslogserverip设置为host主机的ip,配置host主机syslog服务器;
s43:将host主机与各节点服务器之间设置为ssh免密码登录方式;
s44:对各节点服务器进行加压操作使整机柜达到最大功耗。
一种检验bbu对整机柜稳定性影响的测试系统,应用于装有bbu的整机柜,整机柜中安装有多个节点服务器,所述系统包括:
登录模块,用于通过host主机采用脚本的方式登录rmc,所述host主机与多个节点服务器之间通信连接;
测试模块,用于依次进行bbu自检测试、bbu放电测试和bbu充电测试;
循环设置模块,用于根据bbu的型号及测试需求,设置测试模块的循环测试次数。
可选地,所述测试模块包括:
第一bbu自检测试单元,用于在电源正常供电的情况下使bbu启动升压自检放电并使自检测试时间t1≥10分钟,以及,bbu自检过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
第一bbu放电测试单元,用于在电源关闭的情况下使bbu开始放电并使放电测试时间t2满足5分钟≤t2≤10分钟,以及,bbu放电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
第一bbu充电测试单元,用于在电源开启的情况下使电源对bbu进行充电并使充电测试时间t3满足2小时≤t3≤3小时,以及,bbu充电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
可选地,所述测试模块包括:
第二bbu自检测试单元,用于在电源正常供电的情况下使bbu启动升压自检放电并放电至70%的电量,以及,bbu自检过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
第二bbu放电测试单元,用于在电源关闭的情况下使bbu开始放电并放电至10%-20%的电量,以及,bbu放电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;
第二bbu充电测试单元,用于在电源开启的情况下使电源对bbu进行充电并充电至95%-100%的电量,以及,bbu充电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供的一种检验bbu对整机柜稳定性影响的测试方法,首先host主机通过脚本登录rmc;然后依次进行bbu自检测试、bbu放电测试和bbu充电测试;根据bbu的型号及测试需求,设置bbu自检测试、bbu放电测试和bbu充电测试的循环次数。其中bbu自检测试、bbu放电测试和bbu充电测试过程中连续采集各节点服务器的输入电压、rmc的log、各节点服务器bmc的log以及各节点服务器的系统log,根据这些测试数据分析bbu对整机柜稳定性的影响。本申请中的方法能够覆盖bbu的所有使用场景,包括bbu自检、bbu充电和bbu放电,从而能够更加全面地测试bbu对整机柜稳定性的影响,进而得出更加准确的测试结果。本申请实施例中的方法,能够在测试过程中连续采集各节点服务器的输入电压、rmc的log、各节点服务器bmc的log以及各节点服务器的系统log,从而能够及时发现bbu对整机柜稳定性的影响,因此,针对bbu运行过程中对整机柜稳定性的不良影响能够及时得到反馈以达到预警目的。另外,本申请中的方法采用脚本的方式来实现,这种自动化的操作,能够大大提高测试效率。
本申请提供的一种检验bbu对整机柜稳定性影响的测试系统,包括:登录模块、测试模块和循环设置模块。其中,登录模块用于通过host主机采用脚本的方式登录rmc,测试模块用于依次进行bbu自检测试、bbu放电测试和bbu充电测试,循环设置模块,用于根据bbu的型号及测试需求,设置测试模块的循环测试次数。本实施例中的测试系统能够完全覆盖bbu的使用场景,包括bbu自检、bbu充电和bbu放电,从而能够更加全面地测试bbu对整机柜稳定性的影响,进而得出更加准确的测试结果。而且本实施例中的测试系统,在测试过程中能够不间断采集各节点服务器的输入电压、rmc的log、各节点服务器bmc的log以及各节点服务器的系统log,从而能够及时发现bbu对整机柜稳定性的影响,达到整机柜稳定性不良时及时进行预警和反馈的目的。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种检验bbu对整机柜稳定性影响的测试方法的流程示意图;
图2为本申请实施例中步骤s2的一种实施方式的流程示意图;
图3为本申请实施例中步骤s2的另一种实施方式的流程示意图;
图4为本申请实施例提供的一种检验bbu对整机柜稳定性影响的测试系统的结构示意图;
符号表示:1-登录模块、2-测试模块、3-循环设置模块。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本申请进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。此外,本申请可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本申请省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本申请。
rackbbu机柜的稳定性测试是bbu测试中的重要测试项目。本申请提供一种检验bbu对整机柜稳定性影响的测试方法,也就是对装有bbu的rack整机柜在bbu各种充放电情况下机柜以及节点的稳定性自动测试方法。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
参见图1,图1是本申请实施例提供的一种检验bbu对整机柜稳定性影响的测试方法的流程示意图。
由图1可知,本申请实施例中的方法主要包括以下步骤:
s1:host主机通过脚本登录rmc,host主机与多个节点服务器之间通信连接。
本实施例中,host主机可以采用expect脚本的方式登录rmc。例如:
#!/usr/local/bin/expect
setpwadmin
spawnsshadmin@192.168.1.251
expect"*password:"
send"$pw\r"
expect"*system*"
通过以上示例的except脚本可以登录ip地址为192.168.1.251的rmc。
s2:依次进行bbu自检测试、bbu放电测试和bbu充电测试。
具体地,步骤s2的测试方法包括两种实施方式,下面分别结合图2和图3进行详细阐述。参见图2,图2为本申请实施例中步骤s2的一种实施方式的流程示意图。由图2可知,步骤s2又包括如下步骤:
s201:电源正常供电情况下,bbu启动升压自检放电并使bbu自检测试时间t1≥10分钟,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
本实施例中所提供的步骤s2从控制测试时间的角度来实现,不同的整机柜的自检测试时间与整机柜的负载有关,负载越大自检测试时间越长。本实施例中bbu自检测试时间t1大于等于10分钟,能够确保常规rack机柜的bbu进行一轮完整而全面的自检测试。通常选择自检测试时间为10分钟,这样既能保证bbu能够完成一轮自检,又能节省时间,提高自检测试的效率。本实施例中的电源是为整机柜供电的传统电源,bbu是备用电源。步骤s201中保持电源处于开启状态进行自检测试,能够保证bbu隔一段时间能够放电一次,确保bbu长期处于可工作状态,防止bbu失效,有利于保护bbu的性能。通常bbu每隔90天放电一次。
执行完步骤s201后,bbu自检测试过程中已经进行了一部分放电,然后执行步骤s202:通过rmc自动关闭电源,bbu开始放电并使bbu放电测试时间t2满足5分钟≤t2≤10分钟,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
步骤s202是在步骤s201已经放电一部分的基础上继续放电,需要注意的是,步骤s202是在电源关闭的状态下bbu进行放电测试。bbu放电测试时间t2满足5分钟≤t2≤10分钟。5-10分钟的放电时间能够防止bbu电量放空而导致整机柜掉电,或者由于bbu过度放电而对bbu的性能造成不良影响,而且,这种时间设置能够确保通过放电测试判断出整机柜的稳定性。优选放电测试时间为5分钟。
bbu放电结束后,执行步骤s203:通过rmc自动开启电源,电源对bbu进行充电并使bbu充电测试时间t3满足2小时≤t3≤3小时,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
bbu充电测试时间优选3小时,能够确保对bbu充电至bbu能够承受的最大电量,又不对bbu的性能造成不良影响。
以上步骤s201-s203中,测试数据包括:各节点服务器的输入电压、rmc的log、各节点服务器bmc的log以及各节点服务器的系统log。
相应地,根据所采集的以上测试数据判断整机柜是否有异常,包括:根据各节点服务器的输入电压判断各节点服务器是否有欠压或过压状况,根据rmc的log、各节点服务器bmc的log以及各节点服务器的系统log,判断整机柜和各节点服务器状态是否正常。
具体地,节点服务器的输入电压正常情况为12v±5%,即:11.4v-12.6v。如果各节点服务器中某一个节点服务器在测试期间某次抓取的输入电压在小于11.4v,判定该节点服务器有欠压状况;如果各节点服务器中某一个节点服务器在测试期间某次抓取的输入电压在大于12.6v,判定该节点服务器有过压状况。如果rmc的log中出现带有critical或者waring的日志时,判定整机柜状态不正常。如果各节点服务器bmc的log或者各节点服务器的某一个节点服务器的系统log中出现带有critical或者waring的日志时,判定该节点服务器状态不正常。根据以上节点服务器是否有欠压或过压状况、整机柜状态是否正常可以检验bbu对整机柜稳定性的影响。
以上步骤s201-s203中,通过脚本设定测试时间,通过控制测试时间来控制bbu自检测试、bbu放电测试和bbu充电测试,方便快捷,有利于提高测试效率。
参见图3,图3为本申请实施例中步骤s2的另一种实施方式的流程示意图。由图3可知,步骤s2包括如下过程:
s211:电源正常供电情况下,bbu启动升压自检放电并放电至70%的电量,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
本实施例中所提供的步骤s2从控制bbu电量的角度来实现,bbu的电量可以通过bmc实时获取。可以通过脚本设定bbu自检过程放电至70%电量,当bbu剩余电量达到自身满电量的70%时,bbu自检测试结束,进入下一个测试过程。
s212:通过rmc自动关闭电源,bbu开始放电并放电至10%-20%的电量,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
步骤s212是接着步骤s211的放电量继续进行放电,即步骤s212放电测试的起始电量为70%的电量。需要注意的是步骤s211是在电源开启的状态下进行,而步骤s212是在电源断开、bbu供电的状态下进行。通过查看bmc当bbu放电至自身满电量的10%-20%时,放电测试结束。使bbu剩余10%-20%的电量,能够防止bbu电量放空而导致整机柜掉电,或者由于bbu过度放电而对bbu的性能造成不良影响,而且,这种剩余电量设置能够确保通过放电测试判断出整机柜的稳定性。
s213:通过rmc自动开启电源,电源对bbu进行充电并充电至95%-100%的电量,此过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
以上步骤s211-s213中,测试数据的选择以及根据所采集的测试数据判断整机柜是否有异常的方法与图2所示实施例中相同,在此不再赘述。
由以上步骤s2可知,本申请中的测试方法能够覆盖bbu的所有使用场景,包括bbu自检、bbu充电和bbu放电,从而能够更加全面地测试bbu对整机柜稳定性的影响,进而得出更加准确的测试结果。
s3:根据bbu的型号及测试需求,设置步骤s2的循环次数。
本申请实施例中的测试方法为循环测试,即:以bbu自检测试、bbu放电测试和bbu充电测试为一个测试周期,进行多次循环测试来检验bbu对整机柜稳定性的英雄。具体循环次数根据bbu的型号以及整机柜的测试需求而定,针对常规的rack整机柜,通常循环次数设置为15次。如果以控制测试时间的方式进行测试,可以设置总测试时间为48小时。如果以控制bbu电量的方式进行测试,可以设置循环次数为15次。
本申请实施例中,步骤s1之前,还可以包括:配置测试环境。具体地,配置测试环境包括如下过程:
s41:搭建一host主机,使host主机与整机柜的rmc、host主机与各节点服务器的bmc之间网络通畅。
s42:分别将rmc的syslogserverip以及各节点服务器的syslogserverip设置为host主机的ip,配置host主机syslog服务器。
通过步骤s42能够确保host不断接收到rmc以及各节点服务器的log。
s43:将host主机与各节点服务器之间设置为ssh免密码登录方式。
s44:对各节点服务器进行加压操作使整机柜达到最大功耗。
针对常规的rack整机柜服务器,可将最大功耗设置为最大功耗≥8.8kw,即针对rack整机柜服务器最大功耗最小设定值为8.8kw。通常,当rack整机柜最大功耗达到8.8kw时,整机柜处于最大负载的情况,在这种最大负载情况下对整机柜服务器进行bbu的各项测试,能够获取更加可靠的测试数据。
利用以上步骤s41-s44,能够通过host主机快速获取测试数据,如:各节点服务器的输入电压、整机柜rmc的log、各节点服务器bmc的log以及各节点服务器的系统log,为后续bbu自检测试、bbu放电测试和bbu充电测试提供通畅的测试环境,有利于提高测试效率和测试的准确性。
下面以控制测试时间的方式为例,提供一种bbu自检测试、bbu放电测试以及bbu充电测试的except脚本,该脚本中自检测试时间设定为10分钟,bbu放电测试时间设定为5分钟,bbu充电测试时间设定为3小时。具体脚本如下:
#!/usr/local/bin/expect
setpwadmin
spawnsshadmin@192.168.1.251
expect"*password:"
send"$pw\r"
expect"*system*"
send"setsetbbs.forcedischarging=start\r"
expect"*system*"
execsleep600
send"setpower.psucontrolmode=manual\r"
expect"*system*"
execsleep20
send"stoppower/\r"
expect"*sure*"
send"y\r"
expect"*system*"
execsleep300
send"startpower/\r"
expect"*system*"
execsleep120
send"*startchassis*"
execsleep10800。
测试过程中,连续采集节点服务器12v电压的程序示例如下:
foriin{1..40};dosshcu$i"ipmitoolsdr|grep"sys_12v">>12v.log";done.
测试过程中,连续采集整机柜rmc的log和各节点服务器bmc的log的程序示例如下:
#!/bin/sh
forwordin{errorfailwarning}
do
cat/var/log/messages|grep-i$word|tee-a/root/error.log//
如果log中出现error等报错,将报错信息写入error.log中//。
参见图4,本申请还提供一种检验bbu对整机柜稳定性影响的测试系统,该测试系统应用于装有bbu的整机柜,整机柜中安装有多个节点服务器。由图4可知,该测试系统包括:登录模块1、测试模块2以及循环设置模块3三个部分。其中,登录模块1用于通过host主机采用脚本的方式登录rmc,host主机与多个节点服务器之间通信连接;测试模块2用于依次进行bbu自检测试、bbu放电测试和bbu充电测试;循环设置模块3用于根据bbu的型号及测试需求,设置测试模块的循环测试次数。
进一步地,测试模块2有两种实施方式,第一种实施例中的测试模块2包括:第一bbu自检测试单元、第一bbu放电测试单元和第一bbu充电测试单元,其中第一bbu自检测试单元用于在电源正常供电的情况下使bbu启动升压自检放电并使自检测试时间t1≥10分钟,以及,bbu自检过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;第一bbu放电测试单元用于在电源关闭的情况下使bbu开始放电并使放电测试时间t2满足5分钟≤t2≤10分钟,以及,bbu放电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;第一bbu充电测试单元用于在电源开启的情况下使电源对bbu进行充电并使充电测试时间t3满足2小时≤t3≤3小时,以及,bbu充电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
第二种实施例中的测试模块2包括:第二bbu自检测试单元、第二bbu放电测试单元以及第二bbu充电测试单元。其中,第二bbu自检测试单元用于在电源开启的情况下使bbu启动升压自检放电并放电至70%的电量,以及,bbu自检过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;第二bbu放电测试单元用于在电源关闭的情况下使bbu开始放电并放电至10%-20%的电量,以及,bbu放电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常;第二bbu充电测试单元用于在电源开启的情况下使电源对bbu进行充电并充电至95%-100%的电量,以及,bbu充电过程中连续采集测试数据并根据所采集的测试数据判断整机柜是否有异常。
进一步的,本申请中的测试系统还可以包括测试环境配置模块,具体地,测试环境配置模块又可以包括:网络平台、host主机syslog服务器配置单元、ssh免密码登录设置单元以及加压控制单元。其中,网络平台用于搭建一host主机,使host主机与整机柜的rmc、所述host主机与各节点服务器的bmc之间网络通畅。host主机syslog服务器配置单元用于将rmc的syslogserverip以及各节点服务器的syslogserverip设置为host主机的ip,从而配置host主机syslog服务器。ssh免密码登录设置单元用于将host主机与各节点服务器之间设置为ssh免密码登录方式。加压控制单元用于对各节点服务器进行加压操作使整机柜达到最大功耗。
本申请实施例中提供的检验bbu对整机柜稳定性影响的测试系统的测试原理和测试方法已在图1-图3所示的实施例中详细阐述,在此不再赘述。
综上所述,本实施例中的测试系统能够完全覆盖bbu的使用场景,包括bbu自检、bbu充电和bbu放电,从而能够更加全面地测试bbu对整机柜稳定性的影响,进而得出更加准确的测试结果。而且本实施例中的测试系统,在测试过程中能够不间断采集各节点服务器的输入电压、rmc的log、各节点服务器bmc的log以及各节点服务器的系统log,从而能够及时发现bbu对整机柜稳定性的影响,达到整机柜稳定性不良时及时进行预警和反馈的目的。
以上所述只是本申请的可选实施方式,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本申请的保护范围。