一种故障记录方法、装置、设备及机器可读存储介质与流程

专利2023-08-15  99

1.本公开涉及通信
技术领域
:,尤其是涉及一种故障记录方法、装置、设备及机器可读存储介质。
背景技术
::2.数据中心中的服务器设备保留量越来越大,少则几万台设备,多者上百万台设备。而数据中心的运维人员又非常紧缺。如何让运维工作更方便便捷,提高人均维护设备的数量,是个持续性的研究话题。3.服务器运维,有一个典型的任务:当设备硬件发生异常时,要能快速定位到触发异常的部件,并进行快速更换,减少设备的宕机时间,让设备尽快恢复到运行状态。4.基于x86的服务器设备,采用带内与带外分离的架构。带内又分为bios与os两部分,带外是bmc。带内专注于业务,带外专注于服务器设备的运维管理。这种架构有其优势,但也带来了一些问题,带外与带内的权限是分离的,导致带外人员可能访问不了带内的信息,包括设备故障需要的信息,带内发现异常后,不容易传递到带外来。特别是那种带内对时间要求比较敏感的场景,更不容易传递到带外来,带内系统os定位尽量硬件无关,故导致bmc单元在发生故障时难以感知到硬件相关的信息。技术实现要素:5.有鉴于此,本公开提供一种故障记录方法、装置及电子设备、机器可读存储介质,以改善上述难以感知到硬件相关信息的问题。6.具体地技术方案如下:7.本公开提供了一种故障记录方法,应用于服务器的bios单元,所述方法包括:响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,所述os故障信息为带内os感知到的关联于硬件故障事件的信息;将所述故障信息记录至预设存储区域,所述故障信息包括os故障信息和bios故障信息,所述bios故障信息为bios单元感知到的关联于硬件故障事件包括有硬件信息的信息;使bmc单元获取存储于预设存储区域的故障信息。8.作为一种技术方案,所述响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,包括:响应于系统管理中断smi,通过高级配置和电源管理接口acpi获取带内系统的os故障信息。9.作为一种技术方案,所述将所述故障信息记录至预设存储区域,包括:将所述故障信息记录至专用存储单元,所述专用存储单元与bios单元、bmc单元分别通过i2c总线连接;或,将所述故障信息记录至内存中的预设区域,所述内存中的预设区域为内存中未注册至带内系统的预设区域。10.作为一种技术方案,所述使bmc单元获取存储于预设存储区域的故障信息,包括:在系统故障重启时,读取存储于预设存储区域的故障信息,并发送至bmc单元;或,所述故障信息记录至预设存储区域后,告知bmc单元相关信息,以使bmc单元读取预设存储区域获取故障信息。11.本公开同时提供了一种故障记录装置,应用于服务器的bios单元,所述装置包括:信息模块,用于响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,所述os故障信息为带内os感知到的关联于硬件故障事件的信息;存储模块,用于将所述故障信息记录至预设存储区域,所述故障信息包括os故障信息和bios故障信息,所述bios故障信息为bios单元感知到的关联于硬件故障事件包括有硬件信息的信息;处理模块,用于使bmc单元获取存储于预设存储区域的故障信息。12.作为一种技术方案,所述响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,包括:响应于系统管理中断smi,通过高级配置和电源管理接口acpi获取带内系统的os故障信息。13.作为一种技术方案,所述将所述故障信息记录至预设存储区域,包括:将所述故障信息记录至专用存储单元,所述专用存储单元与bios单元、bmc单元分别通过i2c总线连接;或,将所述故障信息记录至内存中的预设区域,所述内存中的预设区域为内存中未注册至带内系统的预设区域。14.作为一种技术方案,所述使bmc单元获取存储于预设存储区域的故障信息,包括:在系统故障重启时,读取存储于预设存储区域的故障信息,并发送至bmc单元;或,所述故障信息记录至预设存储区域后,告知bmc单元相关信息,以使bmc单元读取预设存储区域获取故障信息。15.本公开同时提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的故障记录方法。16.本公开同时提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的故障记录方法。17.本公开提供的上述技术方案至少带来了以下有益效果:18.由bios单元感知关联于硬件故障的硬件信息作为bios故障信息,并结合从带内os获取的作为os故障信息的带内错误信息,构成故障新信息记录至预设存储区域,使得bmc单元获取到该故障信息后,可以得到本次硬件故障的硬件相关信息,从而快速定位故障源。附图说明19.为了更加清楚地说明本公开实施方式或者现有技术中的技术方案,下面将对本公开实施方式或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施方式,对于本领域普通技术人员来讲,还可以根据本公开实施方式的这些附图获得其他的附图。20.图1是本公开一种实施方式中的故障记录方法的流程图;21.图2是本公开一种实施方式中的故障记录装置的结构图;22.图3是本公开一种实施方式中的电子设备的硬件结构图。具体实施方式23.在本公开实施方式使用的术语仅仅是出于描述特定实施方式的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。24.应当理解,尽管在本公开实施方式可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。25.本公开提供一种故障记录方法、装置及电子设备、机器可读存储介质,以改善上述难以感知到硬件相关信息的问题。26.具体地技术方案如后述。27.在一种实施方式中,本公开提供了一种故障记录方法,应用于服务器的bios单元,所述方法包括:响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,所述os故障信息为带内os感知到的关联于硬件故障事件的信息;将所述故障信息记录至预设存储区域,所述故障信息包括os故障信息和bios故障信息,所述bios故障信息为bios单元感知到的关联于硬件故障事件包括有硬件信息的信息;使bmc单元获取存储于预设存储区域的故障信息。28.具体地,如图1,包括以下步骤:29.步骤s11,响应于硬件故障事件,通过指定接口获取带内系统的os故障信息。所述os故障信息为带内os感知到的关联于硬件故障事件的信息,包括内核异常、宕机等。30.步骤s12,将所述故障信息记录至预设存储区域,所述故障信息包括os故障信息和bios故障信息。所述bios故障信息为bios单元感知到的关联于硬件故障事件包括有硬件信息的信息,包括故障源的位置信息、关键错误信息等。31.步骤s13,使bmc单元获取存储于预设存储区域的故障信息。32.由bios单元感知关联于硬件故障的硬件信息作为bios故障信息,并结合从带内os获取的作为os故障信息的带内错误信息,构成故障新信息记录至预设存储区域,使得bmc单元获取到该故障信息后,可以得到本次硬件故障的硬件相关信息,从而快速定位故障源33.在一种实施方式中,所述响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,包括:响应于系统管理中断smi,通过高级配置和电源管理接口acpi获取带内系统的os故障信息。34.在一种实施方式中,所述将所述故障信息记录至预设存储区域,包括:将所述故障信息记录至专用存储单元,所述专用存储单元与bios单元、bmc单元分别通过i2c总线连接;或,将所述故障信息记录至内存中的预设区域,所述内存中的预设区域为内存中未注册至带内系统的预设区域。35.在一种实施方式中,所述使bmc单元获取存储于预设存储区域的故障信息,包括:在系统故障重启时,读取存储于预设存储区域的故障信息,并发送至bmc单元;或,所述故障信息记录至预设存储区域后,告知bmc单元相关信息,以使bmc单元读取预设存储区域获取故障信息。36.作为补充说明,对于预设存储区域,可以在硬件设备设计时,为bios和os预留存储空间,集成sram、eeprom、flash等介质,也可以直接在启动的时候,保留部分内存区域不注册给os,只供bios使用使用。利用acpi的特性来实现带内异常的记录,可以有效得到已有os的支持,避免在各os中额外安装驱动才能支持。bios在smi中断中,对上述故障信息进行保存,bios可以采用acpi方式,获取os异常的信息,把带内故障上下文信息记录到预设存储区域;os发生异常时,采用acpi方式,嵌入到biossmi上,通过bios提供的接口来输出os故障信息,在一种方案中也可把预留的介质注册给os,os中添加对应的驱动,以使得在异常时,os直接把os故障信息记录到介质中。在系统重启时,bios选择时机把记录的内容传递给bmc,也可以由bios向bmc提供存储信息,由bmc主动访问存储区域来获取记录在上面的故障信息。37.在一种实施方式中,给bios添加一块存储空间,可以通过i2c方式来供bios访问,也可设计为双主访问方式让bmc可以直接访问,也可以利用内存的spd空间中用户可写区域来保存对应的信息。38.bios对硬件错误设置为固件优先模式,让bios先感知,并处理硬件错误。当错误发生时,获取故障源的位置信息、关键错误信息作为bios故障信息,记录到存在介质中。采用高性能的存储介质,避免影响到smi中断的处理时间。39.s可以根据需要,把一些硬件相关的信息,以smbios、apci接口通过bios写入到该存储介质中。40.bios把获取到的故障信息保存下来,并传递给bmc。在一种方式中bios记录故障信息到预设存储区域中,并通过gpio等方式通知bmc获取对应的故障信息,bmc主动从预设存储区域中获取记录的故障信息。在另一种方式中,bmc与bios之间有高速互联通信通道,如基于espi或i3c通道、设置基于网络、usb、pcie等,可把bmc上的部分存储区域模拟成主机bios可访问的设备,bios在重启后,由bios向bmc传输故障信息并写入到bmc的存储区域。41.bmc对收取到的信息进行解析,并同时收集必要的上下文信息,根据策略决定是否对用户进行故障上报,明确触发故障的源头部件。42.bmc根据预置的处理方案,及用户提供的处理策略来决定怎么处理这个错误。默认情况下,处理方式如下,对于ce(可纠正错误)错误(比如内存eccce错误、pciebuscorrectableerror、intel的upicorrectableerror),把对应的错误关联到对应的设备上(例如:参与后续的综合诊断),直接对bios进行应答,让bios忽略这类错误;对于ucer(可恢复的不可纠正错误)错误,把错误信息记录下来后,对bios进行应答,并描述恢复策略,bios根据这一信息填写apci的apei错误处理表,指导os进行后续的恢复动作;对于uce错误,若os还能继续运行的话,bmc应答bios,让os自行决定后续处理方式。43.bios也可进一步传递上下文信息给bmc(比如os授权可获取的软件故障上下文信息),若os无法继续运行的话,触发ierrmca信息的获取。44.在一种实施方式中,本公开同时提供了一种故障记录装置,如图2,应用于服务器的bios单元,所述装置包括:信息模块21,用于响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,所述os故障信息为带内os感知到的关联于硬件故障事件的信息;存储模块22,用于将所述故障信息记录至预设存储区域,所述故障信息包括os故障信息和bios故障信息,所述bios故障信息为bios单元感知到的关联于硬件故障事件包括有硬件信息的信息;处理模块23,用于使bmc单元获取存储于预设存储区域的故障信息。45.在一种实施方式中,所述响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,包括:响应于系统管理中断smi,通过高级配置和电源管理接口acpi获取带内系统的os故障信息。46.在一种实施方式中,所述将所述故障信息记录至预设存储区域,包括:将所述故障信息记录至专用存储单元,所述专用存储单元与bios单元、bmc单元分别通过i2c总线连接;或,将所述故障信息记录至内存中的预设区域,所述内存中的预设区域为内存中未注册至带内系统的预设区域。47.在一种实施方式中,所述使bmc单元获取存储于预设存储区域的故障信息,包括:在系统故障重启时,读取存储于预设存储区域的故障信息,并发送至bmc单元;或,所述故障信息记录至预设存储区域后,告知bmc单元相关信息,以使bmc单元读取预设存储区域获取故障信息。48.装置实施方式与对应的方法实施方式相同或相似,在此不再赘述。49.在一种实施方式中,本公开提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的故障记录方法,从硬件层面而言,硬件架构示意图可以参见图3所示。50.在一种实施方式中,本公开提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的故障记录方法。51.这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。52.上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。53.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。54.本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。55.本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。56.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。57.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。58.本领域技术人员应明白,本公开的实施方式可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施方式、完全软件实施方式、或者结合软件和硬件方面的实施方式的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。59.以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。当前第1页12当前第1页12
技术特征:
1.一种故障记录方法,其特征在于,应用于服务器的bios单元,所述方法包括:响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,所述os故障信息为带内os感知到的关联于硬件故障事件的信息;将所述故障信息记录至预设存储区域,所述故障信息包括os故障信息和bios故障信息,所述bios故障信息为bios单元感知到的关联于硬件故障事件包括有硬件信息的信息;使bmc单元获取存储于预设存储区域的故障信息。2.根据权利要求1所述的方法,其特征在于,所述响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,包括:响应于系统管理中断smi,通过高级配置和电源管理接口acpi获取带内系统的os故障信息。3.根据权利要求1所述的方法,其特征在于,所述将所述故障信息记录至预设存储区域,包括:将所述故障信息记录至专用存储单元,所述专用存储单元与bios单元、bmc单元分别通过i2c总线连接;或,将所述故障信息记录至内存中的预设区域,所述内存中的预设区域为内存中未注册至带内系统的预设区域。4.根据权利要求1或3所述的方法,其特征在于,所述使bmc单元获取存储于预设存储区域的故障信息,包括:在系统故障重启时,读取存储于预设存储区域的故障信息,并发送至bmc单元;或,所述故障信息记录至预设存储区域后,告知bmc单元相关信息,以使bmc单元读取预设存储区域获取故障信息。5.一种故障记录装置,其特征在于,应用于服务器的bios单元,所述装置包括:信息模块,用于响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,所述os故障信息为带内os感知到的关联于硬件故障事件的信息;存储模块,用于将所述故障信息记录至预设存储区域,所述故障信息包括os故障信息和bios故障信息,所述bios故障信息为bios单元感知到的关联于硬件故障事件包括有硬件信息的信息;处理模块,用于使bmc单元获取存储于预设存储区域的故障信息。6.根据权利要求5所述的装置,其特征在于,所述响应于硬件故障事件,通过指定接口获取带内系统的os故障信息,包括:响应于系统管理中断smi,通过高级配置和电源管理接口acpi获取带内系统的os故障信息。7.根据权利要求5所述的装置,其特征在于,所述将所述故障信息记录至预设存储区域,包括:将所述故障信息记录至专用存储单元,所述专用存储单元与bios单元、bmc单元分别通过i2c总线连接;或,将所述故障信息记录至内存中的预设区域,所述内存中的预设区域为内存中未注册至带内系统的预设区域。8.根据权利要求5或7所述的装置,其特征在于,所述使bmc单元获取存储于预设存储区
域的故障信息,包括:在系统故障重启时,读取存储于预设存储区域的故障信息,并发送至bmc单元;或,所述故障信息记录至预设存储区域后,告知bmc单元相关信息,以使bmc单元读取预设存储区域获取故障信息。9.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令,以实现权利要求1-4任一所述的方法。10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-4任一所述的方法。

技术总结
本公开提供一种故障记录方法、装置、设备及机器可读存储介质,该方法包括:响应于硬件故障事件,通过指定接口获取带内系统的OS故障信息;将所述故障信息记录至预设存储区域,所述故障信息包括OS故障信息和BIOS故障信息;使BMC单元获取存储于预设存储区域的故障信息。通过本公开的技术方案,由BIOS单元感知关联于硬件故障的硬件信息作为BIOS故障信息,并结合从带内OS获取的作为OS故障信息的带内错误信息,构成故障新信息记录至预设存储区域,使得BMC单元获取到该故障信息后,可以得到本次硬件故障的硬件相关信息,从而快速定位故障源。从而快速定位故障源。从而快速定位故障源。


技术研发人员:林震华
受保护的技术使用者:新华三信息技术有限公司
技术研发日:2022.05.23
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-4573.html

最新回复(0)