网络存储管理软件虚拟化测试系统的制作方法

文档序号:7556841阅读:267来源:国知局
专利名称:网络存储管理软件虚拟化测试系统的制作方法
技术领域
本实用新型属于计算机软件测试技术领域,涉及一种网络存储管理软件虚拟测化试系统。
背景技术
随着存储容量的不断扩展,网络存储变得越来越复杂,自动化管理变得异常重要。因此,网络存储管理软件的设计和开发就成为存储产品开发中不可或缺的部分。网络存储管理软件设计完成后,需要通过读写远端的多个磁盘阵列来验证软件的正确性和有效性。网络存储管理软件的测试需要配置相当数量的真实盘阵作为测试的硬件基础,不仅会严重浪费硬件资源,增加软件测试的成本,而且盘阵运行时所耗费的空间资源和电力资源也会进一步加大测试开销。另一方面,当测试所需的盘阵个数快速变化时,基于真实盘阵的测试方法不能及时响应测试要求,影响测试效果。鉴于上述方法存在的问题,提出一种网络存储管理软件的测试虚拟化测试系统,在远程PC上运行虚拟盘阵服务进程模拟真实盘阵操作。

实用新型内容本实用新型的目的是为克服现有技术在对网络存储管理软件进行测试时要占用大量资源、测试效果不佳的问题,提供一种网络存储管理软件的测试虚拟化测试系统。本实用新型的技术方案是:一种网络存储管理软件虚拟化测试系统,包括:网络存储管理软件客户端;磁盘阵列虚拟服务端,其包括网络连接设备和磁盘阵列虚拟机。其中,至少有一台所述磁盘阵列虚拟机与所述网络连接设备通信连接;网络存储管理软件客户端与磁盘阵列虚拟服务端通信连接。所述系统的磁盘阵列虚拟服务端中至少一台磁盘阵列虚拟机B上安装虚拟机软件并在虚拟机上运行若干个Linux操作系统,通过给网卡设置别名的方法,实现单个网卡绑定多个IP地址。一个虚拟盘阵由一个UDP Server进程和一个TCP Server进程构成,每个虚拟盘阵被分配一个IP地址,UDP Server进程和TCP Server进程监听同一 IP地址上的不同端口。这两个进程分别与主程序中的UDP Client线程和TCP Client线程相对应,模拟真实盘阵响应UDP包并完成管理命令的操作。如图2所示。所述系统的网络存储管理软件客户端台式计算机A上运行待测试的网络存储管理软件,确定出需要管理的盘阵个数及与盘阵通信的IP地址范围。然后根据这些地址覆盖的IP网段个数,网络存储管理软件中的主程序循环调用UDP Client线程。该线程依次给每个网段内的每个盘阵发送一个UDP包,以探测盘阵的状态和类型。如果在规定时间内UDPClient没有收到来自某个IP地址的响应包,则认为该IP地址上的盘阵失效;如果有盘阵对这个UDP包做出响应并返回信息,则UDP Client线程就把该盘阵的IP地址记录在一个公共数组中。之后,主程序时刻监测公共数组的变化,当发现有新的IP地址加入数组就立刻调用TCP Client的线程。该线程会向上述IP地址发起一个TCP连接,要求对应盘阵完成某种操作,例如读操作或者写操作。根据存储软件管理盘阵的私有协议,接受连接的盘阵会解析TCP信息包中的操作命令,从而执行操作并把结果返回给TCP Client线程。所述系统的网络存储管理软件客户端与磁盘阵列虚拟服务端通过网络连接。网络存储管理软件客户端A向运行在磁盘虚拟机B上的N个UDP Server进程和N个TCP Server进程发送操作请求。磁盘虚拟机B执行UDP Server进程,响应UDP Client发出的查询包,把虚拟盘阵的硬件信息打包返回给UDP Client线程;执行TCP Server进程,响应TCP Client发出的管理请求,根据私有协议解析管理命令,模拟完成相应操作。以读命令为例,先检查该连接是否可读,如果可读,则读取该socket的内容到缓冲区,然后根据私有协议解析命令内容,最后到Linux系统的特定目录下读取以命令名命名的数据文件并把数据内容打包返回给TCP Client线程,从而完成虚拟盘阵的一次读操作。详细过程如图3所示。有益效果:采用本实用新型在测试网络存储管理软件的正确性和有效性时,无需读写远端真实的磁盘阵列,模拟真实盘阵在存储管理软件测试中执行的操作。与现有技术相比,用虚拟盘阵软件代替真实的盘阵硬件完成网络存储管理软件性能的测试,既降低了软件测试的费用又增加了测试的灵活性,具有极大的实用价值和经济效益。

图1网络存储管理软件虚拟化测试系统结构图图2盘阵虚拟化结构图图3执行读命令的线程工作流程图
具体实施方式
下面结合实施例对本实用新型作具体细描述。实施例如图1所示,本实用新型提供一种网络存储管理软件虚拟化测试系统,包括:网络存储管理软件客户端;磁盘阵列虚拟服务端,其包括网络连接设备和磁盘阵列虚拟机。其中,至少有一台所述磁盘阵列虚拟机与所述网络连接设备通信连接;网络存储管理软件客户端与磁盘阵列虚拟服务端通信连接。测试实例预计对600个盘阵进行管理。所述系统的磁盘阵列虚拟服务端中至少一台磁盘阵列虚拟机B上安装3个Linux系统。每个系统的单网卡上绑定200个IP地址,地址范围设置成 192.168.4.11 192.168.4.210、192.168.5.11 192.168.5.210 和192.168.6.11 192.168.6.210,子网掩码为255.255.255.0。运行磁盘阵列虚拟机B上的脚本程序依次启动600个UDP Server进程和600个TCP Server进程,进程的输入参数IP地址如上述范围,UID范围从1048576变化到1049175。所述系统的网络存储管理软件客户端台式计算机A上运行待测试的网络存储管理软件。从上述设置的IP地址范围可知,该地址覆盖了 3个网段,因此管理软件的主程序3次调用UDP Client线程分别在每一个网段内向每个IP地址发送UDP查询包。运行在所述磁盘虚拟机B上的每个虚拟盘阵由一个UDP Server和一个TCP Server进程构成。如果某个UPD Server接收到UDP查询包就会把跟自己绑定的IP地址、UID标识以及盘阵类型等信息返回给计算机A中的UDP Client线程。该线程如果能在规定时间内收到来自某个IP地址的UDP响应包就认为该IP地址上的虚拟盘阵存在,于是把该IP地址记录在一个公共数组中。随后,管理软件的主程序时刻检测公共数组IP地址的变化,当发现有新的IP地址写入数组,比如192.168.5.121,则主程序调用TCP Client线程向IP地址为192.168.5.121的虚拟盘阵发出TCP连接请求,要求该虚拟盘阵执行读命令。所述系统的网络存储管理软件客户端与磁盘阵列虚拟服务端通过网络连接,运行在磁盘虚拟机B的TCP Server进程监听到来自网络存储管理软件客户端台式计算机A发出的TCP Client的连接请求,如果发现该连接可读,则仓Il建新线程实现虚拟盘阵读数据的功能。具体过程如下:先检测此TCP连接的socket数据是否可读,如果可读就循环读出socket中的数据直到全部读出为止。然后根据存储管理软件的私有协议解析出socket数据中的读命令,比如是00012100FFFF,最后就到/usr/tmp/data目录下打开文件名为00012100FFFF的数据文件。如果打开操作成功,就读取文件内容并把文件数据打包返回给TCP Client线程;如果操作不成功,会重新组织一个无数据内容的信息包返回给TCPClient线程。至此虚拟盘阵的一次读操作结束。
权利要求1.一种网络存储管理软件虚拟化测试系统,其特征在于,包括:网络存储管理软件客户端;磁盘阵列虚拟服务端,其包括网络连接设备和磁盘阵列虚拟机;其中,至少有一台所述磁盘阵列虚拟机与所述网络连接设备通信连接;网络存储管理软件客户端与磁盘阵列虚拟服务端通信连接。
2.如权利要求1所述的一种网络存储管理软件虚拟化测试系统,其特征在于,所述网络存储管理软件客户端采用戴尔0ptiPleX390台式计算机。
3.如权利要求1所述的一种网络存储管理软件虚拟化测试系统,其特征在于,所述磁盘阵列虚拟服务端中的网络连接设备为8端口 TP-LINK TL-HP8MU集线器。
4.如权利要求1所述的一种网络存储管理软件虚拟化测试系统,其特征在于,所述磁盘阵列虚拟服务端中的磁盘阵列虚拟机采用IBM联想S204105A64工作站。
专利摘要本实用新型公开了一种网络存储管理软件虚拟化测试系统,包括网络存储管理软件客户端;磁盘阵列虚拟服务端,其包括网络连接设备和磁盘阵列虚拟机。其中,至少有一台所述磁盘阵列虚拟机与所述网络连接设备通信连接;网络存储管理软件客户端与磁盘阵列虚拟服务端通信连接。该系统在远程磁盘阵列虚拟机上运行虚拟盘阵服务进程模拟真实盘阵操作,克服了现有技术在对网络存储管理软件进行测试时要占用大量资源、测试效果不佳的问题。本实用新型用虚拟盘阵软件代替真实的盘阵硬件完成网络存储管理软件性能的测试,既降低了软件测试的费用又增加了测试的灵活性,具有极大的实用价值和经济效益。
文档编号H04L29/08GK203039708SQ201320026429
公开日2013年7月3日 申请日期2013年1月18日 优先权日2013年1月18日
发明者李艳, 孙福振, 杜建光, 张丽, 王金刚 申请人:山东理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1