本技术涉及数据处理,尤其涉及一种故障处理方法、装置及设备。
背景技术:
1、目前,服务器不仅在传统应用中占据核心地位,还在云计算、大数据分析和人工智能等新兴领域中发挥着至关重要的作用。其中服务器因卓越性能受到广泛应用,但同时其故障诊断以及维护的问题逐渐出现。
2、相关技术中,在服务器发生ras(reliability,availability andserviceability,可靠性、可用性以及可维护性)故障导致重启时,触发bios(basic inputoutput system,基本输入输出系统)读取寄存器信息,并通过ipmi(intellingentplatform management interface,智能平台管理接口)协议将寄存器信息传输到bmc(board management controller,基板管理控制器)以进行故障解析。
3、但服务器发生ras故障时,可能存在除服务器重启之外的其他情况,如挂起等,在这种情况下,无法触发bios来获取寄存器信息,进而无法进行故障检测。
技术实现思路
1、本发明提供了一种故障处理方法、装置及设备,用于在服务器发生ras故障且未导致重启时,对ras故障进行检测并生成对应的故障日志,提高故障检测的全面性和准确性。
2、第一方面,本技术提供了一种故障处理方法,应用于基板管理控制器bmc,该方法包括:
3、接收目标服务器发生故障时触发的中断消息,获取与故障对应的目标内存库bank的目标数量;各目标bank分别对应于不同的故障类型,且各目标bank分别包括各自的第一寄存器;
4、以预设位置为起点,从故障文件读取所述目标数量的第一寄存器的存储数据,并分别基于各第一寄存器的存储数据,确定包括所述第一寄存器的目标bank;所述故障文件为在所述目标服务器发生故障时生成的,用于存储与所述目标服务器的当前故障相关的信息;所述预设位置为与故障相关的第一寄存器的存储数据在所述故障文件中的起始位置;
5、针对每个目标bank,从所述故障文件中查询与所述目标bank对应的故障信息,并基于所述目标bank对应的故障信息生成故障日志。
6、上述方法,通过中断消息触发故障检测过程,能够适用于服务器发生ras故障且未进行重启的情况,提高了故障检测的全面性;bmc实时监测中断消息,在接收到中断消息后通过bank数量获取第一寄存器的存储数据,再基于存储数据定位bank,基于bank获取关键的寄故障数据。不仅能够精确收集并解析bank的寄存器信息,还能基于解析得到的故障信息,自动生成并上报相应的日志。同时,bmc能够独立执行服务器的ras故障检测,无需依赖其他组件,大大提升了系统的可靠性和维护效率。
7、在一种可能的实施方式中,所述获取与故障对应的目标bank的目标数量,包括:
8、通过高级平台管理链路ampl,调用所述bmc与所述目标服务器的主机之间的通信寄存器,获取与故障对应的目标bank的目标数量;
9、所述以预设位置为起点,从故障文件读取所述目标数量的第一寄存器的存储信息之前,还包括:
10、确定所述目标数量不为零。
11、上述方法,通过ampl调用通信寄存器获取bank的数量,实现了准确获取与故障效果的bank的数量,且在数量不为零时执行获取寄存器的存储数据,能够保证避免在无需进行故障检测时,进行相关信息获取导致的资源浪费。
12、在一种可能的实施方式中,所述第一寄存器的存储数据为高位地址存储的数据;所述分别基于各第一寄存器的存储数据,确定包括所述第一寄存器的目标bank,包括:
13、针对每个第一寄存器,将所述第一寄存器的存储数据拆分为与高位字节对应的第一数据以及与低位字节对应的第二数据;所述低位字节表征与所述目标bank对应的硬盘标识;所述高位字节表征与所述目标bank对应的架构类型;
14、基于所述第一数据和所述第二数据,从数据表中查询包括所述第一寄存器的目标bank;所述数据表用于存储:各bank对应的硬盘标识以及架构类型。
15、上述方法,通过将第一寄存器的存储数据进行拆分,基于拆分后的高位字节以及低位字节,来组合查询包括第一寄存器的bank,能够准确定位到目标bank。
16、在一种可能的实施方式中,所述目标bank还包括至少一个第二寄存器;所述目标bank对应的故障信息包括各第二寄存器的存储数据;所述从所述故障文件中查询与所述目标bank对应的故障信息,包括:
17、基于所述目标bank的标识,确定所述目标bank包括的各第二寄存器的地址偏移信息;
18、针对每个第二寄存器,基于所述第二寄存器的地址偏移信息,从所述故障文件中查询所述第二寄存器的存储数据。
19、上述方法,通过基于目标bank的标识确定各第二寄存器的地址偏移信息,再基于地址偏移信息来查询第二寄存器的存储数据,给出了一种具体地,能够准确地获取各第二寄存器的存储数据的方式。
20、在一种可能的实施方式中,所述方法还包括:
21、若未接收到所述中断消息,且确定所述目标服务器发生重启,则获取通过基本输入输出系统bios发送的寄存器信息,并基于所述寄存器信息生成故障日志。
22、上述方法,针对无法触发上述中断消息的故障,获取通过bios发送的寄存器信息,并基于所述寄存器信息生成故障日志,以便后续分析和处理。通过上述两种方法相互协作,确保了对服务器的系统故障的全面检测与响应。
23、在一种可能的实施方式中,所述故障日志中包括与故障对应的设备类型,所述基于所述目标bank对应的故障信息生成故障日志,包括:
24、将所述目标bank对应的故障信息与各类型设备对应的参考故障信息进行匹配,确定与所述故障信息对应的设备类型;其中,所述设备类型包括:处理器、内存以及总线中的至少一种。
25、上述方法,给出了一种具体地故障信息的解析方法,通过将故障信息与各类型设备对应的参考故障信息进行匹配,能够准确地确定故障信息对应的设备类型。
26、第二方面,本技术实施例提供一种故障处理装置,应用于基板管理控制器bmc,该装置包括:
27、接收模块,用于接收目标服务器发生故障时触发的中断消息,获取与故障对应的目标bank的目标数量;各目标bank分别对应于不同的故障类型,且各目标bank分别包括各自的第一寄存器;
28、确定模块,用于以预设位置为起点,从故障文件读取所述目标数量的第一寄存器的存储数据,并分别基于各第一寄存器的存储数据,确定包括所述第一寄存器的目标bank;所述故障文件为在所述目标服务器发生故障时生成的,用于存储与所述目标服务器的当前故障相关的信息;所述预设位置为与故障相关的第一寄存器的存储数据在所述故障文件中的起始位置;
29、生成模块,用于针对每个目标bank,从所述故障文件中查询与所述目标bank对应的故障信息,并基于所述目标bank对应的故障信息生成故障日志。
30、在一种可能的实施方式中,所述接收模块,具体用于:
31、通过高级平台管理链路ampl,调用所述bmc与所述目标服务器的主机之间的通信寄存器,获取与故障对应的目标bank的目标数量;
32、所述确定模块在以预设位置为起点,从故障文件读取所述目标数量的第一寄存器的取值之前,还用于:
33、确定所述目标数量不为零。
34、在一种可能的实施方式中,所述第一寄存器的存储数据为高位地址存储的数据;上述确定模块,具体用于:
35、针对每个第一寄存器,将所述第一寄存器的存储数据拆分为与高位字节对应的第一数据以及与低位字节对应的第二数据;所述低位字节表征与所述目标bank对应的硬盘标识;所述高位字节表征与所述目标bank对应的架构类型;
36、基于所述第一数据和所述第二数据,从数据表中查询包括所述第一寄存器的目标bank;所述数据表用于存储:各bank对应的硬盘标识以及架构类型。
37、在一种可能的实施方式中,所述目标bank还包括至少一个第二寄存器;所述目标bank对应的故障信息包括各第二寄存器的存储数据;上述生成模块,具体用于:
38、基于所述目标bank的标识,确定所述目标bank包括的各第二寄存器的地址偏移信息;
39、针对每个第二寄存器,基于所述第二寄存器的地址偏移信息,从所述故障文件中查询所述第二寄存器的存储数据。
40、在一种可能的实施方式中,上述装置还包括获取模块,具体用于:
41、若未接收到所述中断消息,且确定所述目标服务器发生重启,则获取通过基本输入输出系统bios发送的寄存器信息,并基于所述寄存器信息生成故障日志。
42、在一种可能的实施方式中,所述故障日志中包括与故障对应的设备类型,上述生成模块,具体用于:
43、将所述目标bank对应的故障信息与各类型设备对应的参考故障信息进行匹配,确定与所述故障信息对应的设备类型;其中,所述设备类型包括:处理器、内存以及总线中的至少一种。
44、第三方面,本技术实施例提供一种电子设备,包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述故障处理方法中的步骤。
45、第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本技术上述的故障处理方法中的步骤。
46、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,计算机程序存储在计算机可读存储介质中;当内存访问设备的处理器从计算机可读存储介质读取计算机程序时,处理器执行计算机程序,使得内存访问设备执行本技术上述故障处理方法中的步骤。
47、上述第二至五方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
1.一种故障处理方法,其特征在于,应用于基板管理控制器bmc,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取与故障对应的目标bank的目标数量,包括:
3.根据权利要求1所述的方法,其特征在于,所述第一寄存器的存储数据为高位地址存储的数据;所述分别基于各第一寄存器的存储数据,确定包括所述第一寄存器的目标bank,包括:
4.根据权利要求1所述的方法,其特征在于,所述目标bank还包括至少一个第二寄存器;所述目标bank对应的故障信息包括各第二寄存器的存储数据;所述从所述故障文件中查询与所述目标bank对应的故障信息,包括:
5.根据权利要求1~4任一所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1~4任一所述的方法,其特征在于,所述故障日志中包括与故障对应的设备类型,所述基于所述目标bank对应的故障信息生成故障日志,包括:
7.一种故障处理装置,其特征在于,应用于基板管理控制器bmc,所述装置包括:
8.一种电子设备,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一项所述的方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如权利要求1-6任一项所述的方法。
