一种NAS测试系统、方法及计算机可读存储介质与流程

文档序号:17130500发布日期:2019-03-16 01:08阅读:178来源:国知局
一种NAS测试系统、方法及计算机可读存储介质与流程

本发明涉及存储测试领域,特别涉及一种nas测试系统、方法及计算机可读存储介质。



背景技术:

nas(networkattachedstorage,网络存储器)是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。具体的,nas一般包括存储器件和内嵌系统软件,可提供跨平台文件共享功能。nas通常在一个lan上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据。

由于nas应用十分广泛,且nas性能的可靠性事关用户数据的安全性,因此对于nas进行相关性能测试十分必要。目前nas测试主要是通过相关测试人员的手动测试实现。手动测试不仅使得nas测试效率低,测试周期长;还因为增加了人为主观性导致测试的准确性降低。



技术实现要素:

本发明的目的是提供一种nas测试系统、方法及计算机可读存储介质,通过自动化测试脚本能够自动化执行nas测试,节约人力的同时,避免人为主观性导致的nas测试准确性降低,并且缩短了nas测试周期。

为解决上述技术问题,本发明提供一种nas测试系统,包括:测试机、nas存储节点以及指定客户端;其中,

所述测试机,用于利用自动化测试脚本向所述nas存储节点发送共享创建指令以及客户端连接指令;

所述nas存储节点,用于执行所述共享创建指令创建共享文件,并在所述共享文件创建完成后执行所述客户端连接指令接连指定客户端;向所述指定客户端发送io测试指令,并将接收到的io测试结果发送给所述测试机;

所述指定客户端,用于执行所述io测试指令挂载所述共享文件,对所述共享文件进行读写测试,得到所述io测试结果,并将所述io测试结果发送给所述nas存储节点。

可选地,所述测试机,包括:

远程连接模块,用于执行所述自动化测试脚本中的远程连接指令连接所述nas存储节点;

指令发送模块,用于执行所述自动化测试脚本向所述nas存储节点发送共享创建指令以及客户端连接指令。

可选地,所述nas存储节点,包括:

共享创建模块,用于执行存储池创建指令创建存储池,在所述存储池创建完成后执行文件系统创建指令创建文件系统,在所述文件系统创建完成后执行所述共享创建指令创建共享文件。

可选地,所述测试机,还包括:

环境清理模块,用于在将所述io测试结果发送给所述测试机后,执行环境清理指令初始化共享文件环境。

可选地,所述指定客户端,包括:

挂载模块,用于挂载或映射所述共享文件;

io读写模块,用于对所述共享文件进行读写测试;

校验模块,用于对所述io读写模块的读写测试数据进行数据一致性校验,得到io测试结果。

可选地,所述测试机,还包括:

日志模块,用于记录所述测试机、所述nas存储节点以及所述指定客户端执行的操作以及操作结果,形成nas测试日志。

本发明还提供一种nas测试方法,包括:

测试机利用自动化测试脚本向nas存储节点发送共享创建指令以及客户端连接指令;

所述nas存储节点执行所述共享创建指令创建共享文件,在所述共享文件创建完成后执行所述客户端连接指令接连指定客户端,并向所述指定客户端发送io测试指令;

所述指定客户端执行所述io测试指令挂载所述共享文件,对所述共享文件进行读写测试,得到所述io测试结果,并将所述io测试结果发送给所述nas存储节点;

所述nas存储节点将接收到的io测试结果发送给所述测试机。

可选地,所述nas测试方法还包括:

所述测试机在将所述io测试结果发送给所述测试机后,执行环境清理指令初始化共享文件环境。

可选地,所述nas测试方法还包括:

所述测试机记录所述测试机、所述nas存储节点以及所述指定客户端执行的操作以及操作结果,形成nas测试日志。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的nas测试方法的步骤。

本发明所提供的一种nas测试系统,包括:测试机、nas存储节点以及指定客户端;其中,测试机,用于利用自动化测试脚本向nas存储节点发送共享创建指令以及客户端连接指令;nas存储节点,用于执行共享创建指令创建共享文件,并在共享文件创建完成后执行客户端连接指令接连指定客户端;向指定客户端发送io测试指令,并将接收到的io测试结果发送给测试机;指定客户端,用于执行io测试指令挂载共享文件,对共享文件进行读写测试,得到io测试结果,并将io测试结果发送给nas存储节点。

可见,该系统通过自动化测试脚本能够自动化执行nas测试,实现nas为客户端映射共享文件进行io读写及数据校验的自动化测试过程,在节约人力的同时,避免人为主观性导致的nas测试准确性降低,并且缩短了nas测试周期。本发明还提供了一种nas测试方法及计算机可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例所提供的nas测试系统的结构框图;

图2为本发明实施例所提供的一种具体的nas测试系统的结构示意图;

图3为本发明实施例所提供的nas测试方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前关于nas测试,尤其是关于客户端映射共享文件进行io读写及数据校验的测试部分,基本都是由相关测试人员进行手动测试,自动化粒度比较低。由于手动测试会存在nas测试效率低,测试周期长,且还因为增加了人为主观性导致测试的准确性降低的缺点。本实施例为了解决上述缺点,提供了一种nas测试系统,该系统通过自动化测试脚本实现自动化nas测试过程。具体请参考图1,图1为本发明实施例所提供的nas测试系统的结构框图;该系统可以包括:测试机100、nas存储节点200以及指定客户端300;其中,

测试机100,用于利用自动化测试脚本向nas存储节点发送共享创建指令以及客户端连接指令;

nas存储节点200,用于执行共享创建指令创建共享文件,并在共享文件创建完成后执行客户端连接指令接连指定客户端;向指定客户端发送io测试指令,并将接收到的io测试结果发送给测试机;

指定客户端300,用于执行io测试指令挂载共享文件,对共享文件进行读写测试,得到io测试结果,并将io测试结果发送给nas存储节点。

本实施例中通过测试机100中的自动化测试脚本实现对nas存储节点200以及指定客户端300的控制,以实现nas测试。可以理解为,通过测试机100自动化实现向nas存储节点200以及指定客户端300发送相关测试指令,由nas存储节点200以及指定客户端300在接收到测试指令后执行对应的操作进而自动化实现对客户端映射共享文件进行io读写及数据校验的测试部分。

为了实现测试机100自动化对nas存储节点200以及指定客户端300进行控制,需要测试机100与nas存储节点200以及指定客户端300建立连接。本实施例并不对该过程进行限定,只要三者之间可以实现数据交互即可。例如可以是由测试机100通过远程连接指令与nas存储节点200建立连接。nas存储节点200通过客户端连接指令与指定客户端300建立接连。具体的,测试机通过远程连接模块,执行自动化测试脚本中的远程连接指令连接nas存储节点;即通过远程连接模块实现测试机100与nas存储节点200之间的连接。指令发送模块,用于执行自动化测试脚本向nas存储节点发送共享创建指令以及客户端连接指令。在测试机100与nas存储节点200之间建立连接之后可以向nas存储节点200发送相关测试指令,本实施例对相关测试指令的具体内容并不进行限定,例如共享创建指令以及客户端连接指令。当用户还需要测试nas相关配置功能时,还可以发送相关配置指令。例如共享文件修改指令等。所以可以理解的是本实施例并不对自动化测试脚本的具体内容进行限定,需要根据用户想要实现的具体测试功能进行确定。

由于本实施例至少需要实现客户端映射共享文件进行io读写及数据校验的测试部分,因此需要首先建立共享文件,后续才可以在指定客户端实现io读写及数据校验的测试部分。本实施例并不对创建共享文件的具体过程进行限定。例如可以通过nas存储节点中的共享创建模块实现。在进行共享文件创建过程中,可以先进行nas共享的相关配置操作,然后再进行具体的共享文件创建过程。即具体的,共享创建模块,用于执行存储池创建指令创建存储池,在存储池创建完成后执行文件系统创建指令创建文件系统,在文件系统创建完成后执行共享创建指令创建共享文件。其中,共享文件创建可以是cifs、nfs等。

在完成共享文件的创建后,需要通过指定客户端实现具体的io读写测试过程。由于在执行具体的io读写过程是,需要指定客户端映射或者挂载对应的共享文件,而该共享文件又在nas存储节点200中,因此需要通过nas存储节点200与指定客户端300建立连接实现数据交互过程,已完成指定客户端300的共享文件映射过程。具体的,nas存储节点200在共享文件创建完成后执行客户端连接指令接连指定客户端300,并在连接成功后向指定客户端300发送io测试指令。

指定客户端300在接收到io测试指令后执行该io测试指令,实现挂载共享文件,对共享文件进行读写测试,得到io测试结果。具体的,指定客户端300可以包括:挂载模块,用于挂载或映射共享文件;io读写模块,用于对共享文件进行读写测试;校验模块,用于对io读写模块的读写测试数据进行数据一致性校验,得到io测试结果,并将io测试结果发送给nas存储节点,再由nas存储节点将接收到的io测试结果发送给测试机。进而完成本次测试过程。

进一步,为了保证nas测试系统的可靠性,优选的,本实施例中测试机100还可以通过日志模块记录测试机、nas存储节点以及指定客户端执行的操作以及操作结果,形成nas测试日志。即通过日志模块记录nas测试的整个过程,这样后续在出现问题时,便于技术人员分析查找问题原因。

进一步,由于共享文件的种类不同,或者应用场景不同,因此为了提高nas测试的适应性和可靠性,本实施例中可以对多种共享文件进行io读写测试。为了使整个测试过程都能够自动化执行,需要在每种共享文件测试完成后,能够自动删除其对应的共享文件配置内容,即删除该共享文件的环境。以便在原始环境下创建新的共享文件。即优选的,本实施例中测试机100还可以包括:环境清理模块,用于在将io测试结果发送给测试机后,执行环境清理指令初始化共享文件环境。即通过调用环境清理模块为下一条自动化测试脚本清理环境,准备后续的nas测试。

基于上述技术方案,本实施例提供的nas测试通过自动化测试脚本能够自动化执行nas测试,实现nas为客户端映射共享文件进行io读写及数据校验的自动化测试过程,在节约人力的同时,避免人为主观性导致的nas测试准确性降低,并且缩短了nas测试周期。

请参考图2,提供了一种具体的nas测试系统的结构示意图,具体实现过程可以如下:

步骤1:测试机运行自动化测试脚本,通过远程连接模块(如ssh模块,ssh是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用ssh协议可以有效防止远程管理过程中的信息泄露问题)到nas存储节点,并通过指令发送模块向nas存储节点发送创建指令等相关指令,同时测试机中日志模块记录后续操作的过程。

步骤2:nas存储节点调用环境清理模块为自动化测试脚本执行初始化环境,然后依次进行存储池创建、文件系统创建、共享文件创建(如cifs、nfs等)。

步骤3:nas存储节点在共享文件创建完成后,调用客户端连接模块连接到指定的客户端,在指定客户端上调用挂载模块挂载或映射已创建的共享文件,io读写模块针对共享进行读写测试,最终调用校验模块对读写进行数据一致性校验。

步骤4:指定客户端数据校验完成后,通知到客户端连接模块返回执行结果即io测试结果,同时通知到测试机中的日志模块记录最终的io测试结果,nas存储节点同时调用环境清理模块为下一条自动化测试脚本清理环境,准备后续的nas测试。

即通过在测试机中运行自动化测试脚本,调用远程连接模块到nas存储节点;在nas存储节点中自动执行nas共享的相关配置操作,实现共享文件的创建,在共享文件创建完成后,调用客户端连接模块,连接到具体的某个客户端即指定客户端;在指定客户端上运行挂载模块,挂载存储上已创建的相应共享文件,然后通过io读写模块对nas共享进行读写测试,最后校验模块返回数据校验结果即io测试结果,通知到客户端连接模块,同时返回给测试机,此时nas存储节点调用环境清理模块初始化环境为下一条自动化用例准备环境。测试机通过日志模块记录以上各个模块的操作过程,便于后续问题记录分析。进而实现自动化nas测试。

下面对本发明实施例提供的nas测试方法及计算机可读存储介质进行介绍,下文描述的nas测试方法及计算机可读存储介质与上文描述的nas测试系统可相互对应参照。

请参考图3,图3为本发明实施例所提供的nas测试方法的流程图;该方法可以包括:

s101:测试机利用自动化测试脚本向nas存储节点发送共享创建指令以及客户端连接指令;

s102:nas存储节点执行共享创建指令创建共享文件,在共享文件创建完成后执行客户端连接指令接连指定客户端,并向指定客户端发送io测试指令;

s103:指定客户端执行io测试指令挂载共享文件,对共享文件进行读写测试,得到io测试结果,并将io测试结果发送给nas存储节点;

s104:nas存储节点将接收到的io测试结果发送给测试机。

基于上述实施例,该方法还可以包括:

测试机在将io测试结果发送给测试机后,执行环境清理指令初始化共享文件环境。

基于上述任意实施例,该方法还可以包括:

测试机记录测试机、nas存储节点以及指定客户端执行的操作以及操作结果,形成nas测试日志。

本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例所述的nas测试方法的步骤。如计算机程序被处理器执行时实现,测试机,用于利用自动化测试脚本向nas存储节点发送共享创建指令以及客户端连接指令;nas存储节点,用于执行共享创建指令创建共享文件,并在共享文件创建完成后执行客户端连接指令接连指定客户端;向指定客户端发送io测试指令,并将接收到的io测试结果发送给测试机;指定客户端,用于执行io测试指令挂载共享文件,对共享文件进行读写测试,得到io测试结果,并将io测试结果发送给nas存储节点。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种nas测试系统、方法及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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