一种服务器故障诊断方法、系统、设备及存储介质与流程

文档序号:15143921发布日期:2018-08-10 20:13阅读:395来源:国知局

本发明涉及设备故障诊断分析技术领域,特别涉及一种服务器故障诊断方法、系统、设备及计算机可读存储介质。



背景技术:

随着信息技术的飞速发展以及云计算和物联网的落地,用户对服务器的可靠性和信息处理能力有了更高的要求。与传统服务器相比,基于purley平台的新一代服务器在计算性能和可靠性上与传统服务器相比具有很大的优势,并且在对实时性、可靠性和可用性要求苛刻的领域中应用越来越广泛。例如,基于purley平台的新一代服务器在机柜内的管理采用的是集中管理和分级管理的策略,即对整个机柜进行统一故障监控、故障管理和故障记录,这样做的弊端是故障发生的原因复杂,进而故障诊断分析的难度较大。此外,目前服务器对故障的监控并不充分,导致对故障发生原因的分析并不精准以及对故障具体内容的记录并不明确,因此现有的服务器故障诊断分析系统无法准确地定位故障发生的位置,从而不能及时高效地处理该故障。

由此可见,如何准确地定位服务器故障发生的位置,进而及时高效地对该故障进行诊断分析,是本领域技术人员亟待解决的技术问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种服务器故障诊断方法、系统、设备及计算机可读存储介质,以实现准确地定位服务器故障发生的位置,进而及时高效地对该故障进行诊断分析的目的。其具体方案如下:

一种服务器故障诊断方法,包括:

通过gpio实时监测与目标服务器bmc相连的引脚的电平状态;

若监测到的任一电平状态为低电平,则获取所述目标服务器的相应cpu寄存器中的数据,得到cpu寄存器数据;

对所述cpu寄存器数据进行分析处理,得到目标故障log日志;

根据所述目标故障log日志的内容提示用户进行故障处理,以完成对所述目标服务器故障诊断。

可选的,所述对所述cpu寄存器数据进行分析处理,得到目标故障log日志的步骤,包括:

将所述cpu寄存器数据存储至预设的黑盒日志中,以便于故障分析模块从所述黑盒日志中读取所述cpu寄存器数据并对该数据进行分析,得到目标故障log日志。

可选的,所述将所述cpu寄存器数据存储至预设的黑盒日志中,以便于故障分析模块从所述黑盒日志中读取所述cpu寄存器数据并对该数据进行分析,得到目标故障log日志的步骤,包括:

将所述cpu寄存器数据存储至预设的黑盒日志中,并利用所述cpu寄存器数据对所述黑盒日志中的数据进行更新,得到最新cpu寄存器数据;

调用故障分析模块,然后利用所述故障分析模块从所述黑盒日志中读取所述最新cpu寄存器数据,以便于所述故障分析模块对所述最新cpu寄存器数据进行分析后,将分析结果存储至故障log日志中,以生成目标故障log日志。

可选的,所述若监测到的任一电平状态为低电平,则获取所述目标服务器的相应cup寄存器中的数据,得到cpu寄存器数据的步骤,包括:

若监测到的任一电平状态为低电平,则根据peci协议获取所述目标服务器的相应cpu寄存器中的数据,得到cpu寄存器数据。

可选的,所述根据所述目标故障log日志的内容提示用户进行故障处理,以完成对所述目标服务器的故障诊断的步骤,包括:

将所述目标故障log日志的内容在web页面上进行显示,以提示用户进行相应的故障处理,以完成对所述目标服务器的故障诊断。

可选的,所述故障log日志的内容包括故障发生时间和/或设备类型和/或故障级别和/或故障码和/或故障描述和/或处理建议。

可选的,所述cpu寄存器数据包括mca和/或aer和/或pcierootport。

相应的,本发明还提供了一种服务器故障诊断系统,包括:

电平状态监测模块,用于通过gpio实时监测与目标服务器bmc相连的引脚的电平状态;

cup寄存器数据获取模块,用于若监测到的任一电平状态为低电平,则获取所述目标服务器的相应cup寄存器中的数据,得到cup寄存器数据;

cup寄存器数据分析模块,用于对所述cpu寄存器数据进行分析处理,得到目标故障log日志;

故障诊断模块,用于根据所述目标故障log日志的内容提示用户进行故障处理,以完成对所述目标服务器故障诊断。

相应的,本发明还提供了一种服务器故障诊断设备,包括存储器和处理器,其中,所述处理器用于执行所述存储器中存储的计算机程序以实现如前述服务器故障诊断方法的步骤。

相应的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述服务器故障诊断方法的步骤。

本发明公开的服务器故障诊断方法,通过gpio实时监测与目标服务器bmc相连的引脚的电平状态;若监测到的任一电平状态为低电平,则获取所述目标服务器的相应cpu寄存器中的数据,得到cpu寄存器数据;对所述cpu寄存器数据进行分析处理,得到目标故障log日志;根据所述目标故障log日志的内容提示用户进行故障处理,以完成对所述目标服务器故障诊断。

可见,本发明通过gpio实时监测与目标服务器bmc相连的引脚的电平状态,然后通过对电平状态来判断目标服务器是否出现故障,即若监测到的任一电平状态为低电平,说明与该电平对应的引脚所连接的目标服务器出现故障,这样可以更充分地对目标服务器的故障进行监控。当监测到故障的目标服务器时,则获取该服务器中相应的cpu寄存器的数据,需要说明的是,寄存器是系统获得操作资料的最快途径,本发明通过获取目标服务器中相应的cpu寄存器数据可以更加快速准确地定位出故障发生的位置以及原因,进而给出有效的处理建议。由此可见,使用本发明公开的服务器故障诊断方法可以更加充分地对服务器故障进行监控,同时可以显著提高定位服务器故障发生的位置的准确性,进而及时有效地对相应的服务器故障发生的原因进行诊断分析。

需要说明的是,本发明公开的一种服务器故障诊断系统、设备及计算机可读存储介质所具有的有益效果与上述有益效果相似或相同,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种服务器故障诊断方法流程图;

图2为本发明实施例公开的一种具体的服务器故障诊断方法流程图;

图3为本发明实施例公开的一种服务器故障诊断系统结构示意图;

图4为本发明实施例公开的一种服务器故障诊断设备结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种服务器故障诊断方法,参见图1所示,该方法具体包括:

步骤s11:通过gpio实时监测与目标服务器bmc相连的引脚的电平状态。

需要说明的是,gpio(generalpurposeinputoutput,即总线扩展器)能够提供额外的监控功能。本申请实施例通过gpio来实现对与目标服务器bmc相连引脚的电平状态进行实时监测,然后根据电平状态来判断目标服务器是否出现故障。

还需要说明的是,本申请实施例及本文以下实施例中的服务器可以是intel平台的服务器,如基于purley平台的服务器,当然,同样可以是其他平台的服务器,本申请在此不做任何限制,只要符合本申请实施例所公开的服务器故障诊断方法中的服务器架构即可。

步骤s12:若监测到的任一电平状态为低电平,则获取所述目标服务器的相应cpu寄存器中的数据,得到cpu寄存器数据。

其中,上述cpu寄存器数据可以具体包括mca(machinecheckarchitecture,即机器检查架构)和/或aer(advancederrorreport,即增强型错误报告)和/或pcierootport(pcie根端口)。

可以理解的是,当检测到与目标服务器相连的任一引脚为低电平,则说明该引脚所对应的服务器出现故障。在计算机领域,寄存器是cpu内部的元件,也是cpu执行指令时要访问的第一个地方,故通过获取目标服务器中相关的cpu寄存器数据,可以使对故障分析的精确度更高。

步骤s13:对所述cpu寄存器数据进行分析处理,得到目标故障log日志。

其中,对上述cpu寄存器数据进行分析的具体过程可参照现有技术,在此不再赘述。

步骤s14:根据所述目标故障log日志的内容提示用户进行故障处理,以完成对所述目标服务器故障诊断。

其中,上述故障log日志的内容可以具体包括故障发生时间和/或设备类型和/或故障级别和/或故障码和/或故障描述和/或处理建议。

可见,本申请实施例通过gpio实时监测与目标服务器bmc相连的引脚的电平状态,然后通过对电平状态来判断目标服务器是否出现故障,即若监测到的任一电平状态为低电平,说明与该电平对应的引脚所连接的目标服务器出现故障,这样可以更充分地对目标服务器的故障进行监控。当监测到故障的目标服务器时,则获取该服务器中相应的cpu寄存器的数据,需要说明的是,寄存器是系统获得操作资料的最快途径,本申请实施例通过获取目标服务器中相应的cpu寄存器数据可以更加快速准确地定位出故障发生的位置以及原因,进而给出有效的处理建议。由此可见,使用本申请实施例公开的服务器故障诊断方法可以更加充分地对服务器故障进行监控,同时可以显著提高定位服务器故障发生的位置的准确性,进而及时有效地对相应的服务器故障发生的原因进行诊断分析。

进一步的,本申请实施例还相应公开了一种具体的服务器故障诊断方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,该方法具体包括以下步骤:

步骤s21:通过gpio实时监测与目标服务器bmc相连的引脚的电平状态。

需要说明的是,上述与目标服务器的bmc相连的引脚可以具体包括:cpucatterror/msmi#(ierr),cputhearmaltrip,error1pin,error2pin,cputhearmaltrip。

步骤s22:若监测到的任一电平状态为低电平,则根据peci协议获取所述目标服务器的相应cpu寄存器中的数据,得到cpu寄存器数据。

具体的,目标服务器的bmc(baseboardmanagementcontroller,即基板管理控制器)可以根据peci协议获取所述目标服务器的相应cpu寄存器中的数据。

同前述实施例,上述cpu寄存器数据可以具体包括mca和/或aer和/或pcierootport。其中,通过mca,可以检测系统的硬件故障,如系统总线错误,奇偶校验错误,cache错误等。

步骤s23:将所述cpu寄存器数据存储至预设的黑盒日志中,以便于故障分析模块从所述黑盒日志中读取所述cpu寄存器数据并对该数据进行分析,得到目标故障log日志。

具体的,可以通过以下步骤实现:

将所述cpu寄存器数据存储至预设的黑盒日志中,并利用所述cpu寄存器数据对所述黑盒日志中的数据进行更新,得到最新cpu寄存器数据;调用故障分析模块,然后利用所述故障分析模块从所述黑盒日志中读取所述最新cpu寄存器数据,以便于所述故障分析模块对所述最新cpu寄存器数据进行分析后,将分析结果存储至故障log日志中,以生成目标故障log日志。

步骤s24:将所述目标故障log日志的内容在web页面上进行显示,以提示用户进行相应的故障处理,以完成对所述目标服务器的故障诊断。

可以理解的是,将目标故障log日志中的内容在web页面上进行显示,这样做可以实现通过页面展示的方式使用户可以更加及时地看到已经诊断出的服务器故障,进而可以减少由于故障时间的延长而带来的不必要的损失。

需要说明的是,上述故障log日志的内容可以具体包括故障发生的时间和/或设备类型和/或故障级别和/或故障码和/或故障描述和/或处理建议等。

本申请实施例以相对合理的情况对本申请实施例公开的方法进行了阐述,其中,所涉及的技术内容可参见前述实施例,本实施例除了具备上述实施例的有益效果外,还具有以下有益效果:由于目标服务器中cpu的相关寄存器是获得系统操作资料的最快途径,并且保存了所有的相关执行操作指令,因此,通过对获取到的cpu寄存器数据进行分析,可以减轻维护人员的故障分析工作,甚至可以减少服务器维护的人力,从而显著降低服务器的维护成本。

进一步的,本申请实施例还公开了一种服务器故障诊断系统,参见图3所示,该系统具体包括:

电平状态监测模块31,用于通过gpio实时监测与目标服务器bmc相连的引脚的电平状态。

cup寄存器数据获取模块32,用于若监测到的任一电平状态为低电平,则获取所述目标服务器的相应cup寄存器中的数据,得到cup寄存器数据。

cup寄存器数据分析模块33,用于对所述cpu寄存器数据进行分析处理,得到目标故障log日志。

故障诊断模块34,用于根据所述目标故障log日志的内容提示用户进行故障处理,以完成对所述目标服务器故障诊断。

需要说明的是,关于本实施例中各个模块之间的具体工作过程及带来的有益效果请参照本申请前述实施例公开的服务器故障诊断方法,在此不再赘述。

进一步的,本申请实施例还相应公开了一种服务器故障诊断设备,参见图4所示,该设备具体包括:存储器和处理器,其中,所述处理器用于执行所述存储器中存储的计算机程序以实现如本申请前述任一实施例公开的服务器故障诊断方法的步骤。

需要说明的是,本申请实施例的技术部分和相应有益效果的具体内容可参见本文上述实施例,在此不再赘述。

进一步的,本申请实施例还相应公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本申请前述任一实施例公开的服务器故障诊断方法的步骤。

需要说明的是,本申请实施例的技术部分和相应有益效果的具体内容可参见本文上述实施例,在此不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种服务器故障诊断方法、系统、设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1