多路服务器系统故障诊断装置、系统及方法与流程

allin2024-04-14  24



1.本发明涉及多路服务器系统技术领域,尤其涉及一种多路服务器系统故障诊断装置、系统及方法。


背景技术:

2.多路服务器系统的内部组成结构较为复杂,系统中包含多个cpu芯片,各个cpu芯片通过互联通道(fit)实现互联以进行数据交互,各cpu的内部资源都是共享的,如果产生跨路访问,则数据需要通过fit来交互。因此在多路服务器系统中,实现内部故障诊断对于确保系统稳定可靠运行是非常重要的。
3.现有技术中大部分故障诊断方式是针对单路系统,通常是通过采用软件诊断方式实现,即通过软件程序来检测系统中是否存在故障。但是多路服务器系统与单路系统的内部机制不同,上述软件诊断方式并不适用于多路系统中,具体会存在以下问题:
4.1、诊断信息获取过程需要软件的支持,导致诊断流程需要过度依赖软件系统的正常状态,一旦软件程序存在异常则无法实现整个系统的故障诊断。
5.2、由于多路服务器中各cpu内部资源共享,基于软件诊断方式的故障诊断即便检测到故障,也难于定位发生故障的socket号,同时受限于信息上报的物理通道,在芯片初始化流程,socket也无法独立上报故障信息,即软件诊断方式难于将故障诊断细化到socket粒度。
6.现有技术中针对多路服务器系统的故障诊断的研究较少,且通常都是通过对故障日志信息的分析实现故障诊断,就不关注cpu小系统的故障发现,无法对不同的socket进行区分与诊断。现有技术中针对于实现cpu小系统的故障发现,则必须要借助于辅助外部电路的设计才能实现,如图1所示,由外部电路用于故障信号的捕获以及故障信息解析,但是这不仅会增加板级设计难度,还会使得系统难于通用化。


技术实现要素:

7.本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种结构简单、复杂程度以及成本低、扩展性好的多路服务器系统故障诊断装置、系统,以及实现方法简单、诊断实现复杂度低且效率高方法,能够适用于多路服务器系统实现socket粒度的故障诊断。
8.为解决上述技术问题,本发明提出的技术方案为:
9.一种多路服务器系统故障诊断装置,包括:相互连接的socket故障监测模块以及存储模块,所述socket故障监测模块用于分别监测多路服务器系统中各socket内cpu的信息并判断监测到的信息类型,当判断为故障信息时控制将故障信息存储至所述存储模块中。
10.进一步的,所述socket故障监测模块包括多个socket故障监测单元,每个socket内对应设置一个所述socket故障监测单元,以用于监测对应socket内cpu的故障信息。
11.进一步的,所述存储模块包括多个存储单元,每个socket对应设置一个所述存储单元,以用于存储监测到的对应socket内cpu的故障信息。
12.进一步的,所述存储模块还连接有存储控制器,以用于当判断到所述存储模块的存储空间不足时,控制按照预先配置的优先级顺序存储故障信息。
13.进一步的,所述socket故障监测模块监测的cpu的故障信息包括bist功能故障信息、数据存储故障信息、内部网络故障信息、io接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。
14.进一步的,所述存储模块还与bios连接,通过调用bios将监测到的所述故障信息写入所述存储模块。
15.进一步的,还包括与所述存储模块连接的软件诊断模块,用于通过预置的软件程序对多路服务器系统进行触发自检和/或故障测试,诊断得到的故障信息存储至所述存储模块中。
16.进一步的,还包括与所述存储模块连接的带外访问通道,以用于提供访问所述存储模块内的故障信息的访问通道。
17.一种多路服务器系统,包括多个socket,每个所述socket内包括一个以上的cpu,各所述cpu之间互联,还设置有如上述的故障诊断装置。
18.一种多路服务器系统故障诊断方法,所述方法应用于多路服务器系统,所述多路服务器系统包括多个socket,每个所述socket内包括一个以上的cpu,所述多路服务器系统还包括相互连接的socket故障监测模块以及存储模块,各所述socket分别与所述socket故障监测模块连接,所述方法的步骤包括:
19.所述socket故障监测模块分别监测各socket内cpu的信息并判断监测到的信息类型;
20.所述socket故障监测模块判断到监测到的信息为故障信息时,控制将故障信息存储至存储模块中。
21.进一步的,所述将监测到的所述故障信息存储至预先配置的存储模块中,当判断到所述存储模块的存储空间不足时,按照预先配置的优先级顺序存储故障信息。
22.进一步的,所述按照预先配置的优先级顺序存储故障信息包括:控制根据优先级顺序将待存储的故障信息覆盖所述存储模块中存储的历史故障信息。
23.进一步的,所述按照预先配置的优先级顺序存储故障信息还包括:当最高优先级的故障信息写入所述存储模块后,控制不允许对写入的所述最高优先级的故障信息进行修改,并发送控制指令以控制保留现场信息、停止对应cpu运行。
24.进一步的,所述将监测到的所述故障信息存储至预先配置的存储模块还包括:将所述故障信息进行编码以形成故障码,将所述故障码存储至所述存储模块。
25.进一步的,所述故障码包括故障发生模块的信息、故障类型信息、故障优先级信息中任意一种或两种以上的组合。
26.进一步的,所述cpu的故障信息包括bist功能故障信息、数据存储故障信息、内部网络故障信息、io接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。
27.进一步的,还包括通过预置的软件程序对多路服务器系统进行触发自检、故障测
试,将诊断得到的故障信息存储至所述存储模块中。
28.一种多路服务器系统故障检测方法,用于上述多路服务器系统故障诊断装置,所述多路服务器系统还包括带外访问通道,所述带外访问通道与所述存储模块连接,所述故障检测方法的步骤包括:
29.通过所述带外访问通道访问所述存储模块中的故障信息;
30.根据访问得到的所述故障信息确定对应的故障类型。
31.进一步的,所述根据访问得到的所述故障信息确定对应的故障类型后,还包括根据故障类型控制输出预置的故障诊断信息和/或控制执行预设的故障处理。
32.与现有技术相比,本发明的优点在于:本发明通过以socket为故障监测单位,分别监测多路服务器系统中各socket内cpu的故障信息,然后再将监测到的故障信息进行统一存储,能够有效地将故障诊断范围缩小到socket级别,实现socket粒度的cpu小系统故障发现,且基于存储的故障信息使得在芯片初始化等各个阶段均可以上报故障信息,监测socket内cpu的故障信息可以通过cpu内部来实现,可以不需要依赖于额外增加的硬件电路,从而能够极大减小实现难度和成本,同时还便于实现扩展。
附图说明
33.图1是传统实现cpu小系统故障发现的原理示意图。
34.图2是本发明实施例1中多路服务器系统故障诊断装置的结构原理示意图。
35.图3是本发明实施例1中故障信息写入操作的原理示意图。
36.图4是本发明实施例2中多路服务器系统故障诊断装置的结构原理示意图。
37.图5是本发明实施例3中多路服务器系统故障诊断方法的实现流程示意图。
38.图例说明:1、socket故障监测模块;101、socket故障监测单元;2、存储模块;201、存储单元;3、软件诊断模块;4、带外访问通道。
具体实施方式
39.以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
40.cpu芯片是通过接口与主板连接,不同类型的cpu芯片具有不同的cpu socket(插槽),cpu socket也即为用于安装cpu的插座,每个cpu芯片对应一个cpu socket,每个cpu socket内部包含多个小cpu。在多路服务器系统中,所有的cpu数据都是共享的,socket无法独立上报故障信息,因而若直接基于软件诊断方式对故障数据进行分析,无法区分故障是发生在哪个socket。
41.本发明通过以socket为故障监测最小范围,分别监测多路服务器系统中各socket内cpu的故障信息,然后再将监测到的故障信息进行统一存储,能够有效地将故障诊断范围缩小到socket级别,实现socket粒度的cpu小系统故障发现,且基于存储的故障信息使得在芯片初始化等各个阶段均可以上报故障信息,监测socket内cpu的故障信息可以通过cpu内部来实现,可以不需要依赖于额外增加的硬件电路,从而能够极大减小实现难度和成本。
42.实施例1:
43.如图2所示,本实施例多路服务器系统故障诊断装置包括:相互连接的socket故障
监测模块1以及存储模块2,socket故障监测模块1用于分别监测多路服务器系统中各socket内cpu的信息并判断监测到的信息类型,当判断为故障信息时控制将故障信息存储至存储模块2中。通过设置socket故障监测模块1,以socket为故障监测最小范围,socket内由cpu收集故障信息,即由cpu内部来实现故障信息收集,然后统一将故障信息存储至到存储模块2中,能够有效地将故障诊断范围缩小到socket级别,实现在cpu小系统的故障发现,且不需要额外增加硬件电路,极大减小了实现难度和成本,同时还便于实现扩展。
44.本实施例中,socket故障监测模块1具体包括多个socket故障监测单元101,每个socket内对应设置一个socket故障监测单元101,以用于监测对应socket内cpu的故障信息,各个socket故障监测单元101之间相互独立。即为每个socket对应设置一个socket故障监测单元101,以独立监测该socket内各cpu故障信息,每个socket故障监测单元101与每个socket是一一对应的,则每当监测到cpu故障信息后由监测的socket故障监测单元101即可定位出故障发生的具体socket位置。
45.在具体应用实施例中,可以预先为各socket进行编号,各socket故障监测单元101设置在各socket内部,并形成一一对应的映射关系,则由监测出故障信息的socket故障监测单元101所在位置与映射关系,即可确定发生故障的socket编号。
46.可以理解的是,socket故障监测模块1的数量也可以根据实际需求配置,除上述为每个socket对应设置一个socket故障监测模块1的一对一方式以外,也可以采用由一个socket故障监测模块1对应两个以上的socket,以减少实现成本。
47.socket故障监测单元101具体由各cpu实现内部的故障收集,如在每个cpu内嵌有故障收集程序,由该故障收集程序对各cpu内部故障信息进行自主收集,以主动发现各cpu内的各类故障,再由各cpu将故障信息写入存储模块2中。上述故障收集程序可以是cpu内已有的故障收集功能程序,也可以是自定义设置的能够实现故障收集功能的程序,具体可以根据实际需求确定。
48.本实施例中,socket故障监测模块1监测的cpu的故障信息具体包括bist(内建自测试)功能故障信息、数据存储故障信息、内部网络故障信息、io接口错误故障信息、模块运行故障信息、数据传输故障信息等,数据存储故障信息包括存储错误、内存数据跳变等,io接口错误故障信息为如io接口无法访问等,模块运行故障信息可以为模块初始化异常、运行异常等,数据传输故障信息如存在传输误码、数据重传等。
49.可以理解的是,socket故障监测模块1所具体监测的故障信息可以依据实际需求配置,可以是上述故障信息中的任意一种或多种,故障信息也并不限于上述所列举的,除上述所列举的故障信息外,当然还可以根据实际需求增加其他更多需要关注的cpu故障相关的信息。
50.本实施例中,存储模块2包括多个存储单元201,每个socket对应设置一个存储单元201,以用于存储监测到的对应socket内cpu的故障信息,各个socket的存储单元201之间相互独立。即每个socket内部均对应设置有一个存储单元201,该socket内所监测到的cpu故障信息统一发送至该socket内部的存储单元201,使得各个socket所监测到的故障信息独立存储至各自的内部存储单元201中,将故障诊断细化至socket粒度,同时还可以有效解决在socket间不能通信之前故障信息跨socket传递的难点问题。
51.本实施例中,存储单元201具体采用设置在socket内部的故障寄存器,该寄存器具
体是由一组寄存器构成,寄存器组数量可以根据故障信息的数量、长短来定义。可以理解的是,存储单元201当然也可以根据实际需求采用socket内部的其他存储空间来实现,如单独在socket内部开辟一块存储空间以用于存储故障信息,甚至还可以在socket外部采用存储器等存储设备实现,如果采用外部的存储设备实现,则优选的可再将存储设备与各socket形成一一对应的关系,以使得便于定位故障信息所对应的socket。
52.本实施例中,存储模块2还连接有存储控制器,每个存储单元201分别与存储控制器连接,以用于控制按照预先配置的优先级顺序存储故障信息。cpu各类型故障对于系统的影响程度是不同的,如模块初始化异常、io接口无法访问等故障,会影响系统功能缺失,无法正常工作,而如可纠正的ecc错误、过多的数据重传错误等,并不影响系统的正常工作,只是存在潜在的风险。另外,除不同故障信息对系统的影响程度不同以外,用户对于不同故障信息的关注度等也可能是不同的。本实施例通过进一步设置存储控制器,由存储控制器对存储模块2中各个存储单元201的存储行为进行控制,当需要对故障信息存储时,由存储控制器按照预先配置的优先级顺序对故障信息进行存储,使得可以优先存储实时关键的故障信息,从而确保关键故障信息存储的实时性。上述优先级顺序具体可预先依据故障信息对系统正常工作的影响程度、用户关注度等因素进行设置。
53.在具体应用实施例中,考虑到存储模块2的存储空间是有限的,而故障信息是持续产生的,如果存储模块2的存储空间不足,此时若发生影响系统正常工作的错误而无法存储,会导致无法及时发现影响系统运行的故障,对于系统正常工作的影响较大。本实施例通过实时监测存储模块2的存储空间剩余量,当判断到存储单元201的存储空间剩余量不足(小于预设阈值)时,采用待存储的新故障信息覆盖历史存储故障信息的方式,即每次从存储单元201中查找出需要更新的历史存储故障信息,然后将待存储的新故障信息覆盖该查找的历史存储故障信息,以保持故障数据的实时性。上述确定需覆盖的历史存储故障信息时,具体可以依据存储时长、重要程度等因素进行筛选确定,如可以选取存储时长最长或重要程度最低的历史存储故障信息。
54.本实施例具体可预先将cpu故障划分为多个优先等级,如高、中、低等级,或者更为细化的多个等级;如果判断到存储单元201的存储空间不足,此时再接收到故障信息时,先判断故障信息的优先等级,控制将较高优先级的故障信息覆盖较低优先级的故障信息,例如,如果接收到的故障信息为最高等级,则在存储单元201当前已存储的故障信息中查找最低等级的故障信息,将最新接收到的最高等级故障信息覆盖查找到的最低等级故障信息,以使得确保系统的运行可靠性。上述覆盖的原则具体也可以根据实际需求配置,如还可以配置为将最新接收到的故障信息覆盖掉优先等级较低(低于最新接收到的故障信息的优先等级),同时故障信息最旧(存储时间最长)的历史故障信息,以使得保持故障数据的实时性。
55.本实施例中,存储模块2中各存储单元201还与bios(basic input output system,基本输入输出系统)连接,通过调用bios将监测到的故障信息写入存储模块2。由于存储模块2属于公共资源,各存储单元201采用一组寄存器,为了简化os寄存器写入产生多线程/进程竞争关系,同时简化os的平台的兼容性,如图3所示,本实施例通过bios来完成故障信息写入至各存储单元201,具体通过os调用bios的接口来实现故障信息写入。
56.本实施例中,还包括与存储模块2连接的软件诊断模块3,用于通过预置的软件程
序对多路服务器系统触发自检、故障测试,诊断得到的故障信息存储至存储模块2中各存储单元201。具体还可以配置对于cpu的故障检测信息,通过错误中断的方式,将错误信息以故障码的方式填入到故障信息中。通过设置软件诊断模块3,可以进一步实现自检、故障测试下的故障诊断,从而获取更为充分的系统故障信息,及时发现系统的故障。
57.本实施例中,还包括与存储模块2连接的带外访问通道4,以用于提供访问存储模块2中各存储单元201内的故障信息的访问通道,即外部设备可以通过带外访问通道4访问、读取各存储单元201内故障信息,使得能够通过带外的方式实现对存储模块2中各存储单元201进行访问,将读取的故障信息解析后即可供其它装置表达出来,即可以通过不同的装置将故障信息表达出来。由于对于cpu而言,各存储单元201内的故障信息的获取不需要依赖于软件功能,因此即便cpu软件异常挂死,也能正常获取该故障信息,还可以将故障信息进行上报。
58.本实施例还包括多路服务器系统,包括多个socket,每个socket内包括一个以上的cpu,各cpu之间互联,还设置有如上述的故障诊断装置。
59.实施例2:
60.如图4所示,本实施例与实施例1基本相同,不同之处在于,socket故障监测模块1包括多个socket故障监测单元101,两个以上的socket共同对应连接一个socket故障监测单元101,即由一个socket故障监测单元101同时监测两个以上的socket内部的cpu故障信息;存储模块2包括多个存储单元201,两个以上的socket共同对应连接一个存储单元201,即由一个存储单元201共同存储两个以上的socket内部的cpu故障信息。
61.虽然相比于实施例1,本实施例不能独立实现每个socket的故障监测,但是相比于实施例1可以减少socket故障监测单元101、存储单元201的数量进一步减少成本及开销,而相比于传统直接针对整个系统进行故障诊断的方式而言,本实施例仍然可以有效的降低故障诊断实现的粒度,提高多路服务器系统故障诊断的有效性。
62.实施例3:
63.如图5所示,本实施例多路服务器系统故障诊断方法应用于多路服务器系统,多路服务器系统包括多个socket,每个socket内包括一个以上的cpu,多路服务器系统还包括相互连接的socket故障监测模块1以及存储模块2,各socket分别与socket故障监测模块1连接,该方法的步骤包括:
64.步骤s01.socket故障监测模块1分别监测多路服务器系统中各socket内cpu的故障信息并判断监测到的信息类型;
65.步骤s02.socket故障监测模块1判断到监测到的信息为故障信息时,控制将监测到的故障信息存储至预先配置的存储模块2中。
66.如图2所示本实施例具体在每个socket内对应设置一个socket故障监测单元101,以用于监测对应socket内cpu的故障信息,各个socket故障监测单元101之间相互独立。即为每个socket对应设置一个socket故障监测单元101,以独立监测该socket内各cpu故障信息,每个socket故障监测单元101与每个socket是一一对应的,则每当监测到cpu故障信息后由监测的socket故障监测单元101即可定位出故障发生的具体socket位置。在每个socket对应设置一个存储单元201,以用于存储监测到的对应socket内cpu的故障信息,各个socket的存储单元201之间相互独立。即每个socket内部均对应设置有一个存储单元
201,该socket内所监测到的cpu故障信息统一发送至该socket内部的存储单元201,使得各个socket所监测到的故障信息独立存储至各自的内部存储单元201中,将故障诊断细化至socket粒度,同时还可以有效解决在socket间不能通信之前故障信息跨socket传递的难点问题。
67.本实施例通过以socket为故障监测最小范围,分别监测多路服务器系统中各socket内cpu的故障信息,socket内由cpu收集故障信息,即由cpu内部来实现故障信息收集,然后统一将故障信息存储至到存储模块2中,能够有效地将故障诊断范围缩小到socket级别,实现在cpu小系统的故障发现,且不需要额外增加硬件电路,极大减小了实现难度和成本。
68.本实施例中,预先为各socket进行编号,各socket故障监测单元101设置在各socket内部,并形成一一对应的映射关系。步骤s01中,通过由监测出故障信息的socket故障监测单元101所在位置与映射关系,即可确定发生故障的socket编号。
69.本实施例步骤s01中,具体由各cpu实现内部的故障收集,cpu内嵌有故障收集程序,由该故障收集程序对各cpu内部故障信息进行自主收集,以主动发现各cpu内的各类故障,再由各cpu将故障信息写入存储模块2中。上述故障收集程序可以是cpu内已有的故障收集功能程序,也可以是自定义设置的程序,具体可以根据实际需求确定。
70.本实施例步骤s01中,监测的cpu的故障信息具体包括bist(内建自测试)功能故障信息、数据存储故障信息、内部网络故障信息、io接口错误故障信息、模块运行故障信息、数据传输故障信息等,数据存储故障信息包括存储错误、内存数据跳变等,io接口错误故障信息为如io接口无法访问等,模块运行故障信息可以为模块初始化异常、运行异常等,数据传输故障信息如存在传输误码、数据重传等。
71.可以理解的是,上述所具体监测的故障信息可以依据实际需求配置,可以是上述故障信息中的任意多种,故障信息也并不限于上述所列举的,除上述所列举的故障信息外,当然还可以根据实际需求增加其他更多需要关注的cpu故障相关的信息。
72.本实施例中,步骤s02将监测到的故障信息存储至预先配置的存储模块2中,按照预先配置的优先级顺序存储故障信息。存储模块2的存储空间是有限的,而故障信息是持续产生的,无法记录所有的故障信息,cpu各类型故障对于系统的影响程度是不同的,如模块初始化异常、io接口无法访问等故障,会影响系统功能缺失,无法正常工作,而如可纠正的ecc错误、过多的数据重传错误等,并不影响系统的正常工作,只是存在潜在的风险,若在存储空间不足时此时发生影响系统正常工作的错误而此时由于存储空间不足无法存储,会导致无法及时发现影响系统运行的故障。本实施例通过进一步对存储模块2中各个存储单元201的存储行为进行控制,当接收到较多故障信息,同时判断到存储单元201的存储空间不足时,控制按照预先配置的优先级顺序存储故障信息。
73.本实施例具体可预先将cpu故障划分为多个优先等级,如高、中、低等级(具体按照下表1将故障信息定义不同的故障等级),还可以分为更为细化的多个等级;如果判断到存储单元201的存储空间不足,此时再接收到故障信息时,先判断故障信息的优先等级,控制根据优先级顺序将待存储的故障信息覆盖存储模块2中存储的历史故障信息,具体可配置为将较高优先级的故障信息覆盖较低优先级的故障信息,例如,如果接收到的故障信息为最高等级,则在存储单元201当前已存储的故障信息中查找最低等级的故障信息,将最新接
收到的最高等级故障信息覆盖查找到的最低等级故障信息,以使得确保系统的运行可靠性。上述覆盖的原则具体也可以根据实际需求配置,如还可以配置为将最新接收到的故障信息覆盖掉优先等级较低(低于最新接收到的故障信息的优先等级),同时故障信息最旧(存储时间最长)的历史故障信息,以使得保持故障数据的实时性。
74.表1:故障信息等级定义
[0075][0076][0077]
本实施例步骤s02中按照预先配置的优先级顺序存储故障信息还包括:当最高优先级的故障信息写入存储模块2后,控制不允许对写入的最高优先级的故障信息进行修改,并发送控制指令以控制保留现场信息、停止对应cpu运行。最高优先级(如致命故障)的故障信息会影响整个系统的正常运行,本实施例通过将最高等级的故障信息一旦写入到故障寄存器中,就控制不允许更改,且当软件检测到致命错误,控制发送指令以停止运行,并保留现场以进一步进行分析。
[0078]
本实施例中,步骤s02将监测到的故障信息存储至预先配置的存储模块2还包括:将故障信息进行编码以形成故障码,将故障码存储至存储模块2。
[0079]
为了方便对故障信息进行解析以及统一标准,本实施例根据不同的故障类型、具体场景定义不同的故障码,每个socket都有独立空间,发生故障后,先区分故障发生在哪个socket,然后将故障信息写入到对应的socket寄存器空间(存储单元201)。故障码定义具体可包括故障发生模块的信息、故障类型信息、故障优先级信息等,故障发生模块的信息可以为故障模块编号,故障类型信息可以为故障详细信息,故障码的具体定义方式具体均可以根据实际需求配置。考虑到故障寄存器都采用32bit寄存器存放,本实施例中故障码具体采取32bit的方式进行编码,同时避免故障码与寄存器的初始值冲突。
[0080]
由于存储模块2属于公共资源,各存储单元201采用一组寄存器,为了简化os寄存器写入产生多线程/进程竞争关系,同时简化os的平台的兼容性,本实施例步骤s02中具体通过bios来完成故障信息写入至各存储单元201,即通过os调用bios的接口来实现故障信息写入。
[0081]
本实施例中,步骤s02前还包括软件诊断步骤,通过预置的软件程序对多路服务器系统触发自检、故障测试,诊断得到的故障信息存储至存储模块2中各存储单元201。具体还可以配置对于cpu的故障检测信息,通过错误中断的方式,将错误信息以故障码的方式填入到故障信息中。通过设置软件诊断方式,可以进一步实现自检、故障测试下的故障诊断,从而获取更为充分的系统故障信息,及时发现系统的故障。
[0082]
本实施例中,步骤s02后还包括通过带外访问通道4访问、读取各存储单元201内故障信息,使得能够通过带外的方式实现对存储模块2中各存储单元201进行访问,将读取的故障信息解析后即可供其它装置表达出来。由于对于cpu而言,各存储单元201内的故障信息的获取不需要依赖于软件功能,因此即便cpu软件异常挂死,也能正常获取该故障信息,还可以将故障信息进行上报。
[0083]
实施例4:
[0084]
本实施例:多路服务器系统故障检测方法,用于如实施例1中的多路服务器系统故障诊断装置,该多路服务器系统故障诊断装置还包括带外访问通道4,带外访问通道4与存储模块2连接,故障检测方法的步骤包括:
[0085]
通过带外访问通道4访问存储模块2中的故障信息;
[0086]
根据访问得到的故障信息确定对应的故障类型。
[0087]
多路服务器系统故障诊断装置通过设置socket故障监测模块1,以socket为故障监测最小范围,socket内由cpu收集故障信息,即由cpu内部来实现故障信息收集,然后统一将故障信息存储至到存储模块2中,然后通过带外访问通道4访存储模块2即可访问监测到的故障信息,根据访问到的该故障信息确定对应的故障类型,可以方便的实现多路服务器系统故障检测,无需额外的检测电路,且故障检测范围缩小到了socket级别,有效缩小了多路服务器系统故障检测的检测粒度。同时基于带外访问的方式,由于对故障信息的获取不需要依赖于软件功能,因而本实施例上述检测方法即便在cpu软件异常挂死的情况下,也能正常获取到故障信息进行故障检测。
[0088]
在具体应用实施例中,可以由外部设备通过带外访问通道4访问、读取存储模块2中各存储单元201内故障信息,以通过带外的方式实现对存储模块2中各存储单元201进行访问,由外部设备将访问的故障信息进行解析,然后根据解析的信息确定出对应的故障类型。上述外部设备可以是外部控制器、外部控制终端等各类设备。
[0089]
本实施例中,预先进行故障类型划分,并构建故障类型与故障信息对应的映射关系,即各故障类型具体对应会存在哪些故障信息,当访问得到故障信息时,将该故障信息与该映射关系进行比对即可确定出对应的故障类型。故障类型的划分方式、确定方式均可以根据实际需求进行配置。
[0090]
本实施例中,根据访问得到的故障信息确定对应的故障类型后,还包括根据故障类型控制输出预置的故障诊断信息,以使得可以直观的获取到故障诊断结果。具体可预先为每种故障类型对应配置故障诊断信息,故障诊断信息包括故障类型、故障信息描述、故障解决措施等信息,确定出故障类型后,调用对应预置的故障诊断信息进行显示,则用户可以快速、直观的获取到当前故障类型以及解决措施等有效信息。根据访问得到的故障信息确定对应的故障类型后,还可以控制执行预设的故障处理,以实现故障的自动处理,如判断到属于严重影响系统正常运行的故障时,控制系统停止运行以确保运行安全。
[0091]
可以理解的是,上述控制输出预置的故障诊断信息与控制执行预设的故障处理可以择其一执行,也可以同时执行,如判断到属于严重影响系统正常运行的故障时,输出预置的故障信息,同时控制系统停止运行以确保运行安全,具体可以根据实际需求配置。
[0092]
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的
内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

技术特征:
1.一种多路服务器系统故障诊断装置,其特征在于,包括:相互连接的socket故障监测模块(1)以及存储模块(2),所述socket故障监测模块(1)用于分别监测多路服务器系统中各socket内cpu的信息并判断监测到的信息类型,当判断为故障信息时控制将故障信息存储至所述存储模块(2)中。2.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述socket故障监测模块(1)包括多个socket故障监测单元(101),每个socket内对应设置一个所述socket故障监测单元(101),以用于监测对应socket内cpu的故障信息。3.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述存储模块(2)包括多个存储单元(201),每个socket对应设置一个所述存储单元(201),以用于存储监测到的对应socket内cpu的故障信息。4.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述存储模块(2)还连接有存储控制器,以用于控制按照预先配置的优先级顺序存储故障信息。5.根据权利要求1所述的多路服务器系统故障诊断装置,其特征在于:所述socket故障监测模块(1)监测的cpu的故障信息包括bist功能故障信息、数据存储故障信息、内部网络故障信息、io接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。6.根据权利要求1~5中任意一项所述的多路服务器系统故障诊断装置,其特征在于:所述存储模块(2)还与bios连接,通过调用bios将监测到的所述故障信息写入所述存储模块(2)。7.根据权利要求1~5中任意一项所述的多路服务器系统故障诊断装置,其特征在于:还包括与所述存储模块(2)连接的软件诊断模块(3),用于通过预置的软件程序对多路服务器系统进行触发自检和/或故障测试,诊断得到的故障信息存储至所述存储模块(2)中。8.根据权利要求1~5中任意一项所述的多路服务器系统故障诊断装置,其特征在于:还包括与所述故障信息存储模块(2)连接的带外访问通道(4),以用于提供访问所述存储模块(2)内的故障信息的访问通道。9.一种多路服务器系统,包括多个socket,每个所述socket内包括一个以上的cpu,各所述cpu之间互联,其特征在于,还设置有如权利要求1~8任意一项所述的故障诊断装置。10.一种多路服务器系统故障诊断方法,其特征在于,所述方法应用于多路服务器系统,所述多路服务器系统包括多个socket,每个所述socket内包括一个以上的cpu,所述多路服务器系统还包括相互连接的socket故障监测模块(1)以及存储模块(2),各所述socket分别与所述socket故障监测模块(1)连接,所述方法的步骤包括:所述socket故障监测模块(1)分别监测各socket内cpu的信息并判断监测到的信息类型;所述socket故障监测模块(1)判断到监测到的信息为故障信息时,控制将故障信息存储至存储模块(2)中。11.根据权利要求10所述的多路服务器系统故障诊断方法,其特征在于,所述控制将故障信息存储至存储模块(2)中时,按照预先配置的优先级顺序存储所述故障信息。12.根据权利要求11所述的多路服务器系统故障诊断方法,其特征在于,所述按照预先配置的优先级顺序存储故障信息包括:控制根据优先级顺序将待存储的故障信息覆盖所述
存储模块(2)中存储的历史故障信息。13.根据权利要求11所述的多路服务器系统故障诊断方法,其特征在于,所述按照预先配置的优先级顺序存储故障信息还包括:当最高优先级的故障信息写入所述存储模块(2)后,控制不允许对写入的所述最高优先级的故障信息进行修改,并发送控制指令以控制保留现场信息、停止对应cpu运行。14.根据权利要求10~13中任意一项所述的多路服务器系统故障诊断方法,其特征在于,所述将监测到的所述故障信息存储至预先配置的存储模块(2)还包括:将所述故障信息进行编码以形成故障码,将所述故障码存储至所述存储模块(2)。15.根据权利要求14所述的多路服务器系统故障诊断方法,其特征在于,所述故障码包括故障发生模块的信息、故障类型信息、故障优先级信息中任意一种或两种以上的组合。16.根据权利要求10~13中任意一项所述的多路服务器系统故障诊断方法,其特征在于,所述cpu的故障信息包括bist功能故障信息、数据存储故障信息、内部网络故障信息、io接口错误故障信息、模块运行故障信息、数据传输故障信息中任意一种或多种。17.根据权利要求10~13中任意一项所述的多路服务器系统故障诊断方法,其特征在于,还包括通过预置的软件程序对多路服务器系统进行触发自检和/或故障测试,将诊断得到的故障信息存储至所述存储模块(2)中。18.一种多路服务器系统故障检测方法,用于权利要求1~9中任意一项所述的多路服务器系统故障诊断装置,其特征在于,所述多路服务器系统故障诊断装置还包括带外访问通道(4),所述带外访问通道(4)与所述存储模块(2)连接,所述故障检测方法的步骤包括:通过所述带外访问通道(4)访问所述存储模块(2)中的故障信息;根据访问得到的所述故障信息确定对应的故障类型。19.根据权利要求18所述的多路服务器系统故障检测方法,其特征在于,所述根据访问得到的所述故障信息确定对应的故障类型后,还包括根据故障类型控制输出预置的故障诊断信息和/或控制执行预设的故障处理。

技术总结
本发明一种多路服务器系统故障诊断装置、系统及方法,该装置包括:相互连接的Socket故障监测模块以及存储模块,所述Socket故障监测模块用于分别监测多路服务器系统中各Socket内CPU的故障信息,监测到的所述故障信息存储至所述存储模块中。本发明能够适用于多路服务器系统实现Socket粒度的故障诊断,且具有结构简单、复杂程度以及成本低、扩展性好等优点。扩展性好等优点。扩展性好等优点。


技术研发人员:杨有桂 陈才 刘付东
受保护的技术使用者:飞腾信息技术有限公司
技术研发日:2022.03.23
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-13255.html

最新回复(0)