本申请涉及计算机,尤其涉及一种故障测试方法、装置及计算设备。
背景技术:
1、服务器上通常包括处理器、内存、硬盘、风扇等多个硬件部件,这些硬件在运行过程中可能发生各种各样的故障,而一旦出现硬件故障就会影响服务器的使用,导致服务器上的业务受损。为此,服务器需要对硬件进行实时故障检测,并做自愈处理或者上报给最终用户进行故障硬件更换等,以保证服务器运行的稳定性、安全性。
2、因此,服务器的故障检测性能至关重要,而为了保证服务器故障检验性能的可靠性,在服务器入网运行前,需要对其故障检测性能进行检验测试。
技术实现思路
1、本申请提供了一种故障测试方法、装置、计算设备、计算机存储介质及计算机程序产品,能够提高服务器等计算设备的故障测试的可靠性。
2、第一方面,本申请提供一种故障测试方法,方法包括将服务器的可编程逻辑单元设置为测试模式;在可编程逻辑单元处于测试模式的情况下,获取故障信号,故障信号用于模拟服务器中待测硬件发生故障;根据故障信号,将可编程逻辑单元中记录的待测硬件的状态设置为故障状态;在服务器的管理单元从可编程逻辑单元中读取到待测硬件处于故障状态后,管理单元发出故障信息,故障信息用于表示待测硬件发生故障。
3、在本实施例中,计算设备(即服务器)与管理终端通信连接,计算设备的待测硬件可以是处理器、内存、硬盘、风扇、网卡等硬件,用户可以在管理终端侧输入相关指令来模拟计算设备上的硬件发生某个类型故障(如电压异常、温度异常等)时的信号,并将构造的该故障信号发送到计算设备,使得计算设备的可编程逻辑单元将记录的待测硬件的状态设置为故障状态,服务器的管理单元能够从可编程逻辑单元中读取该故障状态进行故障诊断和故障信息上报。这样,管理终端就可以通过验证故障信息与故障信号中表征的故障是否一致,来测试计算设备对待测硬件的故障检测性能(如准确性、及时性等),不必人为构造真实硬件故障,降低测试成本,提高效率。其中,该可编程逻辑单元至少还可以用于检测待测硬件的真实故障,可编程逻辑单元可以是复杂可编程逻辑器件cpld,管理单元可以是基板管理控制器bmc,但不限于此。
4、在一些可能的实现方式中,可编程逻辑单元包括用于存储待测硬件的状态的寄存器,故障信号包括故障标识,故障标识用于表示待测硬件处于故障状态,在可编程逻辑单元处于测试模式的情况下,寄存器被设置为可读写模式,故障标识被写入与待测硬件对应的寄存器中,管理单元从寄存器中读取到故障标识。
5、在一些可能的实现方式中,故障信号包括待测硬件的至少一个故障类型,可编程逻辑单元包括至少一个寄存器,将可编程逻辑单元中记录的待测硬件的状态设置为故障状态,包括:将与每个故障类型相对应的寄存器放入待操作队列中;
6、将待操作队列中的所有寄存器中记录的待测硬件的状态设置为故障状态。
7、在一些可能的实现方式中,故障类型包括未上电、未在位、温度异常、电压异常或电源异常中的一种或多种。
8、在一些可能的实现方式中,方法还包括:在可编程逻辑单元处于测试模式的情况下,获取故障恢复信号,故障恢复信号用于模拟服务器中待测硬件恢复故障;根据故障恢复信号,将可编程逻辑单元中记录待测硬件的状态设置为正常状态;在管理单元从可编程逻辑单元中读取到待测硬件处于正常状态后,管理单元发出故障恢复信息,故障恢复信息用于表示待测硬件恢复故障。
9、这样,管理终端在测试完成后,可以控制计算设备恢复出厂设置,相对于人工构造真实故障来说,不必人工修复真实故障,降低了对测试人员的专业要求,利于降低人工投入成本,提高测试自动化程度。
10、在一些可能的实现方式中,方法还包括:将可编程逻辑单元设置为运行模式;
11、在可编程逻辑单元处于运行模式的情况下,将可编程逻辑单元中寄存器恢复到出厂设置状态。方法还包括:将故障信息和故障恢复信息发送至管理终端。
12、服务器还包括软硬件接口,软硬件接口与可编程逻辑单元连接,软硬件接口用于获取故障信号。
13、第二方面,本申请实施例提供了一种服务器,服务器包括可编程逻辑单元以及管理单元,可编程逻辑单元与管理单元连接,服务器用于执行如第一方面或任一种可能的实现方式所描述的方法。
14、第三方面,本申请提供一种电子设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序;其中,当存储器存储的程序被执行时,处理器用于执行第一方面或其中的任一种可能的实现方式所描述的方法。
15、第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或其中的任一种可能的实现方式所描述的方法。
16、第五方面,本申请提供一种计算机程序产品,其特征在于,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或其中的任一种可能的实现方式所描述的方法。
17、第六方面,本申请提供一种芯片,其特征在于,包括至少一个处理器和接口;至少一个处理器通过接口获取程序指令或者数据;至少一个处理器用于执行程序行指令,以实现第一方面或其中的任一种可能的实现方式所描述的方法。
18、可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
1.一种故障测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述可编程逻辑单元包括用于存储所述待测硬件的状态的寄存器,所述故障信号包括故障标识,所述故障标识用于表示所述待测硬件处于故障状态,在所述可编程逻辑单元处于所述测试模式的情况下,所述寄存器被设置为可读写模式,所述故障标识被写入与所述待测硬件对应的寄存器中,所述管理单元从所述寄存器中读取到所述故障标识。
3.根据权利要求1或2所述的方法,其特征在于,所述待测硬件有多个,所述可编程逻辑单元包括至少一个寄存器,所述将所述可编程逻辑单元中记录的所述待测硬件的状态设置为故障状态,包括:
4.根据权利要求3所述的方法,其特征在于,所述故障类型包括未上电、未在位、温度异常、电压异常或电源异常中的一种或多种。
5.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述方法还包括;
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:将所述故障信息和所述故障恢复信息发送至管理终端。
9.根据权利要求1-8任一所述的方法,其特征在于,所述服务器还包括软硬件接口,所述软硬件接口与所述可编程逻辑单元连接,所述软硬件接口用于获取所述故障信号。
10.一种服务器,其特征在于,所述服务器包括:可编程逻辑单元以及管理单元,所述可编程逻辑单元与所述管理单元连接,所述服务器用于执行如权利要求1至9任一项所述的故障测试方法。