本发明涉及计算机服务器技术领域,具体的说是一种适用于raid卡的硬盘拔插稳定性测试方法。
背景技术:
随着IT领域技术的不断发展,传统信息化服务以及日趋强大的云计算服务,对服务器的存储需求越来越高。现行的服务器都支持硬盘热插拔技术,对不停机进行硬盘更换提供了实现途径。但是硬盘在热插拔过程中,会引起磁盘控制器在操作系统下驱动的一系列动作,在这个过程中还可能会引起操作系统的异常,以及硬盘的乱序,进而导致系统宕机,业务下线。因此,在服务器测试中进行硬盘拔插稳定性测试成为重要环节。
技术实现要素:
本发明针对目前技术发展的需求和不足之处,提供一种适用于raid卡的硬盘拔插稳定性测试方法。
本发明所述一种适用于raid卡的硬盘拔插稳定性测试方法,解决上述技术问题采用的技术方案如下:所述一种适用于raid卡的硬盘拔插稳定性测试方法,在RAID卡配置下进行拔插硬盘过程,并监测是否引起其他硬盘异常,开始时首先检测当前状态下硬盘的SN,并记录硬盘的SN,然后进行硬盘拔插操作,再次记录硬盘的SN,并与之前对比,来检测是否有硬盘异常掉盘的问题,实现在RAID卡配置下进行硬盘拔插测试。
优选的,首先检测当前状态下硬盘的SN,生成一个baseline.txt用以记录硬盘的SN;然后进入一个死循环,不断监测是否有硬盘拔出或插入。
优选的,若有硬盘拔出再插入,收集插入硬盘之后的所有硬盘的SN,并记为baseline_temp.txt;将收集的baseline_temp与baseline进行比对,若内容完全一样,则硬盘拔插过程中没有产生硬盘乱序,输出OK提示;若内容不一样,则硬盘拔插过程中产生了硬盘乱序,输出error提示。
本发明所述一种适用于raid卡的硬盘拔插稳定性测试方法与现有技术相比具有的有益效果是:本发明可以在RAID卡配置下进行硬盘拔插稳定新测试,能够模拟客户现场出现硬盘坏掉之后进行更换的场景,完善实验室硬盘插拔测试方法,填充了没有在raid卡配置下进行硬盘拔插测试的空白,实用性强,提升了产品质量。
附图说明
附图1为所述适用于raid卡的硬盘拔插稳定性测试方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种适用于raid卡的硬盘拔插稳定性测试方法进一步详细说明。
实施例:
本实施例一种适用于raid卡的硬盘拔插稳定性测试方法,能够在RAID卡配置下进行拔插硬盘过程,并监测是否引起其他硬盘异常,开始时首先检测当前状态下硬盘的SN,并记录硬盘的SN,然后进行硬盘拔插操作,再次记录硬盘的SN,并与之前对比,来检测是否有硬盘异常掉盘的问题,实现在RAID卡配置下进行硬盘拔插测试。
附图1为本实施例所述硬盘拔插稳定性测试方法的流程图,如附图1所示,该硬盘拔插稳定性测试方法的具体步骤如下:
1、开始时,首先检测当前状态下硬盘的SN,生成一个baseline.txt用以记录硬盘的SN;
2、然后进入一个死循环,不断监测是否有硬盘拔出或插入;
3、若有硬盘拔出再插入,收集插入硬盘之后的所有硬盘的SN,并记为baseline_temp.txt;
4、将收集的baseline_temp与步骤1中的baseline进行比对,若内容完全一样,则说明在硬盘拔插过程中没有产生硬盘乱序,输出OK提示;若内容不一样,则说明在硬盘拔插过程中产生了硬盘乱序,输出error提示。
本实施例所述硬盘拔插稳定性测试方法,其具体实施过程通过一硬盘拔插测试程序实现,主要包括如下内容:
#!/bin/bash
rpm-ivh megacli.rpm
进行安装工具;
function generate_baseline()
{
/opt/megacli-pdlist-aall|grep-i“serial number”>>/root/baseline.txt
}
函数generate_baseline用以生成baseline;
针对有硬盘拔出再插入后的操作的函数plug_in;
function plug_out_in()
{
#将插入之后的硬盘进行配置使重新上线
E0=/opt/megacli-encinfo-aall
/opt/meagcli-cfgforeign-scan-all
/opt/megacli-cfgforeign-clear-all
/opt/megacli-PDMakeGood-PhysDrv[$E0:S0]-aALL
/opt/megacli-PDOnline-PhysDrv[$E0:S0]-aALL
#再次记录所有硬盘的SN
/opt/megacli-pdlist-aall|grep-i“serial number”>>/root/baseline_temp.txt
#判断新生成的文件是否跟baseline一致。一致就输出OK,不一致就输出ERROR。
diff baseline.xls baseline_temp.txt
if[!$?-eq 0];then
echo"error">>status.txt
#红底白字、闪烁显示ERROR字符。
echo-e"\033[41;37;5m error\033[0m"
else
echo"OK">>status.txt
#绿底白字、闪烁显示OK字符。
echo-e"\033[42;37;5m OK\033[0m"
fi
}。
所述硬盘拔插测试程序如下:
#main
j=0;
#先调用generate_baseline函数生成baseline
generate_baseline;
echo"Baseline is generated successfully!"
#进入死循环
while:;
do
sleep 300;
plug_out_in
done。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。