发明内容
为解决上述技术问题,本发明的主要目的在于提供一种服务器故障处理方法、系统、设备及可读存储介质。
第一方面,本发明提供一种服务器故障处理方法,所述服务器故障处理方法应用于服务器的操作系统,所述服务器故障处理方法包括:
基于虚拟网卡通道接收基板管理控制器上报的故障告警日志、硬件更换日志以及历史告警日志;
根据所述故障告警日志确定发生故障的目标硬件以及故障类型;
若故障类型为不可修复错误类型,则根据历史告警日志确定所述目标硬件发生不可修复错误类型故障的第一次数,并基于所述第一次数进行故障处理;
若故障类型为可修复错误类型,则根据硬件更换日志以及历史告警日志确定所述目标硬件发生可修复错误类型故障的第二次数、所述目标硬件被更换的第三次数以及所述目标硬件的历史访问次数,并基于所述第二次数、第三次数以及历史访问次数进行故障处理。
可选的,所述基于所述第一次数进行故障处理的步骤包括:
当所述第一次数与服务器工作时长的比值小于第一阈值,对所述目标硬件进行隔离操作;
当所述第一次数与服务器工作时长的比值大于或等于第一阈值,输出目标硬件更换提醒。
可选的,所述基于所述第二次数、第三次数以及历史访问次数进行故障处理的步骤包括:
当第二次数与服务器工作时长的比值小于第二阈值,则检测第三次数是否大于零;
若第三次数不大于零,则对所述目标硬件进行隔离操作;
当第二次数与服务器工作时长的比值大于或等于第二阈值,则对所述目标硬件进行隔离操作。
可选的,在所述则检测第三次数是否大于零的步骤之后,还包括:
若第三次数大于零,则计算第三次数、历史访问次数以及服务器工作时长的乘积;
若第二次数与所述乘积的比值大于或等于第三阈值,则对所述目标硬件进行隔离操作。
可选的,在所述计算第三次数、历史访问次数以及服务器工作时长的乘积的步骤之后,还包括:
若第二次数与所述乘积的比值小于第三阈值,则检测主板更换次数是否大于第四阈值;
若主板更换次数大于第四阈值,则输出安装异常提醒;
若主板更换次数小于或等于第四阈值,则输出主板更换提醒。
可选的,当所述目标硬件为UPI总线,所述对所述目标硬件进行隔离操作的步骤包括:
对UPI总线做降速处理,若降速处理后UPI总线仍存在故障,则隔离通过UPI总线连接的两个CPU中的任一个,且不访问UPI总线。
可选的,所述虚拟网卡通道为USB虚拟网卡通道。
第二方面,本发明还提供一种服务器故障处理系统,所述服务器故障处理系统包括:
接收模块,用于基于虚拟网卡通道接收基板管理控制器上报的故障告警日志、硬件更换日志以及历史告警日志;
第一确定模块,用于根据所述故障告警日志确定发生故障的目标硬件以及故障类型;
第二确定模块,用于若故障类型为不可修复错误类型,则根据历史告警日志确定所述目标硬件发生不可修复错误类型故障的第一次数;
第三确定模块,用于若故障类型为可修复错误类型,则根据硬件更换日志以及历史告警日志确定所述目标硬件发生可修复错误类型故障的第二次数、所述目标硬件被更换的第三次数以及所述目标硬件的历史访问次数;
处理模块,用于基于所述第一次数进行故障处理,还用于基于所述第二次数、第三次数以及历史访问次数进行故障处理。
第三方面,本发明还提供一种服务器故障处理设备,所述服务器故障处理设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的服务器故障处理程序,其中所述服务器故障处理程序被所述处理器执行时,实现如上所述的服务器故障处理方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有服务器故障处理程序,其中所述服务器故障处理程序被处理器执行时,实现如上所述的服务器故障处理方法的步骤。
本发明中,基于虚拟网卡通道接收基板管理控制器上报的故障告警日志、硬件更换日志以及历史告警日志;根据所述故障告警日志确定发生故障的目标硬件以及故障类型;若故障类型为不可修复错误类型,则根据历史告警日志确定所述目标硬件发生不可修复错误类型故障的第一次数;基于所述第一次数进行故障处理;若故障类型为可修复错误类型,则根据硬件更换日志以及历史告警日志确定所述目标硬件发生可修复错误类型故障的第二次数、所述目标硬件被更换的第三次数以及所述目标硬件的历史访问次数;基于所述第二次数、第三次数以及历史访问次数进行故障处理。通过本发明,建立服务器的操作系统与基板管理控制器之间的虚拟网卡通道,使得操作系统可基于虚拟网卡通道接收基板管理控制器上报的各类日志文件,从而根据各类日志文件进行故障处理,提高了故障处理效率,保证了服务器的稳定运行。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种服务器故障处理设备。
参照图1,图1为本发明实施例方案中涉及的服务器故障处理设备的硬件结构示意图。本发明实施例中,服务器故障处理设备可以包括处理器1001(例如中央处理器CentralProcessing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及服务器故障处理程序。其中,处理器1001可以调用存储器1005中存储的服务器故障处理程序,并执行本发明实施例提供的服务器故障处理方法。
第二方面,本发明实施例提供了一种服务器故障处理方法,所述服务器故障处理方法应用于服务器的操作系统。
一实施例中,参照图2,图2为本发明服务器故障处理方法一实施例的流程示意图。如图2所示,所述服务器故障处理方法包括:
步骤S10,基于虚拟网卡通道接收基板管理控制器上报的故障告警日志、硬件更换日志以及历史告警日志;
目前,服务器的操作系统和基板管理控制器BMC之间基于IPMI通道进行通信,这种通信方式无法支持文件传输,导致BMC上的日志文件无法直接给到操作系统。
本实施例中,建立服务器的操作系统和BMC之间的虚拟网卡通道,该虚拟网卡通道相比IPMI通道,可以支持加密和压缩传输,传输更快,可以直接对文件进行传输,使用更安全,更高效。虚拟网卡通道建立后,服务器的操作系统即可基于虚拟网卡通道接收基板管理控制器上报的故障告警日志、硬件更换日志以及历史告警日志。
进一步地,一实施例中,所述虚拟网卡通道为USB虚拟网卡通道。
本实施例中,在操作系统侧加载内核态网卡驱动,通过查询smbios信息,获取BMC侧USB虚拟网卡IP地址,配置操作系统侧USB虚拟网口IP地址;BMC侧通过网络服务配置本端的USB虚拟网口IP地址。完成上述配置后,基板管理控制器即可通过USB虚拟网卡通道向服务器的操作系统上报故障告警日志、硬件更换日志以及历史告警日志。其中,USB虚拟网卡通道是专用的,可以解决IPMI通道阻塞或无法访问的情况,提高了操作系统和BMC之间数据传输的可靠性,同时由于网络传输速率快,可以直接对日志等大文件进行传输。
步骤S20,根据所述故障告警日志确定发生故障的目标硬件以及故障类型;
本实施例中,操作系统收到BMC上报的故障告警日志、硬件更换日志以及历史告警日志之后,首先根据故障告警日志确定发生故障的目标硬件是哪个,以及故障类型是什么类型。其中,发生故障的目标硬件可以是CPU、内存、UPI总线、PCIE外插卡中的任一个;故障类型分为两种:不可修复错误类型、可修复错误类型。
步骤S30,若故障类型为不可修复错误类型,则根据历史告警日志确定所述目标硬件发生不可修复错误类型故障的第一次数;
本实施例中,当故障类型为不可修复错误类型时,则根据历史告警日志确定发生故障的目标硬件发生不可修复错误类型故障的第一次数。
步骤S40,基于所述第一次数进行故障处理;
本实施例中,可根据第一次数的大小选择不同的处理方式对此次故障进行处理。例如,当第一次数大于或等于某个设定值时,说明该目标硬件发生不可修复错误类型故障的次数比较多,则需要对该目标硬件进行更换,因此可输出目标硬件更换提醒,以供维护人员收到该提醒后对目标硬件进行更换;当第一次数小于某个设定值时,说明该目标硬件发生不可修复错误类型故障的次数比较少,无需对其进行更换,仅需对其进行隔离操作即可。
进一步地,一实施例中,步骤S40包括:
当所述第一次数与服务器工作时长的比值小于第一阈值,对所述目标硬件进行隔离操作;当所述第一次数与服务器工作时长的比值大于或等于第一阈值,输出目标硬件更换提醒。
本实施例中,在得到目标硬件发生不可修复错误类型故障的第一次数后,基于第一次数和服务器工作时长综合确定故障处理策略。具体的,先计算第一次数与服务器工作时长的比值,然后将比值与第一阈值进行比较,若比值小于第一阈值,则说明该目标硬件发生不可修复错误类型故障的次数比较少,无需对其进行更换,仅需对其进行隔离操作即可;若比值大于或等于第一阈值,则说明该目标硬件发生不可修复错误类型故障的次数比较多,则需要对该目标硬件进行更换,因此可输出目标硬件更换提醒,以供维护人员收到该提醒后对目标硬件进行更换。需要说明的是,第一阈值根据实际情况进行设置,在此不做限制。
步骤S50,若故障类型为可修复错误类型,则根据硬件更换日志以及历史告警日志确定所述目标硬件发生可修复错误类型故障的第二次数、所述目标硬件被更换的第三次数以及所述目标硬件的历史访问次数;
本实施例中,当故障类型为可修复错误类型时,则根据历史告警日志确定目标硬件发生可修复错误类型故障的第二次数以及目标硬件的历史访问次数,根据硬件更换日志确定目标硬件被更换的第三次数。其中,历史告警日志中可包含每个硬件发生各类型故障的次数和历史访问次数,也可以只包含当前发生故障的目标硬件发生各类型故障的次数和历史访问次数;硬件更换日志中可包含每个硬件被更换的次数或是只包含当前发生故障的目标硬件被更换的次数。
步骤S60,基于所述第二次数、第三次数以及历史访问次数进行故障处理。
本实施例中,第二次数越大、第三次数越小以及历史访问次数越大,说明目标硬件故障是由其本身性能引起的概率就越大,基于这一判断准则即可根据第二次数、第三次数以及历史访问次数的数值确定故障处理策略,从而进行故障处理。
本实施例中,基于虚拟网卡通道接收基板管理控制器上报的故障告警日志、硬件更换日志以及历史告警日志;根据所述故障告警日志确定发生故障的目标硬件以及故障类型;若故障类型为不可修复错误类型,则根据历史告警日志确定所述目标硬件发生不可修复错误类型故障的第一次数;基于所述第一次数进行故障处理;若故障类型为可修复错误类型,则根据硬件更换日志以及历史告警日志确定所述目标硬件发生可修复错误类型故障的第二次数、所述目标硬件被更换的第三次数以及所述目标硬件的历史访问次数;基于所述第二次数、第三次数以及历史访问次数进行故障处理。通过本实施例,建立服务器的操作系统与基板管理控制器之间的虚拟网卡通道,使得操作系统可基于虚拟网卡通道接收基板管理控制器上报的各类日志文件,从而根据各类日志文件进行故障处理,提高了故障处理效率,保证了服务器的稳定运行。
进一步地,一实施例中,步骤S60包括:
当第二次数与服务器工作时长的比值小于第二阈值,则检测第三次数是否大于零;若第三次数不大于零,则对所述目标硬件进行隔离操作;当第二次数与服务器工作时长的比值大于或等于第二阈值,则对所述目标硬件进行隔离操作。
本实施例中,先计算第二次数与服务器工作时长的比值,若该比值大于或等于第二阈值,说明目标硬件发生可修复错误类型故障的次数比较多,由于可修复错误类型故障的严重程度不高,因此无需对其进行更换,而是对目标硬件进行隔离操作;若该比值小于第二阈值,则检测第三次数是否大于零,若第三次数不大于零,说明该目标硬件未更换过,则说明可能是因为目标硬件本身导致的本次故障,因此对目标硬件进行隔离操作。需要说明的是,第二阈值根据实际情况进行设置,在此不做限制。
进一步地,一实施例中,在所述则检测第三次数是否大于零的步骤之后,还包括:
若第三次数大于零,则计算第三次数、历史访问次数以及服务器工作时长的乘积;若第二次数与所述乘积的比值大于或等于第三阈值,则对所述目标硬件进行隔离操作。
本实施例中,若第三次数大于零,则计算第三次数、历史访问次数以及服务器工作时长的乘积,然后计算第二次数与乘积的比值,再将该比值与第三阈值进行比较。若比值大于或等于第三阈值,则认为本次故障是目标硬件本身导致的,则对目标硬件进行隔离操作。需要说明的是,第三阈值根据实际情况进行设置,在此不做限制。
进一步地,一实施例中,在所述计算第三次数、历史访问次数以及服务器工作时长的乘积的步骤之后,还包括:
若第二次数与所述乘积的比值小于第三阈值,则检测主板更换次数是否大于第四阈值;若主板更换次数大于第四阈值,则输出安装异常提醒;若主板更换次数小于或等于第四阈值,则输出主板更换提醒。
本实施例中,若第二次数与乘积的比值小于第三阈值,则确定本次故障不是目标硬件本身导致的,则需检测主板更换次数是否大于第四阈值。若主板更换次数大于第四阈值,则说明主板无故障,故障可能是由于安装原因导致的,则输出安装异常提醒,以供维护人员检查目标硬件在主板上的安装情况;若主板更换次数小于或等于第四阈值,则确认本次故障是主板导致的,则输出主板更换提醒,以供维护人员对主板进行更换。
进一步地,一实施例中,所述对所述目标硬件进行隔离操作的步骤包括:
以目标硬件对应的隔离操作策略对目标硬件进行隔离操作。
本实施例中,对于每个硬件而言,均设置有对应的隔离操作策略。例如,当发生故障的目标硬件为UPI总线时,则对其进行隔离操作的具体步骤为:先对UPI总线做降速处理,检测降速处理后UPI总线是否仍存在故障,若仍存在故障,则隔离通过UPI总线连接的两个CPU中的任一个,且不访问UPI总线。当发生故障的目标硬件为CPU时,依次隔离CPU上的核心,若某个核心被隔离后,CPU仍存在故障,则隔离下个核心,直至某个核心被隔离后,故障解除,则将该核心隔离。当发生故障的目标硬件为内存时,根据MCA解析出内存的物理地址,然后隔离该物理地址对应的逻辑地址。当发生故障的目标硬件为PCIE时,检测link状态是否错误,若是,则对PCIE进行降速处理,检测降速处理后link状态是否恢复正常,若未恢复正常,则使对应的PCIE slot无效。
第三方面,本发明实施例还提供一种服务器故障处理系统。
一实施例中,参照图3,图3为本发明服务器故障处理系统一实施例的架构示意图。如图3所示,服务器故障处理系统包括:
接收模块10,用于基于虚拟网卡通道接收基板管理控制器上报的故障告警日志、硬件更换日志以及历史告警日志;
第一确定模块20,用于根据所述故障告警日志确定发生故障的目标硬件以及故障类型;
第二确定模块30,用于若故障类型为不可修复错误类型,则根据历史告警日志确定所述目标硬件发生不可修复错误类型故障的第一次数;
第三确定模块40,用于若故障类型为可修复错误类型,则根据硬件更换日志以及历史告警日志确定所述目标硬件发生可修复错误类型故障的第二次数、所述目标硬件被更换的第三次数以及所述目标硬件的历史访问次数;
处理模块50,用于基于所述第一次数进行故障处理,还用于基于所述第二次数、第三次数以及历史访问次数进行故障处理。
进一步地,一实施例中,处理模块50,用于:
当所述第一次数与服务器工作时长的比值小于第一阈值,对所述目标硬件进行隔离操作;
当所述第一次数与服务器工作时长的比值大于或等于第一阈值,输出目标硬件更换提醒。
进一步地,一实施例中,处理模块50,用于:
当第二次数与服务器工作时长的比值小于第二阈值,则检测第三次数是否大于零;
若第三次数不大于零,则对所述目标硬件进行隔离操作;
当第二次数与服务器工作时长的比值大于或等于第二阈值,则对所述目标硬件进行隔离操作。
进一步地,一实施例中,处理模块50,用于:
若第三次数大于零,则计算第三次数、历史访问次数以及服务器工作时长的乘积;
若第二次数与所述乘积的比值大于或等于第三阈值,则对所述目标硬件进行隔离操作。
进一步地,一实施例中,处理模块50,用于:
若第二次数与所述乘积的比值小于第三阈值,则检测主板更换次数是否大于第四阈值;
若主板更换次数大于第四阈值,则输出安装异常提醒;
若主板更换次数小于或等于第四阈值,则输出主板更换提醒。
进一步地,一实施例中,当所述目标硬件为UPI总线,处理模块50,用于:
对UPI总线做降速处理,若降速处理后UPI总线仍存在故障,则隔离通过UPI总线连接的两个CPU中的任一个,且不访问UPI总线。
进一步地,一实施例中,所述虚拟网卡通道为USB虚拟网卡通道。
其中,上述服务器故障处理系统中各个模块的功能实现与上述服务器故障处理方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有服务器故障处理程序,其中所述服务器故障处理程序被处理器执行时,实现如上述的服务器故障处理方法的步骤。
其中,服务器故障处理程序被执行时所实现的方法可参照本发明服务器故障处理方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。