一种存储池创建方法、装置、设备及可读存储介质与流程

文档序号:16735953发布日期:2019-01-28 12:37阅读:212来源:国知局
一种存储池创建方法、装置、设备及可读存储介质与流程

本发明涉及存储技术领域,特别是涉及一种存储池创建方法、装置、设备及可读存储介质。



背景技术:

在对存储系统进行测试中,经常会涉及到边界值的测试。测试边界值,即在存储系统中不断创建存储池,直到无法继续创建存储池为止的方式,获得存储系统的边界值。不同的存储系统支持不同的规则参数,即存储系统的边界值小则上百,多则上万。另外,在应用存储系统存储数据时,往往也涉及到需大量创建存储池。

目前,在对存储系统进行测试或应用时,大多通过手动的方式,登录存储系统,并手动输入命令行,逐个创建存储池。创建存储池的效率较低、耗时,且容易出现人为失误。

综上所述,如何有效地解决在存储系统创建存储池的效率等问题,是目前本领域技术人员急需解决的技术问题。



技术实现要素:

本发明的目的是提供一种存储池创建方法、装置、设备及可读存储介质,以实现存储池创建效率

为解决上述技术问题,本发明提供如下技术方案:

一种存储池创建方法,包括:

接收在目标存储系统中创建n个存储池的创建请求;其中,n为正整数;

按照预设创建命令生成规则,生成与所述创建请求对应的n条存储池创建命令;

将n条所述存储池创建命令分别作为参数传递给sshpass工具;

利用sshpass工具登录所述目标存储系统,并执行n条所述存储池创建命令创建n个存储池。

优选地,所述按照预设创建命令生成规则,生成与所述创建请求对应的n条存储池创建命令,包括:

利用循环语句,对预设创建命令的变量进行赋值,生成与所述创建请求对应的n条存储池创建命令。

优选地,所述利用sshpass工具登录所述目标存储系统,包括:

利用sshpass工具中的sourcerun_ssh.sh读取登录信息;其中,所述登录信息包括集群ip、用户名和密码;

利用所述sshpass工具中的runssh.sh,并结合所述登录信息登录所述目标存储系统。

优选地,还包括:

利用所述sshpass工具获取在所述目标存储系统中执行n条所述存储池创建命令的执行时间。

优选地,利用所述sshpass工具获取在所述目标存储系统中执行n条所述存储池创建命令的执行时间,包括:

利用所述sshpass工具,执行利用shell内建time命令的可执行二进制文件,获取在所述目标存储系统中执行n条所述存储池创建命令的执行时间。

优选地,还包括:

接收查询所述目标存储系统的存储池数量的查询命令;

将所述查询命令作为参数传递给所述runssh.sh,获得当前所述目标存储系统上的存储池数量。

优选地,还包括:

接收在目标存储系统中删除m个存储池的删除请求;其中,m为正整数;

按照预设删除命令生成规则,生成与所述删除请求对应的m条存储池删除命令;

将m条所述存储池删除命令分别作为参数传递给所述sshpass工具;

利用所述sshpass工具登录所述目标存储系统,并执行m条所述存储池删除命令删除m个存储池。

一种存储池创建装置,包括:

创建请求获取模块,用于接收在目标存储系统中创建n个存储池的创建请求;其中,n为正整数;

存储池创建命令生成模块,用于按照预设创建命令生成规则,生成与所述创建请求对应的n条存储池创建命令;

存储池创建命令传递模块,用于将n条所述存储池创建命令分别作为参数传递给sshpass工具;

存储池创建模块,用于利用sshpass工具登录所述目标存储系统,并执行n条所述存储池创建命令创建n个存储池。

一种存储池创建设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述存储池创建方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述存储池创建方法的步骤。

应用本发明实施例所提供的方法,接收在目标存储系统中创建n个存储池的创建请求;其中,n为正整数;按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令;将n条存储池创建命令分别作为参数传递给sshpass工具;利用sshpass工具登录目标存储系统,并执行n条存储池创建命令创建n个存储池。

在目标存储系统中创建存储池时,即接收到请求在目标存储系统中创建n个存储池的创建请求之后,可按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令。然后,将这n条存储池创建命令分别作为参数,传递给sshpass工具。由于sshpass工具能够实现自动登录存储系统,并下发命令给存储系统,因而,可以利用sshpass工具登录目标存储系统,并实现执行n条存储池创建命令,最终创建出n个存储池。如此,无需手动登录目标存储系统,手动输入存储池创建命令,便可实现在目标存储系统中,根据接收到的创建请求创建指定数量的存储池。减少手动操作,不仅可减少技术人员的工作负担,还可避免人为失误,提高存储池创建准确率。

将本发明实施例所提供的存储池创建方法应用到对存储系统进行边界值测试或应用存储系统时创建存储池的过程中,由于存储池创建效率高,还可使得边界值测试效率、应用存储系统的效率得以提升。

相应地,本发明实施例还提供了与上述存储池创建方法相对应的存储池创建装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

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

图1为本发明实施例中一种存储池创建方法的实施流程图;

图2为本发明实施例中一种删除存储池的实施流程图;

图3为本发明实施例中一种存储池创建装置的结构示意图;

图4为本发明实施例中一种存储池创建设备的结构示意图;

图5为本发明实施例中一种存储池创建设备的具体结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一:

请参考图1,图1为本发明实施例中一种存储池创建方法的流程图,该方法包括以下步骤:

s101、接收在目标存储系统中创建n个存储池的创建请求。

其中,n为正整数。

在本发明实施例所提供的存储池创建方法可应用于在对目标存储系统进行边界值测试的测试场景中,也可应用于在使用目标存储系统存储数据等应用过程中。其中,目标存储系统可以为常见的不同规格的存储系统。当接收到如持续集成工具(jenkins)、自动化测试平台等上层应用下达创建n个存储池的指令,或检测到用户在存储池管理软件的可视化界面,输入存储池创建数量n时,即视为接收到请求在目标存储系统中创建n个存储池的创建请求。

s102、按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令。

可预先设置创建命令生成规则,在该规则中,可包括生成的存储池的容量大小、存储池名、所属的存储集群ip的设定方式。由于存储池的池名不同,因而按照创建命令生成规则,即可生成与创建请求对应的n条存储池创建命令。也就是说,当创建请求为请求在目标存储系统中创建6个存储池的请求,则按照创建命令生成规则,则可生成与创建请求中请求创建的存储池数量对应的6条存储池创建命令。

优先地,为了快速有效地生成存储池创建命令,可预先设置一个具备变量的存储池创建命令,然后基于创建命令生成规则,对存储池创建命令中的变量进行赋值,便可产生相应的存储池创建命令。具体的,可利用循环语句,对预设创建命令的变量进行赋值,生成n条存储池创建命令。其中,所使用的循环语句可具体为for语句、do语句、while语句。例如,当需要创建的存储池数量n具体为5时,可利用for(i=1;i<=5;i++){对第i条存储池创建命令中的变量进行赋值},生成5条存储池创建命令。

s103、将n条存储池创建命令分别作为参数传递给sshpass工具。

由于sshpass工具可用于非交互ssh的密码验证,即在sh脚本中,无须再次输入密码。并允许使用-p参数指定明文密码,然后直接登录远程服务器,支持从命令行、文件、环境变量中读取密码。在生成n条存储池创建命令之后,便可n条存储池创建命令分别作为参数传递给sshpass工具。

其中,可以通过执行以下步骤来实现登录目标存储系统:

步骤一、利用sshpass工具中的sourcerun_ssh.sh读取登录信息。

其中,登录信息包括集群ip、用户名和密码;

步骤二、利用sshpass工具中的runssh.sh,并结合登录信息登录目标存储系统。

为便于描述,下面将上述两个步骤结合起来进行说明。

可预先设置sourcerun_ssh.sh和runssh.sh两个脚本文件。其中sourcerun_ssh.sh脚本用于读取预先存储的文件中的集群ip、用户名密码等登录信息;runssh.sh脚本用于根据登录信息远程登录目标存储系统。

具体的,如何将存储池创建命令作为参数传递给sshpass工具的具体实现过程,可参见sshpass工具的使用方法,在此不再赘述。

s104、利用sshpass工具登录目标存储系统,并执行n条存储池创建命令创建n个存储池。

利用sshpass工具登录目标存储系统,并将n条存储池创建命令下达给目标存储系统,以便目标存储系统执行n条存储池创建命令,完成创建n个存储池。

应用本发明实施例所提供的方法,接收在目标存储系统中创建n个存储池的创建请求;其中,n为正整数;按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令;将n条存储池创建命令分别作为参数传递给sshpass工具;利用sshpass工具登录目标存储系统,并执行n条存储池创建命令创建n个存储池。

在目标存储系统中创建存储池时,即接收到请求在目标存储系统中创建n个存储池的创建请求之后,可按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令。然后,将这n条存储池创建命令分别作为参数,传递给sshpass工具。由于sshpass工具能够实现自动登录存储系统,并下发命令给存储系统,因而,可以利用sshpass工具登录目标存储系统,并实现执行n条存储池创建命令,最终创建出n个存储池。如此,无需手动登录目标存储系统,手动输入存储池创建命令,便可实现在目标存储系统中,根据接收到的创建请求创建指定数量的存储池。减少手动操作,不仅可减少技术人员的工作负担,还可避免人为失误,提高存储池创建准确率。

将本发明实施例所提供的存储池创建方法应用到对存储系统进行边界值测试或应用存储系统时创建存储池的过程中,较高的存储池创建效率还可使得边界值测试效率、应用存储系统的效率得以提升。

优选地,便于将本发明实施例所提供的存储池创建方法应用到对目标存储系统进行测试,还可利用sshpass工具获取在目标存储系统中执行n条存储池创建命令的执行时间。即,在利用本发明实施例所提供的存储池创建方法创建存储池时,还可以利用sshpass工具获得创建存储池的执行时间,以便对目标存储系统的性能进行鉴定。在具体实现时,可利用sshpass工具,执行利用shell内建time命令的可执行二进制文件,获取在目标存储系统中执行n条存储池创建命令的执行时间。具体的,sshpass登录目标存储系统的操作,以及执行其他操作可以作为参数传给shell的关键字time,如此便可获得存储上执行命令的时间。

优选地,为方便用户当前目标存储系统内已创建的存储池数量,以便进行创建或删除存储池,本发明实施例所提供的存储池创建方法,还可以通过接收查询目标存储系统的存储池数量的查询命令;将查询命令作为参数传递给runssh.sh,获得当前目标存储系统上的存储池数量。

优选地,由于在实际应用中,在对目标存储系统中的存储池进行管理时,可能会涉及到需要对存储池进行大量删除的操作。因此,基于上文所提供的实施例,本发明实施例还提供了包括删除存储池的技术方案。请参考图2,图2为本发明实施例中一种删除存储池的实施流程图。删除存储池包括:

s201、接收在目标存储系统中删除m个存储池的删除请求;

其中,m为正整数;

s202、按照预设删除命令生成规则,生成与删除请求对应的m条存储池删除命令;

s203、将m条存储池删除命令分别作为参数传递给sshpass工具;

s204、利用sshpass工具登录目标存储系统,并执行m条存储池删除命令删除m个存储池。

从上述步骤可见,删除存储池的实现过程与上文所描述的创建存储池的实现过程类似。因此,删除存储池的具体实现过程可参见上述实施例所描述的具体实现步骤,在此不再赘述。

实施例二:

相应于上面的方法实施例,本发明实施例还提供了一种存储池创建装置,下文描述的存储池创建装置与上文描述的存储池创建方法可相互对应参照。

参见图3所示,该装置包括以下模块:

创建请求获取模块101,用于接收在目标存储系统中创建n个存储池的创建请求;其中,n为正整数;

存储池创建命令生成模块102,用于按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令;

存储池创建命令传递模块103,用于将n条存储池创建命令分别作为参数传递给sshpass工具;

存储池创建模块104,用于利用sshpass工具登录目标存储系统,并执行n条存储池创建命令创建n个存储池。

应用本发明实施例所提供的装置,接收在目标存储系统中创建n个存储池的创建请求;其中,n为正整数;按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令;将n条存储池创建命令分别作为参数传递给sshpass工具;利用sshpass工具登录目标存储系统,并执行n条存储池创建命令创建n个存储池。

在目标存储系统中创建存储池时,即接收到请求在目标存储系统中创建n个存储池的创建请求之后,可按照预设创建命令生成规则,生成与创建请求对应的n条存储池创建命令。然后,将这n条存储池创建命令分别作为参数,传递给sshpass工具。由于sshpass工具能够实现自动登录存储系统,并下发命令给存储系统,因而,可以利用sshpass工具登录目标存储系统,并实现执行n条存储池创建命令,最终创建出n个存储池。如此,无需手动登录目标存储系统,手动输入存储池创建命令,便可实现在目标存储系统中,根据接收到的创建请求创建指定数量的存储池。减少手动操作,不仅可减少技术人员的工作负担,还可避免人为失误,提高存储池创建准确率。

将本发明实施例所提供的存储池创建装置应用到对存储系统进行边界值测试或应用存储系统时创建存储池的过程中,较高的存储池创建效率还可使得边界值测试效率、应用存储系统的效率得以提升。

在本发明的一种具体实施方式中,存储池创建命令生成模块102,具体用于利用循环语句,对预设创建命令的变量进行赋值,生成n条存储池创建命令。

在本发明的一种具体实施方式中,存储池创建模块104,包括:

登录信息读取单元,用于利用sshpass工具中的sourcerun_ssh.sh读取登录信息;其中,登录信息包括集群ip、用户名和密码;

登录单元,用于利用sshpass工具中的runssh.sh,并结合登录信息登录目标存储系统。

在本发明的一种具体实施方式中,还包括:

执行时间获取模块,用于利用sshpass工具获取在目标存储系统中执行n条存储池创建命令的执行时间。

在本发明的一种具体实施方式中,执行时间获取模块,具体用于利用sshpass工具,执行利用shell内建time命令的可执行二进制文件,获取在目标存储系统中执行n条存储池创建命令的执行时间。

在本发明的一种具体实施方式中,还包括:

存储池数量查询模块,用于接收查询目标存储系统的存储池数量的查询命令;将查询命令作为参数传递给runssh.sh,获得当前目标存储系统上的存储池数量。

在本发明的一种具体实施方式中,还包括:

存储池删除模块,用于接收在目标存储系统中删除m个存储池的删除请求;其中,m为正整数;按照预设删除命令生成规则,生成与删除请求对应的m条存储池删除命令;将m条存储池删除命令分别作为参数传递给sshpass工具;利用sshpass工具登录目标存储系统,并执行m条存储池删除命令删除m个存储池。

实施例三:

相应于上面的方法实施例,本发明实施例还提供了一种存储池创建设备,下文描述的一种存储池创建设备与上文描述的一种存储池创建方法可相互对应参照。

参见图4所示,该事务处理设备包括:

存储器d1,用于存储计算机程序;

处理器d2,用于执行计算机程序时实现上述方法实施例的事务处理方法的步骤。

请参考图5,图5为本实施例提供的存储池创建设备的具体结构示意图。该存储池创建设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在存储池创建设备301上执行存储介质330中的一系列指令操作。

存储池创建设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等。

上面所描述的存储池创建方法中的步骤可以由存储池创建设备的结构实现。

实施例四:

相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种存储池创建方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的存储池创建方法的步骤。

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

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

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