一种存储设备高可靠性测试的方法和设备与流程

文档序号:23097418发布日期:2020-11-27 12:59阅读:128来源:国知局
一种存储设备高可靠性测试的方法和设备与流程

本领域涉及计算机领域,并且更具体地涉及一种存储设备高可靠性测试的方法和设备。



背景技术:

在新基建大趋势下,存储设备重要性日益显著。而在日常实际生产过程中,会遇到无法预知的情况,比如:网络故障、停电、设备老化、操作失误等等,这些如果处理不当经会导致不可预估的灾难。对于存储而言,多控制器中异常其中几个,还要能保证业务连续不受影响是很困难的,测试过程中获取每个控制器的状态、关键部件状态和io(输入输出)状态等获取是很麻烦的。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种存储设备高可靠性测试的方法和设备,通过使用本发明的方法,能够验证多控存储的高可用性,验证存储异常时主机io业务的连续性,验证多控存储异常修复后的io业务连续性,能够提升产品在市场的竞争力和商业价值。

基于上述目的,本发明的实施例的一个方面提供了一种存储设备高可靠性测试的方法,包括以下步骤:

搭建存储环境和主机的网络拓扑,并验证存储环境中iops(没秒读写次数)是否稳定和主机输出io是否正常;

响应于存储环境中iops稳定且主机输出io正常,获取存储环境和主机的特定参数;

基于获取到的特定参数绘制第一性能曲线图;

去除存储环境中的部分控制器的连接,并再次获取存储环境和主机的特定参数;

基于再次获取的特定参数绘制第二性能曲线图,并将第二性能曲线图与第一性能曲线图进行对比;

响应于第二性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

根据本发明的一个实施例,还包括:

观察主机输出io情况是否异常;

响应于主机输出io在3至5秒内为0后输出io恢复正常,判断存储设备具有高可靠性。

根据本发明的一个实施例,还包括:

将去除的部分控制器重新连接到存储环境,并重新获得存储环境和主机的特定参数;

基于重新获得的特定参数绘制第三性能曲线图,并将第三性能曲线图与第一性能曲线图进行对比;

响应于第三性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

根据本发明的一个实施例,存储环境为多控存储集群,多控存储集群包括4个控制器。

根据本发明的一个实施例,特定参数包括iops、mbps(兆比特每秒)和延时数值。

根据本发明的一个实施例,响应于存储环境中iops稳定且主机输出io正常,获取存储环境和主机的特定参数包括:

基于配置的主机ip、用户名、密码和存储环境节点ip以及集群用户名、密码建立与主机和存储环境的网络链接;

定期对主机获取卷的iops、mbps和延时数值并存放在指定文件,定期对于存储环境获取卷、fc端口和lun的iops、mbps和延时数值并存放在指定文件。

根据本发明的一个实施例,基于获取到的特定参数绘制第一性能曲线图包括:

读取指定文件中存储的数据,按照json数据格式输入到echart工具;

echart工具基于输入的iops、mbps和延时数值绘制第一性能曲线图。

本发明的实施例的另一个方面,还提供了一种存储设备高可靠性测试的设备,设备包括:

验证模块,验证模块配置为搭建存储环境和主机的网络拓扑,并验证存储环境中iops是否稳定和主机输出io是否正常;

第一获取模块,第一获取模块配置为响应于存储环境中iops稳定且主机输出io正常,获取存储环境和主机的特定参数;

绘制模块,绘制模块配置为基于获取到的特定参数绘制第一性能曲线图;

第二获取模块,第二获取模块配置为去除存储环境中的部分控制器的连接,并再次获取存储环境和主机的特定参数;

对比模块,对比模块配置为基于再次获取的特定参数绘制第二性能曲线图,并将第二性能曲线图与第一性能曲线图进行对比;

判断模块,判断模块配置为响应于第二性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

根据本发明的一个实施例,还包括第一判断模块,第一判断模块配置为:

观察主机输出io情况是否异常;

响应于主机输出io在3至5秒内为0后输出io恢复正常,判断存储设备具有高可靠性。

根据本发明的一个实施例,还包括第二判断模块,第二判断模块配置为:

将去除的部分控制器重新连接到存储环境,并重新获得存储环境和主机的特定参数;

基于重新获得的特定参数绘制第三性能曲线图,并将第三性能曲线图与第一性能曲线图进行对比;

响应于第三性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

本发明具有以下有益技术效果:本发明实施例提供的存储设备高可靠性测试的方法,通过搭建存储环境和主机的网络拓扑,并验证存储环境中iops是否稳定和主机输出io是否正常;响应于存储环境中iops稳定且主机输出io正常,获取存储环境和主机的特定参数;基于获取到的特定参数绘制第一性能曲线图;去除存储环境中的部分控制器的连接,并再次获取存储环境和主机的特定参数;基于再次获取的特定参数绘制第二性能曲线图,并将第二性能曲线图与第一性能曲线图进行对比;响应于第二性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性的技术方案,能够验证多控存储的高可用性,验证存储异常时主机io业务的连续性,验证多控存储异常修复后的io业务连续性,能够提升产品在市场的竞争力和商业价值。

附图说明

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

图1为根据本发明一个实施例的存储设备高可靠性测试的方法的示意性流程图;

图2为根据本发明一个实施例的存储设备高可靠性测试的设备的示意图;

图3为根据本发明一个实施例的存储环境和主机的网络拓扑示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

基于上述目的,本发明的实施例的第一个方面,提出了一种存储设备高可靠性测试的方法的一个实施例。图1示出的是该方法的示意性流程图。

如图1中所示,该方法可以包括以下步骤:

s1搭建存储环境和主机的网络拓扑,并验证存储环境中iops是否稳定和主机输出io是否正常,可以通过vdbench(存储设备性能测试工具)工具来验证存储环境中iops是否稳定和主机输出io是否正常,该存储环境可以是多控存储集群,该集群中包括多个控制器并行向存储设备传输数据;

s2响应于存储环境中iops稳定且主机输出io正常,获取存储环境和主机的特定参数;

s3基于获取到的特定参数绘制第一性能曲线图;

s4去除存储环境中的部分控制器的连接,并再次获取存储环境和主机的特定参数,只保留一个控制器向存储设备传输数据;

s5基于再次获取的特定参数绘制第二性能曲线图,并将第二性能曲线图与第一性能曲线图进行对比;

s6响应于第二性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

通过本发明的技术方案,能够验证多控存储的高可用性,验证存储异常时主机io业务的连续性,验证多控存储异常修复后的io业务连续性,能够提升产品在市场的竞争力和商业价值。

在本发明的一个优选实施例中,还包括:

观察主机输出io情况是否异常;

响应于主机输出io在3至5秒内为0后输出io恢复正常,判断存储设备具有高可靠性。

在本发明的一个优选实施例中,还包括:

将去除的部分控制器重新连接到存储环境,并重新获得存储环境和主机的特定参数;

基于重新获得的特定参数绘制第三性能曲线图,并将第三性能曲线图与第一性能曲线图进行对比;

响应于第三性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

在本发明的一个优选实施例中,存储环境为多控存储集群,多控存储集群包括4个控制器。

在本发明的一个优选实施例中,特定参数包括iops、mbps和延时数值。

在本发明的一个优选实施例中,响应于存储环境中iops稳定且主机输出io正常,获取存储环境和主机的特定参数包括:

基于配置的主机ip、用户名、密码和存储环境节点ip以及集群用户名、密码建立与主机和存储环境的网络链接;

定期对主机获取卷的iops、mbps和延时数值并存放在指定文件,定期对于存储环境获取卷、fc端口和lun的iops、mbps和延时数值并存放在指定文件。

在本发明的一个优选实施例中,基于获取到的特定参数绘制第一性能曲线图包括:

读取指定文件中存储的数据,按照json数据格式输入到echart工具;

echart工具基于输入的iops、mbps和延时数值绘制第一性能曲线图。

实施例

下面是实现本发明方法的一个具体实施例:

1.搭建存储环境(四控存储集群)和主机的网络拓扑,如图3所示,存储物理卷的创建等初始化操作,配置存储环境和主机业务网络为光纤链路,配置存储集群控制和访问为千兆网络,配置服务器和客户端访问为千兆网络,映射存储的物理卷到主机,配置主机上多路径,多路径采用multibus策略,修改/etc/multipath.conf配置文件对应策略,搭建vdbench工具的运行环境,编写vdbench测试脚本,配置io模型为读写5:5,运行vdbench测试脚本,在存储管理界面观察iops正常且稳定,主机端vdbench输出io读写正常;

2.获取各个节点在位状态、fc口流量(iops、mbps)、集群状态、各节点网络状态以及vdbenchiops和延时等数据:

步骤a:在工具配置文件(conf.xml)中配置压力主机ip、用户名、密码和存储四个节点服务ip以及集群用户名、密码,通过python语言解析配置文件(存放在数据结构中,工具运行过程中实时在内存),建立与主机和存储端的网络链接;

步骤b:多个维度获取观测多控集群状态,在建立与主机和存储的网络链接之后,对于主机通过定期(conf.xml配置)获取卷iops、mbps、延时数值,存放在指定文件(主机端iops、延时、mbps数据);对于存储通过定期(同上)获取卷和fc的iops、mbps、延时数值,这里需要使用存储软件操作系统对外提供的cli命令接口(各个存储厂商存在差异),分别抓取fc和lun的iops、mbps和延时,将数据存放在指定文件(存储端iops、延时、mbps数据);然后读取文件内容,按照echart规定的json数据输入格式,转换原始数据,组织完成后统一提交给echart,echart实时动态呈现存储业务连续性;

如果发现存储节点iops为0时且根据存储软件系统cli接口获取到不在位,工具会报警,节点亮红灯,在位时则为绿灯。可以通过以下几个维度绘制性能曲线图:

维度1,以1s(可配置)为周期获取四控集群iops,并自动绘制性能曲线图;

维度2,以3s(可配置)为周期获取每个节点iops,并自动绘制性能曲线图;

维度3,以3s(可配置)为周期获取每个fc口iops,并自动绘制性能曲线图;

维度4,以3s(可配置)为周期定时抓取多控存储各个节点在位状态,在位亮绿灯、不在位亮红灯;

维度5,获取vdbench中iops、mbps、延时,绘制性能、延时曲线图,绘制完多维度的性能曲线后需等待曲线稳定;

3.在vdbench运行过程中,拔掉四控存储集群中任意三个控制器,此时存储集群中有效的io链路只有一条,统计在4控坏3控的场景下,控制器io曲线变化、fc口曲线变化、存储iops和延时变化,呈现存储在极端情况下各种状态变化,曲线能直观呈现出存储的状态,如果曲线波动比较大,或者出现曲线全跌零且不恢复,那么就说明在该异常场景下,存储业务连续性得不到保障,可靠性低;

4.观察主机vdbench有3至5秒io为0的场景出现,紧接着io恢复正常,验证了四控存储任意异常其中3个控制器,主机业务不受影响,观察存储iops试图与主机vdbench场景一致;

5.重新插回拔掉的控制器,四控存储集群恢复正常,主机端vdbenchio业务连续,获取各个控制器节点iops、整个集群iops、fc口iops曲线图和步骤2对比,可以清晰呈现故障前后存储的变化。

通过本发明的技术方案,能够验证多控存储的高可用性,验证存储异常时主机io业务的连续性,验证多控存储异常修复后的io业务连续性,能够提升产品在市场的竞争力和商业价值。

需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(read-onlymemory,rom)或随机存取存储器(randomaccessmemory,ram)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

此外,根据本发明实施例公开的方法还可以被实现为由cpu执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。

基于上述目的,本发明的实施例的第二个方面,提出了一种存储设备高可靠性测试的设备,如图2所示,设备200包括:

验证模块,验证模块配置为搭建存储环境和主机的网络拓扑,并验证存储环境中iops是否稳定和主机输出io是否正常;

第一获取模块,第一获取模块配置为响应于存储环境中iops稳定且主机输出io正常,获取存储环境和主机的特定参数;

绘制模块,绘制模块配置为基于获取到的特定参数绘制第一性能曲线图;

第二获取模块,第二获取模块配置为去除存储环境中的部分控制器的连接,并再次获取存储环境和主机的特定参数;

对比模块,对比模块配置为基于再次获取的特定参数绘制第二性能曲线图,并将第二性能曲线图与第一性能曲线图进行对比;

判断模块,判断模块配置为响应于第二性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

在本发明的一个优选实施例中,还包括第一判断模块,第一判断模块配置为:

观察主机输出io情况是否异常;

响应于主机输出io在3至5秒内为0后输出io恢复正常,判断存储设备具有高可靠性。

在本发明的一个优选实施例中,还包括第二判断模块,第二判断模块配置为:

将去除的部分控制器重新连接到存储环境,并重新获得存储环境和主机的特定参数;

基于重新获得的特定参数绘制第三性能曲线图,并将第三性能曲线图与第一性能曲线图进行对比;

响应于第三性能曲线图与第一性能曲线图的波动一致,判断存储设备具有高可靠性。

需要特别指出的是,上述系统的实施例采用了上述方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到上述方法的其他实施例中。

本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

上述实施例,特别是任何“优选”实施例是实现的可能示例,并且仅为了清楚地理解本发明的原理而提出。可以在不脱离本文所描述的技术的精神和原理的情况下对上述实施例进行许多变化和修改。所有修改旨在被包括在本公开的范围内并且由所附权利要求保护。

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