CN104391780A - 一种自动检验服务器电源冗余功能稳定性的方法 - Google Patents

一种自动检验服务器电源冗余功能稳定性的方法 Download PDF

Info

Publication number
CN104391780A
CN104391780A CN201410570387.4A CN201410570387A CN104391780A CN 104391780 A CN104391780 A CN 104391780A CN 201410570387 A CN201410570387 A CN 201410570387A CN 104391780 A CN104391780 A CN 104391780A
Authority
CN
China
Prior art keywords
power supply
test
server
pressure state
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410570387.4A
Other languages
English (en)
Inventor
刘云飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410570387.4A priority Critical patent/CN104391780A/zh
Publication of CN104391780A publication Critical patent/CN104391780A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种自动检验服务器电源冗余功能稳定性的方法,其具体实现过程为:输入相关变量;模拟应用场景;切换电源模块状态:在上述的环境下,动态切换电源的状态active、standby,以模拟电源的上线、下线,即模拟电源线的插上、拔下的动作;检测各电源模块状态:如果失败,则退出并报告测试失败;成功则记录测试结果,继续操作,直至完成测试。该一种自动检验服务器电源冗余功能稳定性的方法与现有技术相比,设计的脚本使用方便,操作简单,模拟各种场景,实现自动检测,整个测试中无需进行人工交互,实现真正的无人值守,节省了人力、时间、成本等资源,也减少了不必要的人机交互过程。

Description

一种自动检验服务器电源冗余功能稳定性的方法
技术领域
本发明涉及计算机服务器技术领域,具体地说是一种实用性强、自动检验服务器电源冗余功能稳定性的方法。
背景技术
随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务对服务器的稳定性要求越来越高。作为服务器产品提供商,一款服务器无论是在研发阶段还是生产阶段都需要对产品进行系统压力测试,在压力过程中,如果服务器的电源出现问题,产生的影响是致命的,所以服务器的电源均提供冗余功能,我们在开发中需要严格保证该功能稳定性。而服务器研发种类越来越多,生产出货量也不断增加,稳定性测试的自动化、高效化也变得势在必行了。同时进行多款产品、批量产品的压力测试,可以是增加人员,也可以是编写自动化测试工具。显然自动化测试工具在人力、时间、成本等资源方面要节省的多,也减少了不必要的人工交互过程。
Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器)。它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。同时它又是一种程序设计语言。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,
IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准。用户可以利用 IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应以及机箱入侵等。Ipmi 最大的优势在于它是独立于 CPU BIOS 和 OS 的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控。Ipmi 是一种规范的标准,其中最重要的物理部件就是BMC(Baseboard Management Controller),一种嵌入式管理微控制器,它相当于整个平台管理的“大脑”,通过它 ipmi 可以监控各个传感器的数据并记录各种事件的日志。
基于上述技术,如果能够通过shell脚本,来实现自动检验服务器电源冗余功能稳定性,将实现自动化测试,并大大提高测试的效率和准确性,因而,现提供一种自动检验服务器电源冗余功能稳定性的方法。
发明内容
本发明的技术任务是针对以上不足之处,提供一种实用性强、自动检验服务器电源冗余功能稳定性的方法。
一种自动检验服务器电源冗余功能稳定性的方法,其具体实现过程为:
一、输入相关变量:
输入模块数量,以测试所有模块;
输入各个模块的地址,用于区分模块,进行检测、下发命令的操作;
输入测试次数,通过该参数验证电源功能的稳定性;
二、模拟应用场景:该应用场景包括待机状态、CPU压力状态、内存压力状态、磁盘压力状态、整机系统压力状态,并检验每种场景下服务器系统的状态变化;
三、切换电源模块状态:在步骤二所述的环境下,动态切换电源的状态active、standby,以模拟电源的上线、下线,即模拟电源线的插上、拔下的动作;
四、检测各电源模块状态:如果失败,则退出并报告测试失败;成功则记录测试结果,继续操作,直至完成测试。
所述实现步骤在安装有linux内核的操作系统的服务器中完成,操作时用户以root身份登录进行。
所述模拟应用场景的具体过程为:
待机状态:在无任何操作的情况下,每隔一段时间调整一下电源状态,检验服务器系统是否有以外关机、重启、死机的现象;
CPU压力状态:通过PTU软件模拟CPU的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象;
内存压力状态:通过memtester软件模拟内存的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象;
磁盘压力状态:通过fio软件模拟磁盘的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象;
整机系统压力状态:通过linpack+dd软件模拟整机系统的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象。
所述测试完成后的结果重定向到测试目录下的result文件夹,文件夹下设置有result.txt文件,该文件中记录所有测试的测试结果。
本发明的一种自动检验服务器电源冗余功能稳定性的方法,具有以下优点:
该发明的一种自动检验服务器电源冗余功能稳定性的方法可在多款服务器产品,及多种操作系统:redhat、centos上运行应用,此方法可很好的完成了测试任务;该方法操作简便,具有较好的易用性;程序中各模块之间结构清晰,便于维护;无需冗杂的结果处理,大大节省了测试时间,提高了测试效率;本发明借用SHELL脚本编写实现内存稳定性评估,大大简化了压力测试的操作流程,实用性强,适用范围广泛,易于推广。
附图说明
附图1为本发明实现流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
传统的方式我们都是手动建立各种环境,然后手动的去断开电源,以检验电源的冗余功能是否存在问题。而通过脚本自动执行,可以减少手动的操作,让程序自动的来完成这些动作。基于此,现提供一种自动检验服务器电源冗余功能稳定性的方法,该方法通过脚本来实现自动化的压力环境搭建,通过脚本实现电源状态的切换,并通过命令获取电源是否执行了相关的操作,返回的结果重定向到文件中,以便于比对操作是否成功。如附图1所示,其具体实现过程为:
1)输入相关变量。
各种服务器的电源设计存在差异,冗余的数量也存在差异,所以在开始测试前,需要输入被测试机器的电源模块数量、以及各模块的地址,然后输入想要测试的次数。
输入模块的数量,是为了将所有的模块都测试到。
输入各模块的地址,是为了区分模块,以便进行检测、下发命令等操作。
输入次数,可以通过这个参数,来长时间的验证电源该功能的稳定性。
echo “Please enter the Num of PSU“
read PSU_NUM
for((i=1;i<+$PSU_NUM;i++))
do
echo “Please enter the address of PSU$I“
read PSU$i
done
echo “Please enter the circle; eg:10” 
read CIRCLE。
2)模拟应用场景。
用脚本自动模拟相关的应用环境,在不同的应用下,以检验电源冗余功能的稳定性;应用场景包括:待机状态、CPU压力状态、内存压力状态、磁盘压力状态、整机系统压力状态等。借助不同的工具,将这些工具集成到脚本中,自动建立不同的应用场景。
待机状态:没有任何操作的情况下,每隔一段时间调整一下电源状态,检验服务器系统是否有以外关机、重启、死机等现象。
CPU压力状态:通过PTU软件模拟CPU的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有以外关机、重启、死机等现象。
内存压力状态:通过memtester软件模拟内存的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有以外关机、重启、死机等现象。
磁盘压力状态:通过fio软件模拟磁盘的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有以外关机、重启、死机等现象。
系统压力状态:通过linpack+dd软件模拟整机系统的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有以外关机、重启、死机等现象。
function IDLE()
{
  …….
function CPU()
{
  …….
}
function MEMORY()
{
  …….
}
function SYSTEM()
{
  …….
}
for i in {IDLE,CPU,MEMORY,DISK,SYSTEM,FINISH}
do
    if [ $i == IDLE ];then
    IDLE
    PSU_test
    elif [ $i == CPU ];then
    CPU
    PSU_test
    elif [ $i == MEMORY ];then
    MEMORY
    PSU_test
    elif [ $i == DISK ];then
    DISK
    PSU_test
elif [ $i == SYSTEM ];then
    SYSTEM
    PSU_test
    elif [ $i == FINISH ];then
    exit
    fi。
3)切换电源状态。
在上述的环境下,动态的切换电源的状态active、standby,以模拟电源的上线、下线,即模拟电源线的插上、拔下的动作。检验电源的健壮性。
function PSU_test()
{
  sleep 1800
  for((i=1;i<=PSU_NUM;i++))
  do 
  ADDRESS=`echo PSU$i`
  ipmitool -b 0x06 -t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x84 $ADDRESS 0x00 0x00 0x02 0x00 0xfc 0x0e
  PSU_CHECK_standby
  sleep 1800
  PSU_CHECK_standby
  ipmitool -b 0x06 -t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x84 $ADDRESS 0x00 0x00 0x02 0x00 0xfc 0x55
  PSU_CHECK_active
  sleep 1800
  PSU_CHECK_active
}。
4)检测电源状态  
 检测电源状态,如果失败,则退出并报告测试失败。成功则记录测试结果,继续操作,直至完成测试。
function PSU_CHECK_standby()
{
  STANDBY=`ipmitool -b 0x06 -t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x82 $ADDRESS 0x00 0x00 0x01 0x01 0xfc`
if [ $STANDBY == 0e ];then
echo “test pass;the test result $STANDBY” >> $PWD/result/result.txt
date >> $PWD/result/result.txt
else
echo “test fail;the test result $STANDBY” >> $PWD/result/result.txt
date >> $PWD/result/result.txt 
}
function PSU_CHECK_active()
{
  ACTIVE=`ipmitool -b 0x06 -t 0x2c raw 0x2e 0xd9 0x57 0x01 0x00 0x82 $ADDRESS 0x00 0x00 0x01 0x01 0xfc`
if [ $ ACTIVE == 55 ];then
echo “test pass;the test result $ ACTIVE” >> $PWD/result/result.txt
date >> $PWD/result/result.txt
else
echo “test fail;the test result $ ACTIVE” >> $PWD/result/result.txt
date >> $PWD/result/result.txt 
}。
5)收集测试结果。
测试完成后将结果重定向到测试目录下的result文件夹,文件夹下面会有result.txt文件,此文件中记录所有测试的测试结果。
在实际测试时,具体硬件操作过程如下所述:
一、准备一台服务器,安装基于linux内核的操作系统,需要完全安装;
二、安装完成后,以root身份登录到操作系统中;
三、将测试程序与辅助测试程序拷贝到系统下任意一个文件夹下,运行命令:
  chmod +x PSU.sh
  ./PSU.sh。
当提示echo “Please enter the Num of PSU“时,根据提示一步步键入需要的值,输入完成后,程序会自动运行;
四、查看运行结果:cat $PWD/result/result.txt。
本方法在研发阶段、测试阶段及生产阶段均可应用,用来模拟不同的内存压力,实现了稳定性测试的自动化、便捷化。另外,本方法对于不熟悉linux而又需要在linux平台下测试产品稳定性的技术人员有着实际而深刻的意义。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的一种自动检验服务器电源冗余功能稳定性的方法的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。

Claims (4)

1.一种自动检验服务器电源冗余功能稳定性的方法,其特征在于,其具体实现过程为:
一、输入相关变量:
输入模块数量,以测试所有模块;
输入各个模块的地址,用于区分模块,进行检测、下发命令的操作;
输入测试次数,通过该参数验证电源功能的稳定性;
二、模拟应用场景:该应用场景包括待机状态、CPU压力状态、内存压力状态、磁盘压力状态、整机系统压力状态,并检验每种场景下服务器系统的状态变化;
三、切换电源模块状态:在步骤二所述的环境下,动态切换电源的状态active、standby,以模拟电源的上线、下线,即模拟电源线的插上、拔下的动作;
四、检测各电源模块状态:如果失败,则退出并报告测试失败;成功则记录测试结果,继续操作,直至完成测试。
2.根据权利要求1所述的一种自动检验服务器电源冗余功能稳定性的方法,其特征在于,所述实现步骤在安装有linux内核的操作系统的服务器中完成,操作时用户以root身份登录进行。
3.根据权利要求2所述的一种自动检验服务器电源冗余功能稳定性的方法,其特征在于,所述模拟应用场景的具体过程为:
待机状态:在无任何操作的情况下,每隔一段时间调整一下电源状态,检验服务器系统是否有以外关机、重启、死机的现象;
CPU压力状态:通过PTU软件模拟CPU的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象;
内存压力状态:通过memtester软件模拟内存的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象;
磁盘压力状态:通过fio软件模拟磁盘的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象;
整机系统压力状态:通过linpack+dd软件模拟整机系统的高负载状态,每隔一段时间调整一下电源状态,检验服务器系统是否有意外关机、重启、死机的现象。
4.根据权利要求2所述的一种自动检验服务器电源冗余功能稳定性的方法,其特征在于,所述测试完成后的结果重定向到测试目录下的result文件夹,文件夹下设置有result.txt文件,该文件中记录所有测试的测试结果。
CN201410570387.4A 2014-10-23 2014-10-23 一种自动检验服务器电源冗余功能稳定性的方法 Pending CN104391780A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410570387.4A CN104391780A (zh) 2014-10-23 2014-10-23 一种自动检验服务器电源冗余功能稳定性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410570387.4A CN104391780A (zh) 2014-10-23 2014-10-23 一种自动检验服务器电源冗余功能稳定性的方法

Publications (1)

Publication Number Publication Date
CN104391780A true CN104391780A (zh) 2015-03-04

Family

ID=52609688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410570387.4A Pending CN104391780A (zh) 2014-10-23 2014-10-23 一种自动检验服务器电源冗余功能稳定性的方法

Country Status (1)

Country Link
CN (1) CN104391780A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260286A (zh) * 2015-10-29 2016-01-20 浪潮电子信息产业股份有限公司 一种实时监控cpu工作状态的方法
CN105354146A (zh) * 2015-12-09 2016-02-24 浪潮电子信息产业股份有限公司 一种基于linux的服务器C-state状态检测方法
CN105955855A (zh) * 2016-04-27 2016-09-21 浪潮电子信息产业股份有限公司 一种rack机柜双路电源冗余测试的方法
CN108768759A (zh) * 2018-04-03 2018-11-06 郑州云海信息技术有限公司 一种基于ipmi协议的黑盒测试方法及其终端测试平台
CN110489287A (zh) * 2019-07-12 2019-11-22 苏州浪潮智能科技有限公司 通过Ipmitool测试热插拔的方法、系统及存储介质
CN111025178A (zh) * 2019-12-29 2020-04-17 苏州浪潮智能科技有限公司 一种电源模块主备切换的稳定性测试方法及相关组件
CN113190392A (zh) * 2021-05-14 2021-07-30 宁畅信息产业(北京)有限公司 电源模块的稳定性测试方法、装置、控制机和存储介质
CN115952080A (zh) * 2022-12-05 2023-04-11 安芯网盾(北京)科技有限公司 一种agent极限情况稳定性测试方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162260A (zh) * 2006-10-12 2008-04-16 中兴通讯股份有限公司 一种用于小电量备用电池的功能测试装置及方法
CN101369008A (zh) * 2007-08-17 2009-02-18 鸿富锦精密工业(深圳)有限公司 冗余电源供应器的热切换测试系统及方法
CN101719181A (zh) * 2009-12-03 2010-06-02 北京中星微电子有限公司 一种多电源域集成电路的动态验证装置及方法
CN103049358A (zh) * 2012-11-26 2013-04-17 浪潮电子信息产业股份有限公司 一种服务器高温环境压力测试验证方法
CN103473158A (zh) * 2013-09-18 2013-12-25 浪潮电子信息产业股份有限公司 一种Linux服务器的磁盘压力测试方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101162260A (zh) * 2006-10-12 2008-04-16 中兴通讯股份有限公司 一种用于小电量备用电池的功能测试装置及方法
CN101369008A (zh) * 2007-08-17 2009-02-18 鸿富锦精密工业(深圳)有限公司 冗余电源供应器的热切换测试系统及方法
CN101719181A (zh) * 2009-12-03 2010-06-02 北京中星微电子有限公司 一种多电源域集成电路的动态验证装置及方法
CN103049358A (zh) * 2012-11-26 2013-04-17 浪潮电子信息产业股份有限公司 一种服务器高温环境压力测试验证方法
CN103473158A (zh) * 2013-09-18 2013-12-25 浪潮电子信息产业股份有限公司 一种Linux服务器的磁盘压力测试方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260286A (zh) * 2015-10-29 2016-01-20 浪潮电子信息产业股份有限公司 一种实时监控cpu工作状态的方法
CN105354146A (zh) * 2015-12-09 2016-02-24 浪潮电子信息产业股份有限公司 一种基于linux的服务器C-state状态检测方法
CN105955855A (zh) * 2016-04-27 2016-09-21 浪潮电子信息产业股份有限公司 一种rack机柜双路电源冗余测试的方法
CN108768759A (zh) * 2018-04-03 2018-11-06 郑州云海信息技术有限公司 一种基于ipmi协议的黑盒测试方法及其终端测试平台
CN110489287A (zh) * 2019-07-12 2019-11-22 苏州浪潮智能科技有限公司 通过Ipmitool测试热插拔的方法、系统及存储介质
CN110489287B (zh) * 2019-07-12 2023-01-10 苏州浪潮智能科技有限公司 通过Ipmitool测试热插拔的方法、系统及存储介质
CN111025178A (zh) * 2019-12-29 2020-04-17 苏州浪潮智能科技有限公司 一种电源模块主备切换的稳定性测试方法及相关组件
CN113190392A (zh) * 2021-05-14 2021-07-30 宁畅信息产业(北京)有限公司 电源模块的稳定性测试方法、装置、控制机和存储介质
CN113190392B (zh) * 2021-05-14 2023-08-01 宁畅信息产业(北京)有限公司 电源模块的稳定性测试方法、装置、控制机和存储介质
CN115952080A (zh) * 2022-12-05 2023-04-11 安芯网盾(北京)科技有限公司 一种agent极限情况稳定性测试方法及装置
CN115952080B (zh) * 2022-12-05 2023-08-29 安芯网盾(北京)科技有限公司 一种agent极限情况稳定性测试方法及装置

Similar Documents

Publication Publication Date Title
CN104391780A (zh) 一种自动检验服务器电源冗余功能稳定性的方法
CN104375910A (zh) 一种自动化开关机测试方法
CN104991629B (zh) 电源失效侦测系统与其方法
Wang et al. An exploratory study of autopilot software bugs in unmanned aerial vehicles
CN104484274B (zh) 一种基于itp工具的内存轮巡检查功能测试方法
US9542304B1 (en) Automated operating system installation
CN103984634B (zh) 一种linux服务器的内存非稳态压力测试方法
CN103106128A (zh) 冷启动开关机测试方法及冷启动开关机测试系统
CN105068900A (zh) 一种远程控制服务器cold reboot的测试方法
CN103257922B (zh) 一种快速测试bios与os接口代码可靠性的方法
CN107943643A (zh) 一种基于moc板卡硬件dc测试方法与系统
CN105718340A (zh) 一种基于Crontab的CPU稳定性的测试方法
CN107943637A (zh) 一种基于ipmi平台的电源循环测试装置及方法
CN111693089A (zh) 装配线的产品质量控制方法、装置、设备及存储介质
CN104615519A (zh) 一种linux系统下检测服务器内存容量是否缺失的方法
CN108121842A (zh) 多处理器系统芯片的低功耗工作方式的验证方法和装置
CN111858201A (zh) 一种bmc综合测试方法、系统、终端及存储介质
CN103713977B (zh) 一种微处理器ip核比较验证的实现方法
CN105844162B (zh) 一种虚拟化平台下windows虚拟机漏洞扫描的方法
Kordon et al. BenchKit, a tool for massive concurrent benchmarking
CN107766247B (zh) Bootloader的测试方法、装置及可读存储介质
CN110399301A (zh) 一种代码测试方法、装置、设备及可读存储介质
EP3651022A1 (en) Tool verification system and method of verifying an unqualified component
Elks et al. Application of a fault injection based dependability assessment process to a commercial safety critical nuclear reactor protection system
CN108804269A (zh) 一种基于域控制测试raid板卡稳定性的系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150304

WD01 Invention patent application deemed withdrawn after publication