掌桥专利:专业的专利平台
掌桥专利
首页

一种测试存储设备稳定性的方法及组件

文献发布时间:2023-06-19 09:24:30


一种测试存储设备稳定性的方法及组件

技术领域

本申请涉及计算机技术领域,特别涉及一种测试存储设备稳定性的方法及组件。

背景技术

存储设备承担着数据存储、数据处理甚至服务处理等核心作用,因此存储设备的稳定性对于实际生产和运营过程是至关重要的。目前对于存储设备稳定性的测试仅着眼于设备运行过程中的IOPS、带宽和延时等指标,没有关注测试环境以及设备硬件,因此测试不够全面,导致测试结果的可信度较低。

因此,如何全面测试存储设备稳定性,提高测试结果的可信度,是本领域技术人员需要解决的问题。

发明内容

有鉴于此,本申请的目的在于提供一种测试存储设备稳定性的方法及组件,以全面测试存储设备稳定性,提高测试结果的可信度。其具体方案如下:

第一方面,本申请提供了一种测试存储设备稳定性的方法,包括:

建立待测试的存储设备与至少一个服务器的通信连接,以便利用所述服务器向所述存储设备下发IO请求;

在所述服务器向所述存储设备下发IO请求的过程中,统计所述服务器所映射的第一物理卷对应的第一参数,以及所述存储设备中的第二物理卷对应的第二参数;所述第一物理卷和所述第二物理卷为所述存储设备中的同一物理卷在不同端的映射;

若所述第一参数和所述第二参数的差异不大于预设阈值,则采集所述存储设备的硬件指标参数和软件指标参数,并根据所述硬件指标参数和所述软件指标参数确定所述存储设备的稳定性测试结果。

优选地,所述利用所述服务器向所述存储设备下发IO请求,包括:

利用所述服务器向所述存储设备下发OLTP业务或OLAP业务对应的IO请求。

优选地,所述采集所述存储设备的硬件指标参数和软件指标参数,包括:

利用存储软件系统的接口和BMC的IPMI接口采集所述硬件指标参数;

利用vdbench测试脚本采集所述软件指标参数。

优选地,所述根据所述硬件指标参数和所述软件指标参数确定所述存储设备的稳定性测试结果,包括:

计算所述硬件指标参数的硬件方差,计算所述软件指标参数的软件方差;

对比所述硬件方差与硬件方差阈值,对比所述软件方差与软件方差阈值,并根据对比结果确定所述稳定性测试结果。

优选地,所述根据所述硬件指标参数和所述软件指标参数确定所述存储设备的稳定性测试结果之前,还包括:

将所述第二参数添加至所述软件指标参数。

优选地,还包括:

若所述第一参数和所述第二参数的差异大于所述预设阈值,则输出测试环境损坏的通知消息。

优选地,所述硬件指标参数包括:CPU使用率、内存使用率、CPU温度以及风扇转速;所述软件指标参数包括:光纤卡的IOPS、带宽和延时。

第二方面,本申请提供了一种测试存储设备稳定性的装置,包括:

建立模块,用于建立待测试的存储设备与至少一个服务器的通信连接,以便利用所述服务器向所述存储设备下发IO请求;

统计模块,用于在所述服务器向所述存储设备下发IO请求的过程中,统计所述服务器所映射的第一物理卷对应的第一参数,以及所述存储设备中的第二物理卷对应的第二参数;所述第一物理卷和所述第二物理卷为所述存储设备中的同一物理卷在不同端的映射;

测试模块,用于若所述第一参数和所述第二参数的差异不大于预设阈值,则采集所述存储设备的硬件指标参数和软件指标参数,并根据所述硬件指标参数和所述软件指标参数确定所述存储设备的稳定性测试结果。

第三方面,本申请提供了一种测试存储设备稳定性的设备,包括:

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

处理器,用于执行所述计算机程序,以实现前述公开的测试存储设备稳定性的方法。

第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的测试存储设备稳定性的方法。

通过以上方案可知,本申请提供了一种测试存储设备稳定性的方法,包括:建立待测试的存储设备与至少一个服务器的通信连接,以便利用所述服务器向所述存储设备下发IO请求;在所述服务器向所述存储设备下发IO请求的过程中,统计所述服务器所映射的第一物理卷对应的第一参数,以及所述存储设备中的第二物理卷对应的第二参数;所述第一物理卷和所述第二物理卷为所述存储设备中的同一物理卷在不同端的映射;若所述第一参数和所述第二参数的差异不大于预设阈值,则采集所述存储设备的硬件指标参数和软件指标参数,并根据所述硬件指标参数和所述软件指标参数确定所述存储设备的稳定性测试结果。

可见,本申请在服务器向存储设备下发IO请求的过程中,统计服务器所映射的第一物理卷对应的第一参数,以及存储设备中的第二物理卷对应的第二参数;由于第一物理卷和第二物理卷为存储设备中的同一物理卷在不同端的映射,因此理论上第一参数和第二参数是一致的(可以允许有较小的差异),因此若是第一参数和第二参数的差异不大于预设阈值,则表明当前服务器和存储设备的通信连接质量等环境因素没有问题,因此采集存储设备的硬件指标参数和软件指标参数,以便根据硬件指标参数和软件指标参数确定存储设备的稳定性测试结果。可见,本申请在确定测试环境无误后,采集存储设备的硬件指标参数和软件指标参数进行测试,不仅可以测试当前测试环境的稳定性,还可以基于硬件和软件这两个方面测试设备的稳定性,可见测试角度更为全面,可以避免出现因测试环境损坏而导致测试结果有误的情况,故可提高测试结果的可信度。

相应地,本申请提供的一种测试存储设备稳定性的组件(即装置、设备及可读存储介质),也同样具有上述技术效果。

附图说明

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

图1为本申请公开的一种测试存储设备稳定性的方法流程图;

图2为本申请公开的一种测试存储设备稳定性的框架示意图;

图3为本申请公开的一种测试存储设备稳定性的装置示意图;

图4为本申请公开的一种测试存储设备稳定性的设备示意图。

具体实施方式

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

目前,对于存储设备稳定性的测试仅着眼于设备运行过程中的IOPS、带宽和延时等指标,没有关注测试环境以及设备硬件,因此测试不够全面,导致测试结果的可信度较低。为此,本申请提供了一种测试存储设备稳定性的方案,能够全面测试存储设备稳定性,提高测试结果的可信度。

参见图1所示,本申请实施例公开了一种测试存储设备稳定性的方法,包括:

S101、建立待测试的存储设备与至少一个服务器的通信连接,以便利用服务器向存储设备下发IO请求。

需要说明的是,建立通信连接的具体过程包括:连接存储设备与任一个服务器,映射存储设备中的不同物理卷至相应服务器,以使服务器可以看到属于自己的存储卷。同时还需在服务器中搭建测试相关的运行环境。

在一种具体实施方式中,利用服务器向存储设备下发IO请求,包括:利用服务器向存储设备下发OLTP(On-Line Transaction Processing)业务或OLAP(Online AnalyticalProcessing)业务对应的IO请求。其中,OLTP用于联机事务处理过程,OLAP用于联机分析处理过程,具体可参考现有技术的相关介绍,本说明书在此不再详述。IO请求可以为增、删、改、查中的任一种或组合。

S102、在服务器向存储设备下发IO请求的过程中,统计服务器所映射的第一物理卷对应的第一参数,以及存储设备中的第二物理卷对应的第二参数。

其中,第一物理卷和第二物理卷为存储设备中的同一物理卷在不同端(服务器或存储设备)的映射,因此理论上第一参数和第二参数是一致的(可以允许有较小的差异)。第一参数可以包括:IOPS、带宽和延时。第二参数可以包括:IOPS、带宽和延时。对比第一参数和第二参数即:分别对比二者中的IOPS、带宽和延时。

S103、若第一参数和第二参数的差异不大于预设阈值,则采集存储设备的硬件指标参数和软件指标参数,并根据硬件指标参数和软件指标参数确定存储设备的稳定性测试结果。

在一种具体实施方式中,采集存储设备的硬件指标参数和软件指标参数,包括:利用存储软件系统的接口和BMC(Baseboard Management Controller,基板管理控制器)的IPMI接口(一种硬件管理接口规格)采集硬件指标参数;利用vdbench测试脚本采集软件指标参数。其中,存储软件系统安装在存储设备中,IPMI接口设置在BMC中,BMC设置在存储设备中。

在一种具体实施方式中,根据硬件指标参数和软件指标参数确定存储设备的稳定性测试结果,包括:计算硬件指标参数的硬件方差,计算软件指标参数的软件方差;对比硬件方差与硬件方差阈值,对比软件方差与软件方差阈值,并根据对比结果确定稳定性测试结果。方差可以体现参数波动情况,因此若方差大于阈值,则表明参数波动较大,据此可确定设备不稳定。若方差不大于阈值,则表明参数波动较小,据此可确定设备稳定。

由于硬件指标参数和软件指标参数均包括多种参数,因此硬件方差和软件方差需要根据多种参数的方差取一个综合值。若硬件指标参数包括:CPU使用率、内存使用率、CPU温度以及风扇转速,那么CPU使用率、内存使用率、CPU温度以及风扇转速会分别计算得到一个方差,因此可获得4个方差,后续可以求这4个方差的平均值作为综合值,或者按照CPU使用率、内存使用率、CPU温度以及风扇转速分别对应的权重计算得到一个综合值。

其中,硬件指标参数包括:CPU使用率、内存使用率、CPU温度以及风扇转速;软件指标参数包括:光纤卡(安装在存储设备中)的IOPS、带宽和延时。

在一种具体实施方式中,根据硬件指标参数和软件指标参数确定存储设备的稳定性测试结果之前,还包括:将第二参数添加至软件指标参数。因此软件指标参数可以包括:光纤卡的IOPS、带宽和延时;以及存储设备中的第二物理卷的IOPS、带宽和延时。

在一段时间(如1小时)内按照周期(如10分钟)采集这些参数,针对每种参数,都可以计算其对应的平均值和方差,并绘制相应的曲线图。以光纤卡的延时为例,若3秒内采集到了3次延时(周期为1秒),那么可得到3个延时值,因此可计算这3个延时值的平均值和方差。若光纤卡的延时设有相应的光纤卡方差阈值,则可以对比计算得到的方差和光纤卡方差阈值,然后根据对比结果确定光纤卡是否稳定。据此,可每种参数设定对应的方差阈值。

在一种具体实施方式中,还包括:若第一参数和第二参数的差异大于预设阈值,则表明测试环境(如通信链路,网络质量等)有问题,因此输出测试环境损坏的通知消息,以便技术检查测试环境。

可见,本申请实施例在服务器向存储设备下发IO请求的过程中,统计服务器所映射的第一物理卷对应的第一参数,以及存储设备中的第二物理卷对应的第二参数;由于第一物理卷和第二物理卷为存储设备中的同一物理卷在不同端的映射,因此理论上第一参数和第二参数是一致的(可以允许有较小的差异),因此若是第一参数和第二参数的差异不大于预设阈值,则表明当前服务器和存储设备的通信连接质量等环境因素没有问题,因此采集存储设备的硬件指标参数和软件指标参数,以便根据硬件指标参数和软件指标参数确定存储设备的稳定性测试结果。可见,本申请在确定测试环境无误后,采集存储设备的硬件指标参数和软件指标参数进行测试,不仅可以测试当前测试环境的稳定性,还可以基于硬件和软件这两个方面测试设备的稳定性,可见测试角度更为全面,可以避免出现因测试环境损坏而导致测试结果有误的情况,故可提高测试结果的可信度。

参见图2所示,本申请实施例公开了一种测试存储设备稳定性的方案,该方案包括:4个服务器、1个存储设备、1个客户端、2个光纤交换机(一个设置于服务器和存储设备之间,另一个设置于存储设备和客户端,存储设备和控制总线BUS之间)。该方案的具体实现步骤包括:

步骤一:搭建存储设备和主机(即服务器)的网络拓扑(任一个主机与存储设备之间多路径);在存储设备中创建物理卷,执行初始化操作等,以搭建存储环境。

步骤二:配置存储和主机之间的通信链路为光纤链路,配置存储设备与客户端之间的通信链路为千兆网络,配置存储设备控制和访问为千兆网络。

步骤三:映射物理卷到主机,具体可以使用逻辑卷管理策略划分VG(虚拟组)和LV(虚拟卷)。

例如:策略1:在存储设备中创建N个物理卷,平均分成4组G1、G2、G3、G4,分别映射给主机H1、H2、H3、H4,每台主机上均可以发现映射卷。G1-G4四个组每个卷只能出现在其中一个组,同时也只能映射在同一个主机上(H1-H4中任何一个)。策略2:VG中PV(物理卷)的数量=LV数量×2。

步骤四:4台服务器分别发现VG划分的虚拟卷LV,确保每一台主机都可以看到属于自己的卷。

步骤五:搭建4台服务器的测试运行环境,分别安装vdbench脚本。

步骤六:运行vdbench测试脚本,等待预热时间完成后,启动稳定性计算工具,以获取软件指标参数、第一参数等。

其中,首先稳定性计算工具获取主机H1-H4的IP、用户名、密码和端口;存储设备的IP、用户名、密码和端口。然后基于主机端的iostat数据源接口,自定义设置收集数据的周期T和次数S。其中:

获取每一个PV(即第一物理卷)的IOPS,记作Hio1、Hio2……HioN;

获取每一个PV的MBPS,记作Hmb1、Hmb2……HmbN;

获取每一个PV的延时,记作Ht1、Ht2……HtN;

那么可以计算:

任一个PV的IOPS的平均值:Hio_avg=(Hio1+Hio2+……+HioN)/N;

任一个PV的MBPS的平均值:Hmb_avg=(Hmb1+Hmb2+……+HmbN)/N;

任一个PV的延时的平均值:Ht_avg=(Ht1+Ht2+……+HtN)/N;

而后,可计算任一个PV的IOPS的方差Shio,任一个PV的MBPS的方差SHmb,任一个PV的MBPS的方差SHt。

收集存储设备每一个LUN(即第二物理卷)和FC(光纤卡)端口的IOPS、MBPS和延时,则有:

获取每一个LUN的IOPS:记作Slio1、Slio2……SlioN;

获取每一个LUN的MBPS,记作Slmb1、Slmb2……SlmbN;

获取每一个LUN的延时,记作Slt1、Slt2……SltN;

那么可以计算:任一个LUN的IOPS的平均值和方差SSlio,任一个LUN的MBPS的平均值和方差SSlmb,任一个LUN的延时的平均值和方差SSlt。

获取每一个FC的IOPS:记作Sfio1、Sfio2……SfioN;

获取每一个FC的MBPS,记作Sfmb1、Sfmb2……SfmbN;

获取每一个FC的延时,记作Sft1、Sft2……SftN;

那么可以计算:任一个FC的IOPS的平均值和方差SSfio,任一个FC的MBPS的平均值和方差SSfmb,任一个FC的延时的平均值和方差SSft。

步骤七:利用存储软件系统的接口和BMC的IPMI接口采集硬件指标参数。

其中,稳定性计算工具利用存储软件系统提供的API接口周期性获取CPU和内存使用率,利用BMC的IPMI接口周期性获取CPU温度和风扇转速。基于python语言可远程调用API接口。

而后可计算CPU使用率、内存使用率、CPU温度和风扇转速的均值以及方差,方法同上。

步骤八:检测测试环境是否稳定,检测存储设备是否稳定。

上述任一个指标均可相应绘制波动图并展示。若在长期高压力测试中,以上任何一个指标出现方差变化较大,即说明存储设备存在不稳定因素,需要分析定位。可以同时设置方差和均值的阈值,如果超过阈值说明存储设备处于不稳定状态,提醒维护人员和设备管理人员特别关注和检查。

正常情况下,PV和LUN的各项指标应该一致,如果出现较大差异,就说明此次测试环境存在问题,需要排查环境等因素。

可见,本实施例可以验证多控存储设备的稳定性,测试过程中实时监测设备状态,并及时提示。在确定测试环境无误后,采集存储设备的硬件指标参数和软件指标参数进行测试,不仅可以测试当前测试环境的稳定性,还可以基于硬件和软件这两个方面测试设备的稳定性,可见测试角度更为全面,可以避免出现因测试环境损坏而导致测试结果有误的情况,故可提高测试结果的可信度。

下面对本申请实施例提供的一种测试存储设备稳定性的装置进行介绍,下文描述的一种测试存储设备稳定性的装置与上文描述的一种测试存储设备稳定性的方法可以相互参照。

参见图3所示,本申请实施例公开了一种测试存储设备稳定性的装置,包括:

建立模块301,用于建立待测试的存储设备与至少一个服务器的通信连接,以便利用服务器向存储设备下发IO请求;

统计模块302,用于在服务器向存储设备下发IO请求的过程中,统计服务器所映射的第一物理卷对应的第一参数,以及存储设备中的第二物理卷对应的第二参数;第一物理卷和第二物理卷为存储设备中的同一物理卷在不同端的映射;

测试模块303,用于若第一参数和第二参数的差异不大于预设阈值,则采集存储设备的硬件指标参数和软件指标参数,并根据硬件指标参数和软件指标参数确定存储设备的稳定性测试结果。

在一种具体实施方式中,建立模块具体用于:

利用服务器向存储设备下发OLTP业务或OLAP业务对应的IO请求。

在一种具体实施方式中,测试模块包括::

硬件指标参数采集单元,用于利用存储软件系统的接口和BMC的IPMI接口采集硬件指标参数;

软件指标参数采集单元,用于利用vdbench测试脚本采集软件指标参数。

在一种具体实施方式中,测试模块包括:

计算单元,用于计算硬件指标参数的硬件方差,计算软件指标参数的软件方差;

对比单元,用于对比硬件方差与硬件方差阈值,对比软件方差与软件方差阈值,并根据对比结果确定稳定性测试结果。

在一种具体实施方式中,还包括:

添加模块,用于将第二参数添加至软件指标参数。

在一种具体实施方式中,还包括:

提示模块,用于若第一参数和第二参数的差异大于预设阈值,则输出测试环境损坏的通知消息。

在一种具体实施方式中,硬件指标参数包括:CPU使用率、内存使用率、CPU温度以及风扇转速;软件指标参数包括:光纤卡的IOPS、带宽和延时。

其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。

可见,本实施例提供了一种测试存储设备稳定性的装置,该装置在确定测试环境无误后,采集存储设备的硬件指标参数和软件指标参数进行测试,不仅可以测试当前测试环境的稳定性,还可以基于硬件和软件这两个方面测试设备的稳定性,可见测试角度更为全面,可以避免出现因测试环境损坏而导致测试结果有误的情况,故可提高测试结果的可信度。

下面对本申请实施例提供的一种测试存储设备稳定性的设备进行介绍,下文描述的一种测试存储设备稳定性的设备与上文描述的一种测试存储设备稳定性的方法及装置可以相互参照。

参见图4所示,本申请实施例公开了一种测试存储设备稳定性的设备,包括:

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

处理器402,用于执行所述计算机程序,以实现上述任意实施例公开的方法。

下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种测试存储设备稳定性的方法、装置及设备可以相互参照。

一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的测试存储设备稳定性的方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。

本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。

需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。

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

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

技术分类

06120112151286