一种Linux服务器的磁盘压力测试方法

文档序号:6512281阅读:2391来源:国知局
一种Linux服务器的磁盘压力测试方法
【专利摘要】本发明提供一种Linux服务器的磁盘压力测试方法,其具体测试过程为:在需要进行磁盘压力测试的Linux服务器中的任意目录下复制HDTest脚本文件;运行该脚本文件并输入测试变量;开始测试,当出现故障时,进行故障处理;当检测到无故障时,结束脚本运行程序并查看检查结果是否正常,如果正常则结束测试,如果不正常则进行故障处理。该一种Linux服务器的磁盘压力测试方法和现有技术相比,整个测试过程无需安装第三方软件,简单易用;使用Shell脚本编写,通用性强,可跨平台测试;适应不同的测试环境;程序无残留文件,不会对系统造成影响,实用性强,易于推广。
【专利说明】—种Linux服务器的磁盘压力测试方法
【技术领域】
[0001]本发明涉及Linux服务器在判断磁盘通道故障时的压力测试【技术领域】,具体的说是一种可检验磁盘阵列稳定性、测试Linux服务器的磁盘压力测试方法。
【背景技术】
[0002]随着磁盘技术的不断发展,单个磁盘的容量变得越来越大,在满足服务器日益增长的数据存储空间的同时,也使得我们检测阵列性能与稳定的工作变得越来越繁琐。通常情况下,在服务器数据访问量不大时,磁盘的响应速度是比较理想的。但随着访问服务器的用户越来越多,业务软件的读写操作越来越频繁,对磁盘的压力也就越来越大,磁盘阵列的整体I/o性能就会受到极大考验。但是我们在实际测试过程中,很难模拟用户现场真实的磁盘压力状况,因此很难进行快速定位与检测。
[0003]本测试方法通过向磁盘中反复写入指定大小与数量的块数据,模拟甚至高于用户现场的磁盘压力状况,如果磁盘本身有坏道或者读写异常,在这种高强度的压力环境下,磁盘不能做到及时响应从而快速表现出故障,对于定位磁盘故障起到了重要作用。另外,Raid卡的故障也能在压力测试中迅速检出。而且,对于一台新机器,出于拷机测试的目的也需要对其进行压力测试。一方面可以检验磁盘阵列在连续读写环境下的稳定性,另一方面可以检测出磁盘阵列的整体I/O性能。
[0004]虽然目前也有较多的磁盘压力测试工具,但是大都针对Windows系统,极少的几款针对Linux系统的工具也因为安装麻烦、测试手段单一等缺点而少有人使用。

【发明内容】

[0005]本发明的技术任务是解决现有技术的不足,提供一种Linux服务器的磁盘压力测
试方法。
[0006]本发明的技术方案是按以下方式实现的,该一种Linux服务器的磁盘压力测试方法,其具体测试过程为:
1)在需要进行磁盘压力测试的Linux服务器中的任意目录下复制HDTest脚本文件;
2)运行该脚本文件并输入测试变量;
3)开始测试,当出现故障时,进行故障处理;当检测到无故障时,结束脚本运行程序并查看检查结果是否正常,如果正常则结束测试,如果不正常则进行故障处理。
[0007]所述步骤2)的详细过程为:
首先,赋予脚本文件可执行权限;
其次,执行脚本程序:
第一步,输入循环测试次数;
第二步,输入要测试的块大小;
第三步,输入要测试的块数目;
测试完成后程序自动删除生成的临时文件。[0008]所述步骤3)中的详细过程为:
一、如果在压力测试过程中机器出现死机、无响应问题,则服务器的磁盘通道可能存在异常,通过分组、最小化的测试方法定位故障即可;
二、如果测试过程中没出现问题,测试完成后会在HDTest所在的目录生成测试报告resault.txt,报告中详细记录了本次测试的诊断信息,包括单次测试的压力大小、单次测试所用时间、硬盘写入速度;
三、通过对比单次测试所用时间,可以检验磁盘阵列在连续读写环境下的稳定性;
四、通过对比单次测试写入速度,可以检测出磁盘阵列的整体I/O性能;
五、对有问题的磁盘和Raid卡进行维修与更换。
[0009]本发明与现有技术相比所产生的有益效果是:
本发明的一种Linux服务器的磁盘压力测试方法通过用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换,同时,利用Linux系统下的特殊块设备/dev/zero,从而实现对Linux服务器磁盘阵列的稳定性进行快速检测,整个测试过程无需安装第三方软件,简单易用;使用Shell脚本编写,通用性强,可跨平台测试;支持自定义循环次数、块大小和块计数,适应不同的测试环境;程序无残留文件,不会对系统造成影响,实用性强,易于推广。
【专利附图】

【附图说明】
[0010]附图1是本发明的实 现流程图。
【具体实施方式】
[0011]下面结合附图对本发明的一种Linux服务器的磁盘压力测试方法作详细说明。
[0012]本发明通过向磁盘中写入指定block大小、数量与次数的块数据,实现模拟甚至高于用户现场的磁盘压力状况的目的。如果磁盘读写存在故障隐患,或者Raid卡工作异常,将会快速表现出故障,实现对服务器进行故障定位、拷机等目的。如附图1所示,现提供一种Linux服务器的磁盘压力测试方法,其具体测试过程为:
找一台需要进行磁盘压力测试的Linux服务器,复制HDTest脚本文件至任意目录,比如/root目录等。
[0013]这里的HDTest脚本文件具体内容如下:
#! /bin/bash
rm -f resault.txt
echo 〃Please input test times(e.g 3):〃 && read TIMES
echo 〃Please input block size (e.g 1M):〃 && read BS
echo "Please input block count (e.g 200000):" && read COUNT
echo 〃Now tests begin!"
for i in $ (seq $TIMES)
do
echo "Testing $i time (s)…〃
dd if=/dev/zero of=/tmp/test bs=$BS count=$C0UNT 2>> resault.txtdone
echo 〃A11 tests successfully ended! Please view resault.txt for moreinfomation.〃
echo ^Clearning up temp files...〃
rm -f /tmp/test && echo 〃Done!〃
赋予脚本文件可执行权限:#chmod 777 HDTest。
[0014]执行脚本程序 HDTest。
[0015]第一步,输入循环测试次数(test times),例如设置为3 ;
第二步,输入要测试的块大小(block size),例如设置为IM ;
第三步,输入要测试的块数目(block count),例如设置为200000
那么,block size * block count = file size = 200G,预计测试时间大概I小时以内,循环测试3次,总计3小时以内完成。通过修改三个参数的取值,可以适应不同的测试环境和测试要求。测试完成后程序会自动删除生成的临时文件,不会对系统造成任何影响。
[0016]测试结果分析如下:
(I)如果在压力测试过程中机器出现死机、无响应等问题,说明服务器的磁盘通道(Raid卡、SAS线、硬盘背板、硬盘)可能存在异常,后续可以进行分组、最小化等测试方法定位故障。
[0017](2)如果测试过程中没出现问题,测试完成后会在HDTest所在的目录生成测试报告resault.txt,报告中详细记录了本次测试的诊断信息,包括单次测试的压力大小、单次测试所用时间、硬盘写入速度等。
[0018](3)通过对比单次测试所用时间,可以检验磁盘阵列在连续读写环境下的稳定性;
(4)通过对比单次测试写入速度,可以检测出磁盘阵列的整体1/0性能。如果在整个压力测试过程中没有出现死机、无响应等故障,但是查看resault文件测试结果有较大波动,比如上述举例中的检测结果如下:
1048576000 字节(1.0GB)已复制,16.2616 秒,64.5 MB/秒
1048576000 字节(1.0GB)已复制,17.0383 秒,60.1 MB/秒
1048576000 字节(1.0GB)已复制,24.5782 秒,41.7 MB/秒
1048576000 字节(1.0GB)已复制,26.1049 秒,39.2 MB/秒
1048576000 字节(1.0GB)已复制,26.0361 秒,39.3 MB/秒
说明磁盘在高压力环境下会出现不稳定因素,整体性能明显下降,可能已经存在故障。
[0019](5)对有问题的磁盘和Raid卡进行维修与更换。
[0020]除说明书所述的技术特征外,均为本专业技术人员的公知技术。
【权利要求】
1.一种Linux服务器的磁盘压力测试方法,其特征在于,其具体测试过程为: 1)在需要进行磁盘压力测试的Linux服务器中的任意目录下复制HDTest脚本文件; 2)运行该脚本文件并输入测试变量; 3)开始测试,当出现故障时,进行故障处理;当检测到无故障时,结束脚本运行程序并查看检查结果是否正常,如果正常则结束测试,如果不正常则进行故障处理。
2.根据权利要求1所述的一种Linux服务器的磁盘压力测试方法,其特征在于,所述步骤2)的详细过程为: 首先,赋予脚本文件可执行权限; 其次,执行脚本程序: 第一步,输入循环测试次数; 第二步,输入要测试的块大小; 第三步,输入要测试的块数目; 测试完成后程序自动删除生成的临时文件。
3.根据权利要求1所述的一种Linux服务器的磁盘压力测试方法,其特征在于,所述步骤3)中的详细过程为: 一、如果在压力测试过程中机器出现死机、无响应问题,则服务器的磁盘通道可能存在异常,通过分组、最小化的测试方法定位故障即可; 二、如果测试过程中没出现问题,测试完成后会在HDTest所在的目录生成测试报告resault.txt,报告中详细记录了本次测试的诊断信息,包括单次测试的压力大小、单次测试所用时间、硬盘写入速度; 三、通过对比单次测试所用时间,可以检验磁盘阵列在连续读写环境下的稳定性; 四、通过对比单次测试写入速度,可以检测出磁盘阵列的整体I/O性能; 五、对有问题的磁盘和Raid卡进行维修与更换。
【文档编号】G06F11/22GK103473158SQ201310429683
【公开日】2013年12月25日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】李洋, 顾春波, 陈彬 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1