本发明涉及计算机,特别是涉及一种故障注入测试方法、一种故障注入测试装置、一种电子设备和一种计算机可读存储介质。
背景技术:
1、随着网络的迅速发展,传统的组网方式已经无法满足当前更快、更高效和可扩展性的网络需求,而roce(rdma over converged ethernet,infiniband trade association(ibta)标准定义的网络协议,允许通过以太网络使用rdma(remote direct memory access远程直接数据存取,为了解决网络传输中服务器端数据处理的延迟而产生的技术))可以很好的满足网络需求,然而在实际应用中,roce链路上的主机、交换机和存储集群都不可避免的存在一些不稳定的因素,如硬件磨损、线缆松动、网卡接触不良等,造成roce链路的不稳定,甚至链路中断。因此需要一种方法针对性的对roce链路进行有效的可靠性的测试,保证roce链路的可靠性和稳定性。
技术实现思路
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、若所述第一测试结果为异常,或,所述第二测试结果为异常,或,所述第三结果为异常时,获取所述存储系统的运行日志;
37、根据所述运行日志,确定异常原因,并将所述异常原因进行输出。
38、第二方面,本实施例公开了一种故障注入测试装置,所述装置应用于存储集群,所述存储集群与交换机连接,所述交换机与主机连接,以构成目标链路,所述目标链路为标准定义的网络协议链路,所述装置包括:
39、判断模块,用于判断所述存储集群中的存储系统是否存在防闪断机制;
40、第一测试模块,用于若所述存储系统不存在所述防闪断机制,则测试所述存储系统处理断开和连接网络事件的处理能力,得到第一测试结果;
41、第二测试模块,用于若所述存储系统存在所述防闪断机制,则测试所述存储系统处理读写超时的处理能力,得到第二测试结果,以及测试所述存储系统对所述目标链路的断开事件堆积的处理能力,得到第三测试结果;
42、输出模块,用于将所述第一测试结果进行输出,或,将所述第二测试结果和所述第三结果进行输出。
43、可选地,所述判断模块包括:
44、获取子模块,用于获取存储集群中存储系统的系统文件;
45、判断子模块,用于根据所述系统文件判断所述存储系统是否存在防闪断机制。
46、可选地,所述判断子模块包括:
47、第一确定单元,用于当所述系统文件中不存在所述指示文件时,所述存储系统不存在所述防闪断机制;
48、第二确定单元,用于当所述系统文件中存在指示文件时,所述存储系统存在所述防闪断机制。
49、可选地,所述第一测试模块包括:
50、第一测试子模块,用于对所述目标链路按照第一预设间隔时间进行预设次数的闪断测试;
51、第一监控子模块,用于监控所述闪断测试时测试的测试状态、测试次数和所述存储系统的状态;
52、第一得到子模块,用于若所述测试状态为停止测试、所述测试次数等于所述预设次数,且所述存储系统的状态未发生异常,则得到所述存储系统处理断开和连接网络事件的处理能力的第一测试结果为正常;
53、第二得到子模块,用于若所述测试状态为停止测试、所述测试次数等于所述预设次数,且所述存储系统的状态发生异常,则得到所述存储系统处理断开和连接网络事件的处理能力的第一测试结果为异常;
54、第三得到子模块,用于若所述测试状态为停止测试、所述测试次数小于所述预设次数,则得到所述存储系统处理断开和连接网络事件的处理能力的第一测试结果为异常。
55、可选地,第二测试模块包括:
56、创建子模块,用于在所述存储集群中创建预设数据的存储卷或文件系统,并将所述存储卷或文件系统映射到所述主机;
57、读写子模块,用于所述主机按照预设负载并通过所述交换机和所述存储卷或文件系统,对所述存系统进行读写操作;
58、第一获取子模块,用于获取所述防闪断机制的防闪断时间;
59、第二测试子模块,用于在进行所述读写操作时,对所述目标链路按照第二预设间隔时间和预设次数进行防闪断测试;所述第二预设间隔时间小于或等于所述防闪断时间;
60、第二监控子模块,用于监控所述闪断测试时测试的测试状态、测试次数和所述存储系统的状态;
61、第四得到子模块,用于若所述测试状态为停止测试、所述测试次数等于所述预设次数,且所述存储系统的状态未发生异常,则得到所述存储系统处理读写超时的处理能力的第二测试结果为正常;
62、第五得到子模块,用于若所述测试状态为停止测试、所述测试次数等于所述预设次数,且所述存储系统的状态发生异常,则得到所述存储系统处理读写超时的处理能力的第二测试结果为异常;
63、第六得到子模块,用于若所述测试状态为停止测试、所述测试次数小于所述预设次数,则得到所述存储系统处理读写超时的处理能力的第二测试结果为异常。
64、可选地,所述第二测试模块包括:
65、第二获取子模块,用于获取所述防闪断机制的防闪断时间;
66、第三测试子模块,用于对所述目标链路按照第三预设间隔时间进行预设次数的闪断测试;所述第三预设间隔时间大于所述防闪断时间;
67、第三监控子模块,用于监控所述闪断测试时测试的测试状态、测试次数和所述存储系统的状态;
68、第七得到子模块,用于若所述测试状态为停止测试、所述测试次数等于所述预设次数,且所述存储系统的状态未发生异常,则得到所述存储系统对所述目标链路的断开事件堆积的处理能力的第三测试结果为正常;
69、第八得到子模块,用于若所述测试状态为停止测试、所述测试次数等于所述预设次数,且所述存储系统的状态发生异常,则得到所述存储系统对所述目标链路的断开事件堆积的处理能力的第三测试结果为异常;
70、第九得到子模块,用于若所述测试状态为停止测试、所述测试次数小于所述预设次数,则得到所述存储系统对所述目标链路的断开事件堆积的处理能力的第三测试结果为异常。
71、可选地,所述输出模块包括:
72、第三获取子模块,用于若所述第一测试结果为异常,或,所述第二测试结果为异常,或,所述第三结果为异常时,获取所述存储系统的运行日志;
73、输出子模块,用于根据所述运行日志,确定异常原因,并将所述异常原因进行输出。
74、第三方面,本发明示出了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的故障注入测试方法的步骤。
75、第四方面,本发明示出了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述的故障注入测试方法的步骤。
76、本发明实施例包括以下优点:
77、本发明实施例通过判断存储集群中的存储系统是否存在防闪断机制,若不存在,则测试存储处理断开和连接网络事件的处理能力,并得到第一测试结果,若存在,则测试存储系统处理读写超时的处理能力,并得到第二测试结果,以及测试存储系统对目标链路的断开事件堆积的处理能力,并得到第三测试结果,最后将测试结果进行输出,从而对目标链路进行有效的可靠的测试,保证目标链路的可靠性和稳定性。