基于OpenPower架构自动化磁盘测试方法与流程

文档序号:11230300阅读:511来源:国知局
基于OpenPower架构自动化磁盘测试方法与流程

本发明涉及测试评估技术领域,具体涉及一种基于openpower架构自动化磁盘测试方法。



背景技术:

openpower是ibm公司基于power8,对外开放的区别于intelx86的一个新架构,具有开放的高性能cpu技术以及独有的capi技术,而且具有国产安全保障。在服务器市场,目前已经有很强的能力与x86争锋。

openpower架构在cpu类型、系统架构、操作系统类型这几大方面都很大程度有别于我们熟知的x86架构。其中对磁盘的性能和压力测试,大家熟知的fio测试工具,如果使用fioresource包,在各自平台编译后可以运行。在openpower架构,还可以使用该平台的专用的一个包,fio-2.2.8-2.el7.ppc64le.rpm(ppc64le这个是专指power的64位小端架构)。

另外一个不同与x86架构的地方,是其bios不使用x86通用的ami或者insyde代码,而是ibm自己开发的一套小linux系统,其最特殊的一点是在服务器post阶段不调用raid卡的optionrom,即需要使用相应的工具,在petiboot(即biosshell)下去初始化磁盘、创建raid阵列等。这里就有一个有别于x86的特殊点:磁盘raw模式,这个有些像x86上的jbods。



技术实现要素:

本发明要解决的技术问题是:本发明针对以上问题,提供一种基于openpower架构自动化磁盘测试方法。

本发明所采用的技术方案为:

基于openpower架构自动化磁盘测试方法,所述方法基于openpoewr架构服务器,对除系统盘外的其他所有磁盘,在raid卡下将其设置为raw模式,将每块磁盘作为个体分别做磁盘性能测试,得到不同位置的磁盘的性能,通过对比分析不同磁盘的数据结果,测试验证出磁盘的性能、服务器存储模组结构设计是否合理、硬盘散热设计是否合理。

所述方法具体实现过程如下:

服务器支持n块磁盘,给hdd1和hdd2两块磁盘组一个raid1,然后给分别将hdd3,4,5,6,……,n格式化为raw模式,每块磁盘都能够被识别成一块独立的分区;对3-n磁盘分别做fio性能测试,参考磁盘的spec(规格)以及互相对比结果,如果某些磁盘的数据明显低于spec或者其他磁盘数据,则可以初步判断出是服务器这存储模组部分结构不合理,或者该位置散热不合理。

由于hdd3-n这些磁盘分别处在不同的位置,理论上来说,这6块磁盘的型号、容量都一致,那么性能数据不会相差很多;同时考虑到影响磁盘性能的几个外界的重要因素,其中两个就是:震动和散热,如果磁盘所在位置结构不合理,磁盘读写压力时震动过大,就会导致性能偏低;同理,如果磁盘的所在位置散热不好,温度过高也会导致性能偏低,那么结合以上几个观点,就可以做出测试。

所述方法通过自动化脚本实现,所述自动化脚本使用fio磁盘测试工具,要能够同时、分别地对多个磁盘进行测试,能够自动运行顺序读(sr,sequenceread),顺序写(sw,sequencewrite),随机读(rr,randomread),随机写(rw,randomwrite),能够设置每个loop的读写比例(即可以混合读写)。

所述自动化脚本根据不同的iodepth(io深度)、不同大小的block(数据块)和测试运行时间三个性能参数进行测试。

所述方法测试完成后附带生成了配置日志log,并生成方便易查看的性能数据结果excel表格。

本发明的有益效果为:

本发明方法对验证服务器的磁盘性能、存储稳定性、存储模组设计是否合理这三大方面的测试都做了有效测试验证,自动化脚本也非常方便好用,生成的excel结果清晰明了,为产品质量做出了有效的保证,也为该产品在服务器市场立足打下扎实基础。

附图说明

图1为本发明自动化磁盘测试流程图;

图2为测试脚本流程图。

具体实施方式

根据说明书附图,结合具体实施方式对本发明进一步说明:

以支持8块磁盘的服务器为例,在openpower上rhel7.2ppc64le系统下,在petibootshell下格式化磁盘和创建raid阵列,准备测试环境:

1、petibootshell下将hdd1和hdd2创建一个raid1阵列;

2、分别将hdd3,4,5,6,7,8格式化为raw模式磁盘;

3、安装rhel7.2ppc64le操作系统在raid1阵列上。

安装fio测试工具:

1、拷贝安装包fio-2.2.8-2.el7.ppc64le.rpm到操作系统下

2、安装rpm包

#rpm–ivhfio-2.2.8-2.el7.ppc64le.rp

如图1所示,服务器支持8块磁盘,给hdd1和hdd2两块磁盘组一个raid1,然后给分别将hdd3,4,5,6,7,8格式化为raw模式,即每块磁盘都能够被识别成一块独立的分区;hdd3-8这6块磁盘分别处在不同的位置,理论上来说,这6块磁盘的型号、容量都一致,那么性能数据不会相差很多;同时考虑到影响磁盘性能的几个外界的重要因素,其中两个就是:震动和散热;如果磁盘所在位置结构不合理,磁盘读写压力时震动过大,就会导致性能偏低;同理,如果磁盘的所在位置散热不好,温度过高也会导致性能偏低;那么结合以上几个观点,;对6块磁盘分别做fio性能测试,参考磁盘的spec以及互相对比结果,如果某些磁盘的数据明显低于spec或者其他磁盘数据,则可以初步判断出是服务器这存储模组部分结构不合理,或者该位置散热不合理。

如图2所示,所述方法通过自动化脚本实现,所述自动化脚本使用fio磁盘测试工具,要能够同时、分别地对多个磁盘进行测试,能够自动运行顺序读(sr,sequenceread),顺序写(sw,sequencewrite),随机读(rr,randomread),随机写(rw,randomwrite),能够设置每个loop的读写比例(即可以混合读写)。

所述自动化脚本根据不同的iodepth(io深度)、不同大小的block(数据块)和测试运行时间三个性能参数进行测试

自动化脚本涉及内容如下:

1、函数:clean_up()

pkill正在运行的程序名

杀死iostats命令

返回操作系统

2、trapclean_upsigint

#当脚本收到sigint的信号时,trap命令执行clean_up函数

3、当操作时输入-h,会提示参数的用法

usage()

{

echo"`basename$0`-[d|h]args"

echo"-hprintthisusage."

echo"-dspecifytherawdisk,eg.-d/dev/sdbor-d/dev/sdb/dev/sdc."

echo"-fspecifythetestfilepathandname,eg.-f/mnt/testfile."

echo"-sspecifythefilesizeusedforfilesystemtest"

}

4、函数:fs_sync

用途:清理内存cache

5、函数:random_test()随机测试

fio命令说明:

rwtype=randrw测试随机写和读的i/o

rtime测试运行时间,单位秒

qdepthio深度

rwmixread混合读写里读占的比率

blksize单次io的块文件大小

6、函数:sequential_test()顺序测试

fio命令说明:

rwtype=rw测试顺序写和读的i/o

rtime测试运行时间,单位秒

qdepthio深度

rwmixread混合读写里读占的比率

blksize单次io的块文件大小

7、函数:stress_test()压力测试

fio命令说明:

rwtype=randrw测试随机写和读的i/o

rtime测试运行时间86400秒

qdepthio深度64

rwmixread混合读写各占50%

blksize单次io的块文件大小4k

8、函数:get_sys_config()获取系统磁盘配置信息

lsscsi获取scsi设备配置信息

lsblk获取可用块设备的信息

9、函数:output_check()检查是否已存在文件夹并且选择是否重新生成log

10、运行fio的数据生成excel表格,并且按照一定格式列出数据

实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

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