本发明涉及计算机,尤其涉及一种传感器故障注入方法、装置、服务器和存储介质。
背景技术:
1、在存储服务器中存在很多传感器,这些传感器用于监视和检查许多不同的事物,然而,传感器一旦出现故障,会导致系统或控制模块出现紊乱,因此,传感器故障模拟测试显得越来越重要。在相关技术中,采用硬件注入的方式模拟传感器故障,采用这种方式需要对传感器产生一定的破坏或者将链路短路来构造传感器故障场景,不仅测试效率较低,同时会对传感器造成一定损害,产生不必要的浪费。
技术实现思路
1、本发明提供一种传感器故障注入方法、装置、服务器和存储介质,用以解决相关技术中在对传感器故障进行模拟测试时,存在测试效率较低且对传感器存在一定损害的缺陷。
2、第一方面,本发明提供一种传感器故障注入方法,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述方法包括:
3、通过bmc提供的对外接口,接收用户下发的故障注入指令;
4、判断所述bmc的当前工作模式;
5、在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;
6、在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
7、在一些实施例中,所述方法还包括:
8、在所述目标fru模块检测到所述bmc的当前工作模式为测试模式,且所述目标fru模块的故障标记位为置位状态的情况下,通过所述目标fru模块采集对应的传感器的读数,并将所述传感器的读数设置为无效值,将所述传感器的读数上报至所述传感器监测模块。
9、在一些实施例中,所述方法还包括:
10、通过所述传感器监测模块,对所述传感器监测模块接收的各fru模块上报的传感器读数进行告警判断,确定是否产生故障告警;
11、在确定产生故障告警的情况下,判断产生故障告警的次数是否达到容错阈值,若达到,则上报传感器器件故障告警。
12、在一些实施例中,所述方法还包括:
13、在所述故障注入指令对应的目标fru模块为非共享器件的情况下,调用所述目标fru模块的故障注入接口,将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
14、在一些实施例中,所述方法还包括:
15、在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为从的情况下,返回不支持注入故障消息。
16、在一些实施例中,所述方法还包括:
17、在所述bmc的当前工作模式为非测试模式的情况下,返回不支持注入故障消息。
18、在一些实施例中,所述方法还包括:
19、通过所述bmc提供的对外接口,接收用户下发的故障清除指令;
20、响应于所述故障清除指令,所述bmc退出测试模式,切换回正常工作模式,并将所述目标fru模块的故障标记位清零,以使所述目标fru模块通过硬件访问的方式获取传感器读数。
21、第二方面,本发明提供一种传感器故障注入装置,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述装置包括:
22、接收单元,用于通过bmc提供的对外接口,接收用户下发的故障注入指令;
23、第一判断单元,用于判断所述bmc的当前工作模式;
24、第二判断单元,用于在所述bmc的当前工作模式为测试模式的情况下,判断所述故障注入指令对应的目标fru模块是否为共享器件;
25、设置单元,用于在所述故障注入指令对应的目标fru模块为共享器件的情况下,确定所述目标fru模块中控制器的主从状态,在所述目标fru模块中控制器的主从状态为主的情况下,调用所述目标fru模块的故障注入接口,以将所述故障注入指令传递至所述目标fru模块,并将所述目标fru模块的故障标记位设置为置位状态。
26、第三方面,本发明提供一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的传感器故障注入方法。
27、第四方面,本发明提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的传感器故障注入方法。
28、第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的传感器故障注入方法。
29、本发明提供的传感器故障注入方法、装置、服务器和存储介质,通过bmc提供的对外接口,接收用户下发的故障注入指令;判断bmc的当前工作模式;在bmc的当前工作模式为测试模式的情况下,判断故障注入指令对应的目标fru模块是否为共享器件;在故障注入指令对应的目标fru模块为共享器件的情况下,确定目标fru模块中控制器的主从状态,在目标fru模块中控制器的主从状态为主的情况下,调用目标fru模块的故障注入接口,以将故障注入指令传递至目标fru模块,并将目标fru模块的故障标记位设置为置位状态。本发明通过采用软件方式将故障注入传感器,可提高模拟传感器故障测试效率,同时可减小对传感器的损害。
1.一种传感器故障注入方法,其特征在于,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述方法包括:
2.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的传感器故障注入方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的传感器故障注入方法,其特征在于,所述方法还包括:
8.一种传感器故障注入装置,其特征在于,应用于服务器,所述服务器包括:基板管理控制器bmc和多个现场可更换单元fru模块,所述bmc包括传感器监测模块,所述传感器监测模块用于对多个fru模块上报的传感器读数进行告警判断,所述装置包括:
9.一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的传感器故障注入方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的传感器故障注入方法。