一种应用于Linux的验证磁盘乱序自动化测试方法

文档序号:10724810阅读:328来源:国知局
一种应用于Linux的验证磁盘乱序自动化测试方法
【专利摘要】本发明公开一种应用于Linux的验证磁盘乱序自动化测试方法,涉及计算机服务器技术领域,基于shell语言sort命令,使用sort命令帮助排序,根据不同的数据类型进行排序;通过服务器每次重启后比对磁盘的SN号,若发生磁盘乱序导致比对失败,则测试结束,通过/root/stop.txt文件查看,fail的次数及fail的位置;若比对一致,则继续测试;将代码中reboot变更为init 0,配合疲劳机能够进行AC、DC reboot测试。本发明避免了sort带来的弊端,使测试结果更加准确;具有实用性较强,应用范围较广的特点,实现了测试自动化,提升了产品的品质。
【专利说明】一种应用于L i nux的验证磁盘乱序自动化测试方法
[0001]
技术领域
[0002]本发明涉及计算机服务器技术领域,具体的说是一种应用于Linux的验证磁盘乱序自动化测试方法。
【背景技术】
[0003]随着IT领域技术的不断发展和大数据时代的到来,传统信息化服务以及日趋强大的云计算服务对服务器的存储容量需求越来越大。服务器搭载的硬盘数量也越来越多。在搭载如此多的磁盘的情况下,SAS卡起了至关重要的作用。SAS卡是专门为服务器提供外部硬盘存储能力和JBOD扩展能力而设计的SAS解决方案,如何保证板载存储控制器和SAS卡两种控制器混搭的情况下系统的稳定性,如何校验磁盘顺序是一个值得探讨的问题。

【发明内容】

[0004]本发明针对目前技术发展的需求和不足之处,提供一种应用于Linux的验证磁盘乱序自动化测试方法。
[0005]本发明所述一种应用于Linux的验证磁盘乱序自动化测试方法,解决上述技术问题采用的技术方案如下:所述一种应用于Linux的验证磁盘乱序自动化测试方法,基于shell语言sort命令,使用sort命令帮助排序,根据不同的数据类型进行排序;通过服务器每次重启后比对磁盘的SN号,进行磁盘乱序自动化测试。
[0006]优选的,若发生磁盘乱序导致比对失败,则测试结束;并且,能够通过/root/stop, txt文件查看,fail的次数及fail的位置。
[0007]优选的,若比对一致,则继续测试;将代码中reboot变更为init O,配合疲劳机能够进行AC、DC reboot测试。
[0008]优选的,本所述验证磁盘乱序自动化测试方法的具体实现步骤如下:
1)修改order_test.sh,生成磁盘清单和SN号清单;
2)修改reboot,sh,重启生成磁盘SN号比对清单;
3)修改启动项,将reboot.sh设置成开机自动启动;
4)开启重启测试,在系统启动后自动执行reboot,sh脚本,对比磁盘顺序;并从stop, txt 获取 fail 位置。
[0009]本发明所述一种应用于Linux的验证磁盘乱序自动化测试方法与现有技术相比具有的有益效果是:本发明针对服务器板载存储控制器和SAS卡混搭时磁盘乱序进行验证测试,基于shell语言sort命令,使用sort命令帮助排序,而且可以根据不同的数据类型进行排序;从而避免了 sort带来的弊端,使测试结果更加准确;在服务器每次重启后比对磁盘的SN号,如果一旦发生磁盘乱序导致比对失败,测试结束;该测试方法具有实用性较强,应用范围较广的特点,实现了测试自动化,提升了产品的品质。
【具体实施方式】
[0010]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种应用于Linux的验证磁盘乱序自动化测试方法进一步详细说明。
[0011]针对Linux系统下控制器混搭磁盘乱序进行验证,本发明公开了一种应用于Linux的验证磁盘乱序自动化测试方法,基于shell语言sort命令,使用sort命令帮助排序,根据不同的数据类型进行排序;从而避免了 sort带来的弊端,使测试结果更加准确。在服务器每次重启后比对磁盘的SN号,一旦发生磁盘乱序导致比对失败,测试结束。该测试方法实用性较强,应用范围较广,实现了测试自动化。
[0012]实施例:
针对服务器板载存储控制器和SAS卡混搭时磁盘乱序进行验证测试,本实施例所述一种应用于Linux的验证磁盘乱序自动化测试方法,基于shell语言sort命令,使用sort命令帮助排序,根据不同的数据类型进行排序;通过服务器每次重启后比对磁盘的SN号,进行磁盘乱序自动化测试。
[00?3]若发生磁盘乱序导致比对失败,则测试结束;并且,能够通过/root/stop.txt文件查看,f ai I的次数及f ai I的位置;
若比对一致,则继续测试;将代码中:reboot变更为init 0,配合疲劳机能够进行AC、DCreboot(交流、直流重启)测试,这样可以覆盖服务器验证在做AC,DC测试后磁盘乱序的测试。
[0014]本实施例所述应用于Linux的验证磁盘乱序自动化测试方法,其具体实现步骤如下:
1)修改order_test.sh,生成磁盘清单和SN号清单;
2)修改reboot,sh,重启生成磁盘SN号比对清单;
3)修改启动项,将reboot.sh设置成开机自动启动;
4)开启重启测试,在系统启动后自动执行reboot,sh脚本,对比磁盘顺序;并从stop, txt 获取 fail 位置。
[0015]所述应用于Linux的验证磁盘乱序自动化测试方法,在进行实施时,执行测试前,先要确保磁盘盘符与实际物理磁盘安装的位置slot号是对应的,也就是保证没有出现磁盘乱序的情况。例如:假设服务器配置8块磁盘,从sda到sdh,执行如下命令:
for i in {a..h};do badblocks /dev/sd$i & sleep 2 ;killall _9 badblocks;
done
查看硬盘闪灯顺序是否与物理磁盘安装的实际位置slot号对应。
[0016]本实施例所述验证磁盘乱序自动化测试方法,其具体实施过程如下:
I)通过磁盘顺序脚本order_test.sh:
#!/bin/bashDIR=$PWD
rm -rf /root/disk_list.txtrm -rf /root/disk_SN.txtrm -rf /root/disk_SNl.txtrm -rf /root/stop.txt
通过上述代码,删除重复的文件(重复测试时起作用);
fdisk -1 |grep "Disk /dev/sd〃 |awk -F ’ ’ ’{print $2|"cut -b8_10"}’ |awk-F ’:’ ’{print $1}’ >> /root/1.txt
sort /root/1.txt >> /root/disk—list.txt
rm -rf /root/1.txt
通过上述代码,生成磁盘清单;
for i in cat /root/disk—list.txt'
do
echo sd$i >> /root/disk—SN.txt
smartctl -a /dev/sd$i | grep _i ,,serial number,, >> /root/disk—SN.txtdone
通过上述代码,生成磁盘SN号清单;
通过cp $DIR/reboot.sh /root/,拷贝重启文件;通过echo "sh /root/reboot.sh &〃? /etc/rc.local,设置重启自动运行脚本;Reboot,重启。
[0017]2)然后,通过重启脚本reboot.sh:
#!/bin/bashsleep 35
for i in cat /root/disk—list.txt'do
echo sd$i >> /root/disk—SNl.txt
smartctl -a /dev/sd$i | grep _i ,,Serial Number,, >> /root/disk—SNl.txtdone
通过上述代码,重启后生成磁盘SN对比清单; echo reboot >> /root/reboot.txt Num='cat /root/reboot.txt |wc -1' echo $Num > /root/times 通过上述代码,记录重启次数;
DIFF='diff /root/disk—SN.txt /root/disk—SNl.txt'
if [ "$DIFF〃 = ’’ ];then
rm -rf /root/disk—SNl.txt
reboot
else
fail—num='cat /root/times'
echo “rum $fail_num times fail” >> /root/stop.txtecho $DIFF >> /root/stop.txtrm -rf /root/reboot.txtfi
通过上述代码,比对文件,如果对比不一致,测试停止;通过/root/stop, txt文件查看,f a i I的次数及fa i I的位置;如果比对一致,则继续测试。
[0018]此外,将上述代码中reboot变更为init 0,配合疲劳机可以进行AC、DC reboot(交流、直流重启)测试,这样可以覆盖服务器验证在做AC,DC测试后磁盘乱序的测试。
[0019]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
1.一种应用于Linux的验证磁盘乱序自动化测试方法,其特征在于,基于ShelI语言sort命令,使用sort命令帮助排序,根据不同的数据类型进行排序;通过服务器每次重启后比对磁盘的SN号,进行磁盘乱序自动化测试。2.根据权利要求1所述一种应用于Linux的验证磁盘乱序自动化测试方法,其特征在于,若发生磁盘乱序导致比对失败,则测试结束;并且,能够通过/root/stop.txt文件查看,fail的次数及fail的位置。3.根据权利要求2所述一种应用于Linux的验证磁盘乱序自动化测试方法,其特征在于,若比对一致,则继续测试;将代码中:reboot变更为init O,配合疲劳机能够进行AC、DCreboot 测试。4.根据权利要求1至3任一所述一种应用于Linux的验证磁盘乱序自动化测试方法,其特征在于,其具体实现步骤如下: 1)修改order_test.sh,生成磁盘清单和SN号清单; 2)修改reboot.sh,重启生成磁盘SN号比对清单; 3)修改启动项,将reboot.sh设置成开机自动启动; 4)开启重启测试,在系统启动后自动执行r e b ο ο t.s h脚本,对比磁盘顺序;并从stop, txt 获取 fail 位置。
【文档编号】G06F11/36GK106095680SQ201610409377
【公开日】2016年11月9日
【申请日】2016年6月12日
【发明人】董喜燕, 刘云飞
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1