一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储系统仲裁可靠性的测试方法、测试装置及测试设备与流程

2021-03-09 11:11:00 来源:中国专利 TAG:测试 存储系统 仲裁 可靠性 装置


1.本发明涉及存储系统测试技术领域,特别是涉及一种存储系统仲裁可靠性的测试方法、测试装置、测试设备及计算机可读存储介质。


背景技术:

2.随着各行各业快速发展对存储需求越来越大,越来越多的客户采用多节点存储作为核心应用。所以对存储的稳定性、可靠性也提出了更高的要求。而存储能否保持正常平稳的运行,已成为客户业务能否稳定运行的前提。为了防止在异常情况下存储系统多个节点间争夺对服务、程序、资源的控制权而导致数据损害,而引入了第三方仲裁机制。常用的仲裁机制是选择存储系统中多个节点可以共同访问的磁盘作为仲裁盘,当出现多个节点争夺系统控制权的情况时,由仲裁盘基于仲裁算法执行仲裁工作,选取出可以得到控制权的节点。而当仲裁盘失效时,如仲裁盘故障或被拔除,在存储系统缺少第三方仲裁的情况下,在集群间节点通信异常时,会导致集群宕机,严重情况下会发生用户数据损害。为此,存储系统中通常设置多个仲裁盘来保证仲裁工作的正常执行。如何检验存储系统的仲裁功能的可靠性是进行存储系统可靠性测试的关键点。
3.现有方案中,测试人员在进行存储系统仲裁可靠性测试时,选取一个或多个仲裁盘进行拔除,而后手工执行测试工具检验存储系统是否能在剩余仲裁盘的工作下保持正常运行。此种方式不仅耗时耗力,且难以覆盖存储系统仲裁盘故障的所有故障场景。


技术实现要素:

4.本发明的目的是提供一种存储系统仲裁可靠性的测试方法、测试装置、测试设备及计算机可读存储介质,用于提高存储系统仲裁可靠性测试的效率,有助于覆盖更多的存储系统仲裁盘故障场景,进而提高存储系统仲裁可靠性测试结果的准确性。
5.为解决上述技术问题,本发明提供一种存储系统仲裁可靠性的测试方法,包括:
6.调取待测系统的仲裁盘列表,根据所述仲裁盘列表确定所述待测系统中各仲裁盘的位置;
7.随机选择部分所述仲裁盘执行模拟拔除操作;
8.调用预先封装的检测工具判断所述待测系统的状态;
9.若所述待测系统处于正常状态,则判断是否满足测试结束条件;如果满足所述测试结束条件,则确定所述待测系统通过仲裁可靠性测试;如果未满足所述测试结束条件,则将被模拟拔除的所述仲裁盘恢复连接状态后,返回所述随机选择部分所述仲裁盘执行模拟拔除操作的步骤;
10.若所述待测系统处于异常状态,则确定所述待测系统未通过所述仲裁可靠性测试。
11.可选的,所述测试结束条件具体为覆盖所有根据所述仲裁盘列表生成的测试用例;
12.其中,所述测试用例为对部分所述仲裁盘执行模拟拔除操作,且各所述测试用例中对应的被模拟拔除的所述仲裁盘的组合不同。
13.可选的,在所述随机选择部分所述仲裁盘执行模拟拔除操作之前,还包括:
14.检查各所述仲裁盘的位置,若所述仲裁盘满足设定标准,则进入所述随机选择部分所述仲裁盘执行模拟拔除操作的步骤;
15.若所述仲裁盘不满足所述设定标准,则在确定使各所述仲裁盘平均分布于各所述磁盘阵列的分布方案后,根据所述分布方案进行仲裁盘调整;
16.其中,所述设定标准为各所述仲裁盘平均分布于所述待测系统的各磁盘阵列中,且分布有所述仲裁盘的磁盘阵列中存在处于工作状态的仲裁盘。
17.可选的,在所述调用预先封装的检测工具判断所述待测系统的状态之前,还包括:
18.对所述待测系统中的部分非仲裁盘执行模拟拔除操作。
19.可选的,所述对所述待测系统中的部分非仲裁盘执行模拟拔除操作,具体为:
20.对被模拟拔除的所述仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作。
21.可选的,所述对被模拟拔除的所述仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作,具体为:
22.在对部分所述仲裁盘执行模拟拔除操作的同时,对被模拟拔除的所述仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作。
23.可选的,所述对被模拟拔除的所述仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作,具体为:
24.在对部分所述仲裁盘执行模拟拔除操作后间隔预设时间时,对被模拟拔除的所述仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作。
25.为解决上述技术问题,本发明还提供一种存储系统仲裁可靠性的测试装置,包括:
26.查询单元,用于调取待测系统的仲裁盘列表,根据所述仲裁盘列表确定所述待测系统中各仲裁盘的位置;
27.第一模拟拔除单元,用于随机选择部分所述仲裁盘执行模拟拔除操作;
28.检测单元,用于调用预先封装的检测工具判断所述待测系统的状态,若所述待测系统处于正常状态,则判断是否满足测试结束条件;如果满足所述测试结束条件,则确定所述待测系统通过仲裁可靠性测试;如果未满足所述测试结束条件,则将被模拟拔除的所述仲裁盘恢复连接状态后,返回所述第一模拟拔除单元执行所述随机选择部分所述仲裁盘执行模拟拔除操作的步骤;若所述待测系统处于异常状态,则确定所述待测系统未通过所述仲裁可靠性测试。
29.为解决上述技术问题,本发明还提供一种存储系统仲裁可靠性的测试设备,包括:
30.存储器,用于存储指令,所述指令包括上述任意一项所述存储系统仲裁可靠性的测试方法的步骤;
31.处理器,用于执行所述指令。
32.为解决上述技术问题,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述存储系统仲裁可靠性的测试方法的步骤。
33.本发明所提供的存储系统仲裁可靠性的测试方法,首先通过待测系统的仲裁盘列
表确定待测系统中各仲裁盘的位置,随机选择部分仲裁盘执行模拟拔除操作,继而调用预先封装的检测工具判断待测系统的状态;若待测系统处于正常状态,则判断是否满足测试结束条件;如果满足测试结束条件,则确定待测系统通过仲裁可靠性测试;如果未满足测试结束条件,则将被模拟拔除的仲裁盘恢复连接状态后,返回随机选择部分仲裁盘执行模拟拔除操作的步骤;若待测系统处于异常状态,则确定待测系统未通过仲裁可靠性测试。本发明提供的存储系统仲裁可靠性的测试方法全程无需人工参与,且基于待测系统中所有的仲裁盘反复进行将部分仲裁盘进行模拟拔除操作,直至满足测试结束条件,可以快速模拟出不同仲裁盘组合故障的场景,不仅节约了人力、提高了测试效率,还提高了存储系统仲裁可靠性测试结果的准确性。
34.本发明还提供一种存储系统仲裁可靠性的测试装置、测试设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
35.为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本发明实施例提供的一种存储系统仲裁可靠性的测试方法的流程图;
37.图2为本发明实施例提供的一种存储系统仲裁可靠性的测试装置的结构示意图;
38.图3为本发明实施例提供的一种存储系统仲裁可靠性的测试设备的结构示意图。
具体实施方式
39.本发明的核心是提供一种存储系统仲裁可靠性的测试方法、测试装置、测试设备及计算机可读存储介质,用于提高存储系统仲裁可靠性测试的效率,有助于覆盖更多的存储系统仲裁盘故障场景,进而提高存储系统仲裁可靠性测试结果的准确性。
40.图1为本发明实施例提供的一种存储系统仲裁可靠性的测试方法的流程图。
41.如图1所示,本发明实施例提供的存储系统仲裁可靠性的测试方法包括:
42.s101:调取待测系统的仲裁盘列表,根据仲裁盘列表确定待测系统中各仲裁盘的位置。
43.s102:随机选择部分仲裁盘执行模拟拔除操作。
44.s103:调用预先封装的检测工具判断待测系统的状态,若待测系统处于正常状态,则进入步骤s104;若待测系统处于正常状态,则进入步骤s107。
45.s104:判断是否满足测试结束条件;如果是,则进入步骤s105;如果否,则进入步骤s106。
46.s105:确定待测系统通过仲裁可靠性测试。
47.s106:将被模拟拔除的仲裁盘恢复连接状态后,返回步骤s102。
48.s107:确定待测系统未通过仲裁可靠性测试。
49.在实际应用中,待测系统中包括多个仲裁盘,各仲裁盘可能分布于同一个磁盘阵列中,也可能分布于不同的磁盘阵列中。其中一个仲裁盘作为主仲裁盘,其余仲裁盘作为备
用仲裁盘。对于仲裁功能正常的存储系统,只要其中一个仲裁盘处于工作状态,则应能提供正常的仲裁功能。对此在进行测试时,随机选择部分仲裁盘执行模拟拔除操作,模拟这部分仲裁盘故障的场景,继而调用预先封装的检测工具检测待测系统是否处于正常状态,具体来说,循环检测各磁盘阵列是否处于正常状态。检测工具的封装可以参考现有技术,在此不再赘述。
50.为保证对存储系统仲裁盘故障场景的覆盖率,测试结束条件具体可以为覆盖所有根据仲裁盘列表生成的测试用例。其中,测试用例为对部分仲裁盘执行模拟拔除操作,且各测试用例中对应的被模拟拔除的仲裁盘的组合不同。即是说,当遍历了除全体仲裁盘外的所有仲裁盘组合后,才算满足测试结束条件。此时能全面覆盖所有仲裁盘本身故障的场景。在此基础上,确定待测系统通过了仲裁可靠性测试。若在其中任何一个阶段待测系统出现异常状态,则确定待测系统未通过仲裁可靠性测试,此时还可以输出对应的被模拟拔除的仲裁盘的组合,以便测试人员定位待测系统的仲裁功能的漏洞。
51.为保证待测系统的正常工作,在步骤s106中被模拟拔除的仲裁盘恢复连接状态后,间隔一定时间再执行步骤s102。
52.本发明实施例提供的存储系统仲裁可靠性的测试方法,首先通过待测系统的仲裁盘列表确定待测系统中各仲裁盘的位置,随机选择部分仲裁盘执行模拟拔除操作,继而调用预先封装的检测工具判断待测系统的状态;若待测系统处于正常状态,则判断是否满足测试结束条件;如果满足测试结束条件,则确定待测系统通过仲裁可靠性测试;如果未满足测试结束条件,则将被模拟拔除的仲裁盘恢复连接状态后,返回随机选择部分仲裁盘执行模拟拔除操作的步骤;若待测系统处于异常状态,则确定待测系统未通过仲裁可靠性测试。本发明数量提供的存储系统仲裁可靠性的测试方法全程无需人工参与,且基于待测系统中所有的仲裁盘反复进行将部分仲裁盘进行模拟拔除操作,直至满足测试结束条件,可以快速模拟出不同仲裁盘组合故障的场景,不仅节约了人力、提高了测试效率,还提高了存储系统仲裁可靠性测试结果的准确性。
53.为进一步提高对仲裁盘故障场景的覆盖率,在上述实施例的基础上,在步骤s102:随机选择部分仲裁盘执行模拟拔除操作之前,本发明实施例提供的存储系统仲裁可靠性的测试方法还包括:
54.检查各仲裁盘的位置,若仲裁盘满足设定标准,则进入随机选择部分仲裁盘执行模拟拔除操作后,调用预先封装的检测工具判断待测系统的状态的步骤;
55.若仲裁盘不满足设定标准,则在确定使各仲裁盘平均分布于各磁盘阵列的分布方案后,根据分布方案进行仲裁盘调整;
56.其中,设定标准为各仲裁盘平均分布于待测系统的各磁盘阵列中,且分布有仲裁盘的磁盘阵列中存在处于工作状态的仲裁盘。
57.需要说明的是,各仲裁盘平均分布于待测系统的各磁盘阵列中,并不一定是各磁盘阵列中都存在相同数目的仲裁盘,而是当待测系统中仲裁盘的数目小于磁盘阵列的数目时,保证每个磁盘阵列中仲裁盘的数量不超过一个;当仲裁盘的数目是磁盘阵列的数目的m(m为正整数)倍时,需保证每个磁盘阵列都有m个仲裁盘;当仲裁盘的数目处于磁盘阵列的数目的m倍与m 1倍之间时,在保证每个磁盘阵列都有m个仲裁盘的基础上,其中一个磁盘阵列中可以有多于m个仲裁盘。
58.当待测系统中仲裁盘的分布不满足上述原则时,生成一个满足设定标准的分布方案,如设置每个磁盘阵列中第二个磁盘为仲裁盘,而后对应分布方案进行仲裁盘的激活与失活操作,使待测系统达到仲裁盘平均分布于各磁盘阵列的效果。
59.为进一步提高对仲裁盘故障场景的覆盖率,在上述实施例的基础上,在步骤s103:调用预先封装的检测工具判断待测系统的状态之前,本发明实施例提供的存储系统仲裁可靠性的测试方法还包括:
60.对待测系统中的部分非仲裁盘执行模拟拔除操作。
61.在具体实施中,为了简化测试,可以随机选取部分非仲裁盘(也称成员盘)进行模拟拔除操作,例如可以生成一个或多个随机数,分别将各随机数与待测系统的磁盘总数进行取余运算,得到多个槽位号,将其中对应的非仲裁盘进行模拟拔除操作。为了保证测试覆盖率,可以在上述实施例中针对模拟拔除部分仲裁盘的测试用例的基础上,进一步设计覆盖所有的模拟拔除部分非仲裁盘组合的测试用例。
62.在存储系统中,当仲裁盘故障时,在其他未故障的仲裁盘的控制下,可以选择故障仲裁盘所在磁盘阵列的另一非仲裁盘接替故障仲裁盘的工作。因此,对待测系统中的部分非仲裁盘执行模拟拔除操作具体可以为:
63.对被模拟拔除的仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作。
64.在具体实施中,对被模拟拔除的仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作,具体可以为选择被模拟拔除的仲裁盘所在磁盘阵列中的一个或多个非仲裁盘执行模拟拔除操作。
65.对被模拟拔除的仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作,具体可以为:在对部分仲裁盘执行模拟拔除操作的同时,对被模拟拔除的仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作。通过同时拔除同一磁盘阵列中的仲裁盘和非仲裁盘,模拟仲裁盘和非仲裁盘同时故障的场景。
66.对被模拟拔除的仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作,还可以为:在对部分仲裁盘执行模拟拔除操作后间隔预设时间时,对被模拟拔除的仲裁盘所在磁盘阵列的非仲裁盘执行模拟拔除操作。在拔除仲裁盘后,如待测系统的仲裁功能正常,则被拔除的仲裁盘的仲裁工作转移到同一磁盘阵列的一非仲裁盘上。因此先拔除仲裁盘,再拔除非仲裁盘,可能再次拔除的也是仲裁盘。或者,在拔除仲裁盘后,检验同一磁盘阵列中是否选举出新的仲裁盘,间隔预设时间后再拔除新产生的仲裁盘。进一步的还可以继续间隔预设时间后再拔除其他非仲裁盘。通过这种方式可以检验待测系统仲裁功能的故障切换功能。
67.其中,预设时间可以为接收到的测试人员设定的预设时间。
68.在实际应用中,可以在上述各实施例的基础上将列举的测试用例进行叠加、组合,形成新的实施例,均属于本发明的保护范围。
69.上文详述了存储系统仲裁可靠性的测试方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的存储系统仲裁可靠性的测试装置、测试设备及计算机可读存储介质。
70.图2为本发明实施例提供的一种存储系统仲裁可靠性的测试装置的结构示意图。
71.如图2所示,本发明实施例提供的存储系统仲裁可靠性的测试装置包括:
72.查询单元201,用于调取待测系统的仲裁盘列表,根据仲裁盘列表确定待测系统中
各仲裁盘的位置;
73.第一模拟拔除单元202,用于随机选择部分仲裁盘执行模拟拔除操作后,调用预先封装的检测工具判断待测系统的状态;
74.检测单元203,用于调用预先封装的检测工具判断待测系统的状态,若待测系统处于正常状态,则判断是否满足测试结束条件;如果满足测试结束条件,则确定待测系统通过仲裁可靠性测试;如果未满足测试结束条件,则将被模拟拔除的仲裁盘恢复连接状态后,返回第一模拟拔除单元执行随机选择部分仲裁盘执行模拟拔除操作的步骤;若待测系统处于异常状态,则确定待测系统未通过仲裁可靠性测试。
75.进一步的,本发明实施例提供的存储系统仲裁可靠性的测试装置还可以包括:
76.调节单元,用于检查各仲裁盘的位置,若仲裁盘满足设定标准,则进入
77.第一模拟拔除单元202执行随机选择部分仲裁盘执行模拟拔除操作的步骤;若仲裁盘不满足设定标准,则在确定使各仲裁盘平均分布于各磁盘阵列的分布方案后,根据分布方案进行仲裁盘调整;
78.其中,设定标准为各仲裁盘平均分布于待测系统的各磁盘阵列中,且分布有仲裁盘的磁盘阵列中存在处于工作状态的仲裁盘。
79.进一步的,本发明实施例提供的存储系统仲裁可靠性的测试装置还可以包括:
80.第二模拟拔除单元,用于在检测单元203调用预先封装的检测工具判断待测系统的状态之前,对待测系统中的部分非仲裁盘执行模拟拔除操作。
81.由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
82.图3为本发明实施例提供的一种存储系统仲裁可靠性的测试设备的结构示意图。
83.如图3所示,本发明实施例提供的存储系统仲裁可靠性的测试设备包括:
84.存储器310,用于存储指令,所述指令包括上述任意一项实施例所述的存储系统仲裁可靠性的测试方法的步骤;
85.处理器320,用于执行所述指令。
86.其中,处理器320可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器320可以采用数字信号处理dsp(digital signal processing)、现场可编程门阵列fpga(field-programmable gate array)、可编程逻辑阵列pla(programmable logic array)中的至少一种硬件形式来实现。处理器320也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器cpu(central processing unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器320可以集成有图像处理器gpu(graphics processing unit),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器320还可以包括人工智能ai(artificial intelligence)处理器,该ai处理器用于处理有关机器学习的计算操作。
87.存储器310可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器310还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器310至少用于存储以下计算机程序311,其中,该计算机程序311被处理器320加载并执行之后,能够实现前述任一实施例公
开的存储系统仲裁可靠性的测试方法中的相关步骤。另外,存储器310所存储的资源还可以包括操作系统312和数据313等,存储方式可以是短暂存储或者永久存储。其中,操作系统312可以为windows。数据313可以包括但不限于上述方法所涉及到的数据。
88.在一些实施例中,存储系统仲裁可靠性的测试设备还可包括有显示屏330、电源340、通信接口350、输入输出接口360、传感器370以及通信总线380。
89.本领域技术人员可以理解,图3中示出的结构并不构成对存储系统仲裁可靠性的测试设备的限定,可以包括比图示更多或更少的组件。
90.本申请实施例提供的存储系统仲裁可靠性的测试设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的存储系统仲裁可靠性的测试方法,效果同上。
91.需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
92.另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
93.集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。
94.为此,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如存储系统仲裁可靠性的测试方法的步骤。
95.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器rom(read-only memory)、随机存取存储器ram(random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
96.本实施例中提供的计算机可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的存储系统仲裁可靠性的测试方法的步骤,效果同上。
97.以上对本发明所提供的一种存储系统仲裁可靠性的测试方法、测试装置、测试设备及计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技
术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
98.还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜