一种基于Linux系统的服务器开关机测试方法与系统与流程

文档序号:13472134阅读:373来源:国知局
一种基于Linux系统的服务器开关机测试方法与系统与流程

本发明涉及服务器开关机测试领域,特别是一种基于linux系统的服务器开关机测试方法与系统。



背景技术:

目前业界在服务器系统开关机测试中,大多在windows操作系统下进行开关机测试,同时对开关机作业计数,而在linux操作系统下,只能通过手动设置进行开关机测试,并无计数功能。现今多数高端服务器使用的均是linux操作系统,开关机中需要对开关机作业次数计数作为压力测试。

在开关机过程中,内存在开关机前后会出现丢失现象,多次开关机后内存容量恢复正常,因此需要在开关机测试中进行内存容量的记录工作,以此来评估测试机器开关机后的系统稳定性。



技术实现要素:

本发明的目的是提供一种基于linux系统的服务器开关机测试方法与系统,旨在解决现有linux系统中服务器开关机测试无法实时监控系统内存容量以及开关机计数的问题,实现对开关机前后内存容量以及开关机次数的实时监控,测试结果更加直观。

为达到上述技术目的,本发明提供了一种基于linux系统的服务器开关机测试方法,包括以下步骤:

抓取当前内存容量作为基准参考内存容量;

初始化测试记录文件;

循环执行开关机测试,在每次开关机测试中,比对内存容量和基准参考内存容量,将测试结果更新至测试记录文件;

根据测试记录文件判定开关机测试结果。

优选地,所述测试记录文件包括count文件、warmboot.log和faillog.log文件;count文件记录开关机次数;warmboot.log文件记录开关机时间以及测试结果,所述测试结果为内存容量与基准参考内存容量是否相符,相符则为pass,否则为fail;faillog.log文件记录开关机测试过程中测试结果为fail的开关机记录。

优选地,所述将测试结果更新至测试记录文件具体操作为:

在count文件中更新开关机次数;

在warmboot.log文件中更新开关机记录;

当测试结果为fail时,在faillog.log文件中更新测试结果为fail的开关机记录,否则不更新。

优选地,所述根据测试记录文件判定开关机测试结果具体操作为:warmboot.log文件中测试结果全为pass且faillog.log文件中没有报错记录,则测试通过,否则测试失败。

本发明还提供了一种基于linux系统的服务器开关机测试系统,包括:

基准参考内存容量抓取模块,用于抓取当前内存容量作为基准参考内存容量;

测试记录文件初始化模块,用于初始化测试记录文件;

开关机测试模块,用于循环执行开关机测试,在每次开关机测试中,比对内存容量和基准参考内存容量,将测试结果更新至测试记录文件;

测试结果判定模块,用于根据测试记录文件判定开关机测试结果。

优选地,所述测试记录文件包括count文件、warmboot.log和faillog.log文件;count文件记录开关机次数;warmboot.log文件记录开关机时间以及测试结果,所述测试结果为内存容量与基准参考内存容量是否相符,相符则为pass,否则为fail;faillog.log文件记录开关机测试过程中测试结果为fail的开关机记录。

优选地,所述开关机测试模块包括比对单元、count文件更新单元、warmboot.log文件更新单元和faillog.log文件更新单元;

比对单元,用于比对内存容量和基准参考内存容量;

count文件更新单元,用于在count文件中更新开关机次数;

warmboot.log文件更新单元,用于在warmboot.log文件中更新开关机记录;

faillog.log文件更新单元,用于当测试结果为fail时,在faillog.log文件中更新测试结果为fail的开关机记录,否则不更新。

优选地,所述测试结果判定模块包括warmboot.log文件判定单元、faillog.log文件判定单元和测试结果输出单元;

warmboot.log文件判定单元,用于判定warmboot.log文件中测试结果是否全为pass;

faillog.log文件判定单元,用于判定faillog.log文件中是否具有报错记录;

测试结果输出单元,用于当warmboot.log文件中测试结果全为pass且faillog.log文件中没有报错记录时,输出测试通过,否则输出测试失败。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

与现有技术相比,本发明采取c程序循环计数功能对开关机进行计数,同时结合系统级内存与基准内存对比机制在每次系统开关机过程中对内存容量进行实时监控,通过内存在系统启动前后的一致性以及开关机测试运行次数评估测试服务器平台运行稳定性,打破了目前linux系统的服务器开关机测试无法实时监控系统内存容量以及开关机次数计数的局限性,可直接判断开关机前后内存容量以及开关机次数,测试结果较为直观,提高测试效率和服务器可靠性,且适用于目前流行的各种linux系统。

附图说明

图1为本发明实施例中所提供的一种基于linux系统的服务器开关机测试方法流程图;

图2为本发明实施例中所提供的一种基于linux系统的服务器开关机测试系统结构框图。

具体实施方式

为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

下面结合附图对本发明实施例所提供的一种基于linux系统的服务器开关机测试方法与系统进行详细说明。

如图1所示,本发明实施例公开了一种基于linux系统的服务器开关机测试方法,包括以下步骤:

抓取当前内存容量作为基准参考内存容量;

初始化测试记录文件;

循环执行开关机测试,在每次开关机测试中,比对内存容量和基准参考内存容量,将测试结果更新至测试记录文件;

根据测试记录文件判定开关机测试结果。

利用上述测试方法对服务器开关机测试的具体过程如下:

对安装有linux操作系统的测试主机上电开机,进入操作系统后,使用root用户进行登录。通过指令,将开关机测试脚本warmboot脚本拷贝至linux系统的文件夹下,例如可以暂放至系统桌面。通过在linux系统下运行terminal终端程序,执行以下操作:

#cd/root/desktop

#shwarmboot-m-max500-time6

生成可执行主程序warmboot.sh,设置重启次数和重启时间,并抓取当前系统下/pro/meminfo中的内存容量作为基准参考内存容量,并将所述基准参考内存容量放入/root/warmboot/conf下,并生成count文件、warmboot.log和faillog.log文件,存放至/root/desktop/rebootresult文件夹下。

count文件记录开关机次数;warmboot.log文件记录开关机时间以及测试结果,所述测试结果为当前系统下/pro/meminfo中的内存容量与基准参考内存容量是否相同,相同则为pass,否则为fail,示例如下:

startsystemreboottestatsunsep918:35:12edt2012

no.1sunsep918:36:01edt2012memorycheckpass

no.2sunsep918:42:01edt2012memorycheckfail

faillog.log文件记录开关机测试过程中测试结果为fail的开关机记录,示例如下:

**error**no.2memorycheckfailsunsep918:42:01edt2012

*totalmemorysizemustbe32905116

------------------------------

*butrightnowis32905112

在上述示例中,时间点18:42:01的开关机过程中,warmboot.log文件中的测试结果为fail,则表示内存容量与基准参考内存容量不符,并在faillog.log文件中记录不符详情,分别示出内存容量和基准参考内存容量的大小。

系统在6min内开始执行开关机测试,即执行warmboot.sh主程序。通过周期性执行指令来控制定期执行开关机测试,而周期性控制则交由crontab文件完成,crontab文件包含定期执行服务crond守护进程的一系列作业和指令。因此通过在配置文件crontab中写入系统自带的重启指令,并设置开机自动启动crond服务来执行linux系统下定时开关机测试。

在第一次开关机进入系统后,warmboot.sh在后台自动运行,通过读取/root/desktop/rebootresult/count文件对开关机进行计数,同时抓取当前/proc/meminfo下当前内存容量和基准参考内存容量进行对比,并记录测试结果,将测试结果写入warmboot.log及faillog.log文件中。

测试主机持续运行开关机测试500次,在完成测试后,查看/root/desktop/rebootresult文件夹下查看warmboot.log和faillog.log文件,如果warmboot.log文件中测试结果全为pass,faillog.log文件中没有报错记录,则表示整个测试过程中测试主机稳定运行,没有出现内存丢失、死机、掉电和蓝屏等异常现象,即测试通过。

在测试记录检测完成后,删除/root/warmboot/warmboot.sh文件,至此完成对测试主机的开关机测试。

本发明实施例采取c程序循环计数功能对开关机进行计数,同时结合系统级内存与基准内存对比机制在每次系统开关机过程中对内存容量进行实时监控,通过内存在系统启动前后的一致性以及开关机测试运行次数评估测试服务器平台运行稳定性,打破了目前linux系统的服务器开关机测试无法实时监控系统内存容量以及开关机次数计数的局限性,可直接判断开关机前后内存容量以及开关机次数,测试结果较为直观,提高测试效率和服务器可靠性,且适用于目前流行的各种linux系统。

如图2所示,本发明实施例还公开了一种基于linux系统的服务器开关机测试系统,包括:基准参考内存容量抓取模块、测试记录文件初始化模块、开关机测试模块和测试结果判定模块。

基准参考内存容量抓取模块,用于抓取当前内存容量作为基准参考内存容量。在开关机测试运行之前,则抓取/pro/meminfo下初始内存容量作为基准参考内存容量,以用于在每次开关机测试中进行内存容量比对。

测试记录文件初始化模块,用于初始化测试记录文件。

所述测试记录文件包括count文件、warmboot.log和faillog.log文件。count文件记录开关机次数;warmboot.log文件记录开关机时间以及测试结果,所述测试结果为当前系统下/pro/meminfo中的内存容量与基准参考内存容量是否相同,相同则为pass,否则为fail;faillog.log文件记录开关机测试过程中测试结果为fail的开关机记录。

开关机测试模块,用于循环执行开关机测试,在每次开关机测试中,比对内存容量和基准参考内存容量,将测试结果更新至测试记录文件;

所述开关机测试模块包括比对单元、count文件更新单元、warmboot.log文件更新单元和faillog.log文件更新单元。

比对单元,用于比对内存容量和基准参考内存容量;

count文件更新单元,用于在count文件中更新开关机次数;

warmboot.log文件更新单元,用于在warmboot.log文件中更新开关机记录;

faillog.log文件更新单元,用于当测试结果为fail时,在faillog.log文件中更新测试结果为fail的开关机记录,否则不更新。

测试结果判定模块,用于根据测试记录文件判定开关机测试结果。

所述测试结果判定模块包括warmboot.log文件判定单元、faillog.log文件判定单元和测试结果输出单元;

warmboot.log文件判定单元,用于判定warmboot.log文件中测试结果是否全为pass;

faillog.log文件判定单元,用于判定faillog.log文件中是否具有报错记录;

测试结果输出单元,用于当warmboot.log文件中测试结果全为pass且faillog.log文件中没有报错记录时,输出测试通过,否则输出测试失败。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1