[go: up one dir, main page]

CN120973576A - 服务器启动故障维护方法、系统、存储介质及计算机程序产品 - Google Patents

服务器启动故障维护方法、系统、存储介质及计算机程序产品

Info

Publication number
CN120973576A
CN120973576A CN202511082759.3A CN202511082759A CN120973576A CN 120973576 A CN120973576 A CN 120973576A CN 202511082759 A CN202511082759 A CN 202511082759A CN 120973576 A CN120973576 A CN 120973576A
Authority
CN
China
Prior art keywords
backup system
server
firmware
backup
core
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202511082759.3A
Other languages
English (en)
Inventor
万梦佳
徐绪龙
陈志列
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Yanxiang Asia Pacific Electronic Equipment Technology Co ltd
Original Assignee
Shenzhen Qianhai Yanxiang Asia Pacific Electronic Equipment Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Yanxiang Asia Pacific Electronic Equipment Technology Co ltd filed Critical Shenzhen Qianhai Yanxiang Asia Pacific Electronic Equipment Technology Co ltd
Priority to CN202511082759.3A priority Critical patent/CN120973576A/zh
Publication of CN120973576A publication Critical patent/CN120973576A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种服务器启动故障维护方法、系统、存储介质及计算机程序产品,涉及服务器技术领域,所述方法包括:在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位;将备份系统地址请求标志位传递至主控核心,主控核心根据备份系统地址请求标志位从预先存放的备份系统固件程序中获取备份系统地址信息,备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;读取备份系统地址信息指向的备份系统固件资源;将备份系统固件资源映射至控制芯片组,控制芯片组读取备份系统固件资源进行硬件初始化,引导启动服务器。以低成本实现高可靠且不受带内服务器故障影响的服务器启动故障维护。

Description

服务器启动故障维护方法、系统、存储介质及计算机程序产品
技术领域
本申请涉及服务器技术领域,尤其涉及服务器启动故障维护方法、系统、存储介质及计算机程序产品。
背景技术
在服务器技术架构中,BMC(Baseboard Management Controller,基板管理控制器)和BIOS(Basic Input Output System,基础输入输出系统)协同工作,为服务器的管理与启动提供关键支持。若BIOS程序损坏或异常会导致服务器无法完成开机自检,主流冗余设计方案包括两类:采用通过在Flash芯片中烧录两份BIOS固件镜像,当主镜像启动失败时,由控制器切换至备份镜像;或者,采用独立于主板的额外BIOS芯片,通过平台控制器集线器的SPI接口实现主备切换。前者无法克服Flash器件本身的物理失效风险,且两份镜像共用同一存储介质,若Flash芯片发生全局性故障,冗余机制将彻底失效;后者需增加专用芯片及配套电路,导致物料成本上升、主板布线复杂度增加,且容易出现切换失败的情况。
因此,如何以低成本实现高可靠且不受带内服务器故障影响的服务器故障维护,成为本申请亟需解决的问题。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种服务器启动故障维护方法,旨在解决如何以低成本实现高可靠且不受带内服务器故障影响的服务器故障维护的技术问题。
为实现上述目的,本申请提出一种服务器启动故障维护方法,应用于基板管理控制器芯片的协处理核心,所述方法包括:
在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位;
将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,以供所述主控核心根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;
接收所述主控核心返回的所述备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源;
将所述备份系统固件资源映射至控制芯片组,以供所述控制芯片组读取所述备份系统固件资源进行硬件初始化,引导启动所述服务器。
在一实施例中,所述在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位的步骤包括:
以预设时间间隔定时读取所述服务器中主基础输入输出系统的监控状态标志位,基于所述监控状态标志位判断所述主基础输入输出系统的启动状态;
当所述主基础输入输出系统的启动状态为重启状态且重启次数小于预设重启阈值时,记录触发所述主基础输入输出系统重启的重启事件,发出系统启动失败告警;
当所述主基础输入输出系统的启动状态为重启状态且重启次数等于所述预设重启阈值时,触发所述主基础输入输出系统的软件中断,发出系统出错告警,并设置所述备份系统地址请求标志位。
在一实施例中,所述接收所述主控核心返回的所述备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源的步骤包括:
接收所述主控核心以共享内存方式返回的所述备份系统地址信息,对所述备份系统地址信息进行特定标识信息验证;
若所述特定标识信息验证通过,则根据所述备份系统地址信息从所述闪存芯片中完整读取预先存放的所述备份系统固件资源,并从所述闪存芯片中读取双重校验字段。
在一实施例中,所述将所述备份系统固件资源映射至控制芯片组的步骤包括:
使用所述双重校验字段对所述备份系统固件资源进行循环冗余校验和纵向冗余校验;
在所述循环冗余校验通过且所述纵向冗余校验通过的条件下,将所述备份系统固件资源映射至所述控制芯片组。
在一实施例中,所述将所述备份系统固件资源映射至所述控制芯片组的步骤之后还包括:
对所述备份系统地址信息、所述循环冗余校验的校验结果、所述纵向冗余校验的校验结果进行日志记录;
将所述主基础输入输出系统的重启事件和所述备份系统固件资源的调用事件写入系统日志。
此外,为实现上述目的,本申请还提出一种服务器启动故障维护方法,应用于基板管理控制器芯片的主控核心,所述方法包括:
接收所述基板管理控制器芯片的协处理核心传递的备份系统地址请求标志位,所述备份系统地址请求标志位是所述协处理核心在服务器的主基础输入输出系统被触发软件中断的条件下设置的;
根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;
将所述备份系统地址信息传递至所述协处理核心,以供所述协处理核心读取所述备份系统地址信息指向的备份系统固件资源,将所述备份系统固件资源映射至控制芯片组,由所述控制芯片组读取所述备份系统固件资源进行硬件初始化,引导启动服务器。
在一实施例中,所述根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息的步骤包括:
轮询所述备份系统地址请求标志位,监控所述备份系统地址请求标志位的变更情况;
当所述备份系统地址请求标志位变更为有效状态时,从所述闪存芯片中读取所述基板管理控制器固件程序后的结束地址、所述备份系统固件程序的固件起始地址、以及双重校验字段的校验段起始地址;
基于所述结束地址、所述固件起始地址、以及所述校验段起始地址得到所述备份系统地址信息。
此外,为实现上述目的,本申请还提出一种服务器启动故障维护系统,所述服务器启动故障维护系统包括包括:
基板管理控制器芯片协处理核心,用于在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位,将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源,将所述备份系统固件资源映射至控制芯片组;
基板管理控制器芯片主控核心,用于根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息;
闪存芯片,用于以分区方式预先存放所述备份系统固件程序与基板管理控制器固件程序;
控制芯片组,用于读取所述备份系统固件资源进行硬件初始化,引导启动服务器。
此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的服务器启动故障维护方法的步骤。
此外,为实现上述目的,本申请还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的服务器启动故障维护方法的步骤。
本申请提出的一个或多个技术方案,至少具有以下技术效果:
在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位;将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,以供所述主控核心根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源;将所述备份系统固件资源映射至控制芯片组,以供所述控制芯片组读取所述备份系统固件资源进行硬件初始化,并引导启动服务器。在本申请中,利用BMC带外管理优势,将备份系统固件程序,即备份BIOS固件程序,与BMC固件程序(基板管理控制器固件程序)以分区方式共置于同一Flash闪存芯片,消除服务器带内故障的影响,且由于BMC作为带外管理芯片,其稳定性极高,将备份BIOS固件程序与BMC固件程序绑定,可以增强备份BIOS固件程序稳定性。另外,备份BIOS固件程序与BMC固件共用一颗闪存芯片,无需额外BIOS芯片,显著降低物料成本;进一步地,由BMC内部协处理核心在检测到BIOS启动失败并触发软件中断后,先设置备份系统地址请求标志位并将其传送给主控核心,再由主控核心把备份BIOS的备份系统地址信息返回给协处理核心;协处理核心按该地址信息读取备份系统固件资源,并把备份固件资源直接映射到控制芯片组,从而绕开主CPU及带内路径完成硬件初始化与服务器操作系统启动,整个切换过程由BMC带外完成,不依赖服务器主处理器及带内链路,故不受服务器带内故障影响;利用BMC双核分工(协处理核心专职故障处理,主控核心继续执行日常管理任务),既保持BMC正常功能又实现快速、可靠的BIOS故障恢复。综上所述,本申请利用BMC的带外管理功能,将备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片,结合BMC双核分工:协处理核心专职故障处理,主控核心继续执行日常管理任务,以低成本实现高可靠且不受带内服务器故障影响的服务器启动故障维护。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请服务器启动故障维护方法第一实施例提供的流程示意图;
图2为本申请服务器启动故障维护方法第四实施例提供的流程示意图;
图3为本申请服务器启动故障维护方法第五实施例提供的流程示意图;
图4为闪存芯片中备份系统固件程序存放示意图;
图5提供了本申请设计的服务器启动故障维护系统框架图;
图6为本申请提供的备份BIOS启动方法流程图;
图7为本申请实施例服务器启动故障维护装置的模块结构示意图;
图8为本申请实施例中服务器启动故障维护方法涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请的技术方案,并不用于限定本申请。
为了更好的理解本申请的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
本申请实施例的主要解决方案是:基板管理控制器芯片的协处理核心在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位;将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,以供所述主控核心根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源;将所述备份系统固件资源映射至控制芯片组,以供所述控制芯片组读取所述备份系统固件资源进行硬件初始化,引导启动所述服务器。
本申请实施例考虑到:在现代服务器技术中,BMC与BIOS协同工作,为服务器的管理与启动提供关键支持。BMC作为嵌入式微控制器,具备远程管理、硬件监控等功能,允许管理员在操作系统未启动时,通过网络访问服务器,执行如重启、查看硬件状态等操作。BIOS则负责服务器启动时的硬件初始化,执行POST(上电自检),为操作系统加载创造条件。两者结合,BMC能在系统启动前就监测BIOS的执行状态,并在启动过程中获取BIOS提供的硬件信息,实现对服务器全方位的管理和维护,尤其在数据中心和云计算环境,极大地提升了服务器的可管理性与运行可靠性。在服务器技术架构中,BIOS主导启动流程,负责硬件初始化与操作系统加载,奠定稳定运行基础。BMC则辅助控制,远程管理与硬件监控功能。在这种设计中,如果BIOS出现带内故障,无法引导系统启动,只能通过人工重新烧录BIOS程序才能完成故障恢复,这段时间服务器无法正常工作,将对产品的稳定性造成影响。
为解决在服务器启动阶段,BIOS故障的情况下,不能正常完成服务器操作系统启动的状况,主流的冗余设计方案提出:采用通过在Flash芯片中烧录两份BIOS固件镜像,当主镜像启动失败时,由控制器切换至备份镜像;或者,采用独立于主板的额外BIOS芯片,通过平台控制器集线器的SPI接口实现主备切换。前者无法克服Flash器件本身的物理失效风险,且两份镜像共用同一存储介质,若Flash芯片发生全局性故障,冗余机制将彻底失效;后者需增加专用芯片及配套电路,导致物料成本上升、主板布线复杂度增加,且容易出现切换失败的情况。
因此,本申请提供一种解决方案,不受带内服务器故障的影响,拥有较高的稳定性的同时,无需人工烧录BIOS程序,在BIOS引导系统故障,系统无法工作时,能够恢复系统的正常启动流程,确保服务器能够正常工作,以低成本实现高可靠且不受带内服务器故障影响的服务器启动故障维护。
从上述实施例可知,本申请利用BMC带外管理优势,将备份系统固件程序,即备份BIOS固件程序,与BMC固件程序(基板管理控制器固件程序)以分区方式共置于同一闪存芯片,消除服务器带内故障的影响,且由于BMC作为带外管理芯片,其稳定性极高,将备份BIOS固件程序与BMC绑定,可以增强备份BIOS固件程序稳定性。备份BIOS固件程序与BMC固件共用一颗闪存芯片,无需额外BIOS芯片,显著降低物料成本;进一步地,由BMC内部协处理核心在检测到BIOS启动失败并触发软件中断后,先设置“备份系统地址请求标志位”并将其传送给主控核心,再由主控核心把备份BIOS的备份系统地址信息返回给协处理核心;协处理核心按该地址信息读取备份系统固件资源,并把备份固件资源直接映射到控制芯片组,从而绕开主CPU及带内路径完成硬件初始化与系统启动,整个切换过程由BMC带外完成,不依赖服务器主处理器及带内链路,故不受带内故障影响;同时利用BMC双核分工(协处理核心专职故障处理,主控核心继续执行日常管理任务),既保持BMC正常功能又实现快速、可靠的BIOS故障恢复。综上所述,本申请利用BMC的带外管理功能,将备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片,结合BMC双核分工:协处理核心专职故障处理,主控核心继续执行日常管理任务,以低成本实现高可靠且不受带内服务器故障影响的BIOS系统故障维护。
基于此,本申请实施例提供了一种服务器启动故障维护方法,参照图1,图1为本申请服务器启动故障维护方法第一实施例的流程示意图。
本实施例中,所述服务器启动故障维护方法应用于基板管理控制器芯片的协处理核心,所述服务器启动故障维护方法包括步骤S10~S40:
步骤S10,在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位;
BMC芯片指Aspeed AST2600芯片,其内部集成有ARM Cortex-A7主控核心(A7核)与ARM Cortex-M3协处理器(M3核),分别负责复杂管理与实时监控任务。主控核心即指A7核,负责运行BMC主固件,处理远程管理、固件更新等任务。协处理核心即M3核,专注于实时监控、硬件加速及低功耗任务。
服务器的主基础输入输出系统指服务器启动过程中用于执行硬件初始化、自检并引导操作系统加载的主BIOS,与备份BIOS相区别;软件中断指的是由M3核在检测到主BIOS系统启动异常后主动触发的一种中断机制,用于通知进入异常处理流程。备份系统地址请求标志位指一个由M3核设置的系统状态标识,用于向A7核请求获取备份基础输入输出系统固件的地址信息。该标志位通常以全局变量的形式写入共享内存区域,供A7核周期性轮询读取。
另外,需要说明的是,设置备份系统地址请求标志位的目的在于建立M3核与A7核之间的通信机制,确保当主BIOS启动失败时,能够可靠地切换到备份固件。此机制避免传统方案中依赖外部芯片或人工干预的问题,提高自愈能力。在一种可能的实施方式中,备份系统地址请求标志位可以是一个布尔型变量,其值为1表示请求已发起,值为0表示无请求;在另一种实施方式中,备份系统地址请求标志位也可采用位图结构,将多个状态信息压缩为一个整型变量,以提高内存利用率。
例如,在一具体的实施方式中,当M3核连续三次检测到看门狗定时器超时(即未收到喂狗信号),即判定主BIOS启动失败,此时M3核通过向共享内存地址写入标志位值0x01,触发A7核在下一轮询周期中识别该请求,并准备返回备份系统地址信息。
步骤S20,将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,以供所述主控核心根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;
备份系统地址信息指备份系统固件程序在闪存芯片中的起始地址、长度等元数据。分区方式存放指将闪存芯片划分为多个逻辑区域,其中第一区域存放BMC固件程序,第二区域为结束/开始标志段,第三区域存放备份基础输入输出系统固件,第四区域为校验值段。
另外,需要说明的是,该传递过程通过共享内存机制实现,M3核将备份系统地址请求标志位写入共享内存后,A7核通过周期性轮询(如每50ms一次)检测该标志位状态。一旦检测到标志位有效,A7核即从闪存芯片中读取备份系统地址信息。在一种可能的实施方式中,地址信息以结构体形式存储,包含起始地址、长度及校验值;在另一种实施方式中,也可采用JSON格式序列化存储,便于扩展。
步骤S30,接收所述主控核心返回的所述备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源;
接收指M3核通过共享内存机制从A7核获取备份系统地址信息的过程。备份系统固件资源指的是备份基础输入输出系统程序固件二进制数据,其内容包含硬件初始化代码、中断向量表及引导加载程序等。读取指M3核通过SPI(Serial Peripheral Interface,串行外设接口)从闪存芯片的备份系统固件程序存储区提取该二进制数据,并将其加载至内存缓冲区中。
另外,需要说明的是,接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源的核心在于确保备份系统固件资源的完整性与正确性。M3核在读取数据后,会立即进行双重校验:首先计算数据的CRC32值(循环冗余校验32位)并与预存的校验值比对,其次通过LRC(纵向冗余校验)算法验证字节级一致性。若任一校验失败,触发错误处理流程(如记录日志并重试)。在一种可能的实施方式中,数据读取采用DMA方式以提高效率;在另一种实施方式中,也可通过缓存预取机制减少SPI访问延迟。
步骤S40,将所述备份系统固件资源映射至控制芯片组,以供所述控制芯片组读取所述备份系统固件资源进行硬件初始化,并引导启动服务器。
映射指通过USB OTG控制器的硬件重映射功能,将备份基础输入输出系统固件资源虚拟化为一个USB存储设备,使得控制芯片组能够通过USB接口访问该固件。控制芯片组指服务器主板上的核心逻辑芯片组,负责协调CPU、内存及外设的通信,并执行基础输入输出系统固件以完成硬件初始化。硬件初始化包括对CPU寄存器、内存控制器、PCIe设备等关键组件的配置与测试。
另外,需要说明的是,将所述备份系统固件资源映射至控制芯片组以供控制芯片组读取所述备份系统固件资源进行硬件初始化,并重启服务器,目的是绕过故障的主基础输入输出系统,直接通过备份固件完成服务器的启动流程。USB映射技术使得控制芯片组无需额外硬件支持即可识别备份固件,显著降低设计复杂度。在一种可能的实施方式中,映射过程通过配置USB OTG控制器的描述符表实现,将内存缓冲区注册为Mass Storage设备;在另一种实施方式中,也可采用虚拟总线技术模拟SPI接口行为。
本实施例提供了一种服务器启动故障维护方法,利用BMC带外管理优势,将备份系统固件程序,即备份BIOS固件程序,与BMC固件程序(基板管理控制器固件程序)以分区方式共置于同一闪存芯片,消除服务器带内故障的影响,且由于BMC作为带外管理芯片,其稳定性极高,将备份BIOS固件程序与BMC绑定,可以增强备份BIOS固件程序稳定性。备份BIOS固件程序与BMC固件共用一颗闪存芯片,无需额外BIOS芯片,显著降低物料成本;进一步地,由BMC内部协处理核心在检测到主BIOS启动失败并触发软件中断后,先设置“备份系统地址请求标志位”并将其传送给主控核心,再由主控核心把备份BIOS的备份系统地址信息返回给协处理核心;协处理核心按该地址信息读取备份系统固件资源,并把备份固件资源直接映射到控制芯片组,从而绕开主CPU及带内路径完成硬件初始化与系统启动,整个切换过程由BMC带外完成,不依赖服务器主处理器及带内链路,故不受带内故障影响;同时利用BMC双核分工(协处理核心专职故障处理,主控核心继续执行日常管理任务),既保持BMC正常功能又实现快速、可靠的BIOS故障恢复。综上所述,本申请利用BMC的带外管理功能,将备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片,结合BMC双核分工:协处理核心专职故障处理,主控核心继续执行日常管理任务,以低成本实现高可靠且不受带内服务器故障影响的服务器启动故障维护。
在一种可行的实施方式中,步骤S10可以包括步骤S11~S23:
步骤S11,以预设时间间隔定时读取所述服务器中主基础输入输出系统的监控状态标志位,基于所述监控状态标志位判断所述主基础输入输出系统的启动状态;
预设时间间隔指由基板管理控制器的协处理器(即M3核)设定的周期性检测周期,该周期以毫秒级精度运行,用于持续监控服务器启动流程的实时状态,典型取值可为100毫秒。主基础输入输出系统的监控状态标志位指的是由控制芯片组在看门狗定时器机制下维护的一个硬件寄存器位,该位用于反映主基础输入输出系统是否在规定时间内完成喂狗操作,若未完成则标志位被置1,表示启动异常。“启动状态”是一个综合判断结果,包括“正常启动中”“启动失败”“重启中”等状态,用于后续决策流程。
通过周期性轮询机制,实现对主基础输入输出系统启动过程的实时监测,及时发现启动异常并触发后续处理机制。采用M3核轮询,不依赖于服务器操作系统或其带内通信路径,完全由基板管理控制器的协处理器独立完成,具备高度可靠性。在一种可能的实施方式中,监控状态标志位可通过LPC总线的特定寄存器地址读取;在另一种实施方式中,也可通过共享内存映射方式由M3核直接访问。
例如,在一具体的实施方式中,M3核每100毫秒通过LPC总线读取看门狗状态寄存器,若该寄存器第0位为1,则判定服务器启动失败,需要进行重启。否则判定为正常启动中。
步骤S12,当所述主基础输入输出系统的启动状态为重启状态且重启次数小于预设重启阈值时,记录触发所述主基础输入输出系统重启的重启事件,发出系统启动失败告警;
需要说明的是,本申请实施例中,重启状态指的是主基础输入输出系统因启动失败而被控制芯片组强制重启的状态,该状态由M3核通过监控状态标志位连续多次为1而判定。重启次数是一个由M3核维护的计数器,用于记录主基础输入输出系统在启动过程中发生连续失败的次数。预设重启阈值是一个系统配置参数,典型取值为3次,用于界定是否进入备份切换流程。
重启事件指一次完整的启动失败与重启过程,其事件信息包括失败时间戳、失败原因代码、重启计数等。系统启动失败告警指通过IPMI协议向远程管理终端发送的SNMPTrap或Redfish事件,用于通知运维人员当前系统处于不稳定状态。
另外,需要说明的是,本申请提出三级故障处理原则:首次故障重启→小于预设重启阈值故障记录→等于预设重启阈值故障切换的阶梯式响应。当主基础输入输出系统的启动状态为重启状态且重启次数小于预设重启阈值时,记录触发所述主基础输入输出系统重启的重启事件,发出系统启动失败告警提前记录异常行为并发出告警,便于运维人员介入排查问题,避免问题扩大。告警信息会被写入系统事件日志中,支持后续审计与故障追踪。
例如,在一具体的实施方式中,当M3核检测到主基础输入输出系统连续失败2次(即重启次数=2,小于预设阈值3),将记录一条SEL事件,内容为“BIOS启动失败,重启次数=2,时间戳=2025-07-24 10:15:32”,并通过IPMI通道向远程管理终端发送告警。
步骤S13,当所述主基础输入输出系统的启动状态为重启状态且重启次数等于预设重启阈值时,触发所述主基础输入输出系统的软件中断,发出系统出错告警,并设置备份系统地址请求标志位。
软件中断通过共享内存中的中断标志位实现。系统出错告警表示主基础输入输出系统已无法通过重启恢复,必须启用备份固件。备份系统地址请求用于向A7核请求获取备份基础输入输出系统固件的存储地址信息,该标志位通过共享内存传递,确保双核间可靠通信。
通过软件中断机制,避免传统方案中依赖外部硬件或人工干预的问题,实现完全自动化的故障恢复流程。在一种可能的实施方式中,软件中断可通过设置共享内存地址0xFFFF0200的值为0xFF触发;在另一种实施方式中,也可通过消息队列机制实现异步通知。
例如,在一具体的实施方式中,当M3核检测到重启次数=3(即等于预设阈值),立即向共享内存地址0xFFFF0200写入0xFF触发软件中断,同时记录一条高优先级SEL事件“主BIOS启动失败,启用备份固件”,并通过Redfish接口向远程管理系统发送事件JSON,随后,M3核设置备份系统地址请求标志位为0x01,等待A7核响应。
基于本申请第一实施例,提出本申请的第二实施例。在本申请第二实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。
本实施例中,接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源的步骤S30可以包括步骤S31~S32:
步骤S31,接收所述主控核心以共享内存方式返回的备份系统地址信息,对所述备份系统地址信息进行特定标识信息验证;
特定标识信息验证指数据一致性检查机制,用于确认所获取的备份系统地址信息确实指向合法的备份固件区域,而非误读或损坏的数据段。
进行特定标识信息验证的核心目的在于防止因地址信息错误导致的固件加载失败或系统崩溃。验证机制依赖于闪存芯片中预先写入的特定标识符,只有通过验证的地址信息才会被用于后续读取操作,否则将记录错误日志并中止切换流程。在一种可能的实施方式中,特定标识信息可以为固定长度的魔数;在另一种实施方式中,也可采用结构化头部信息,包含版本号、长度字段及校验值。
步骤S32,若所述特定标识信息验证通过,则根据所述备份系统地址信息从所述闪存芯片中完整读取备份系统固件资源,并从所述闪存芯片中读取双重校验字段。
双重校验字段指用于验证固件完整性的两组校验值,分别为CRC32校验值(32位循环冗余校验)与LRC校验值(纵向冗余校验),两者共同构成一个冗余校验体系,确保数据在读取过程中未被破坏或篡改。
完整读取备份系统固件资源,并从所述闪存芯片中读取双重校验字段的核心目标是在确保数据完整性的前提下,将备份固件安全加载至内存,为后续映射与启动做准备。读取过程由M3协处理器发起,可以采用DMA方式从闪存芯片中连续读取指定长度的数据,并在读取完成后立即进行双重校验。若任一校验失败,将记录错误日志并中止切换流程,避免使用损坏的固件启动系统。
在本实施例中,通过特定标识信息验证+双重校验两级完整性保障机制,实现对备份基础输入输出系统固件的可信加载,共同支撑服务器在主BIOS故障场景下的高可靠自愈启动。
基于本申请第一实施例和/或第二实施例,提出本申请的第三实施例。在本申请第三实施例中,与上述实施例相同或相似的内容,可以参考上文介绍,后续不再赘述。
本实施例中,将所述备份系统固件资源映射至控制芯片组的步骤S40可以包括步骤S41~S42:
步骤S41,使用所述双重校验字段对所述备份系统固件资源进行循环冗余校验和纵向冗余校验;
双重校验字段指预先被写入闪存芯片中、位于备份系统固件程序末尾的一段结构化校验数据,其内容由两部分组成:第一部分为循环冗余校验值(CRC32值),用于检测备份系统固件资源在存储或传输过程中是否发生了比特级错误;第二部分为纵向冗余校验值(LRC值),用于对每一列字节进行异或累加校验,从而提供完整性保障。
循环冗余校验是一种基于多项式除法的哈希算法,能够检测出单比特错误、双比特错误、奇数位错误以及突发长度小于等于32位的所有错误模式。纵向冗余校验是一种简单的纵向异或校验方法,通过对备份系统固件资源中每一列对应的字节进行异或运算,生成一个单字节校验值,用于补充CRC32无法覆盖的特定错误模式。
另外,需要说明的是,该验证操作由M3核独立完成,其目的在于确保即将被映射并用于系统启动的备份系统固件资源在任何时候都保持完整和一致。只有当CRC32值与LRC值均与双重校验字段中的预期值匹配时,M3核才会继续执行后续映射与启动流程;若任一校验失败,M3核将立即中止切换流程,并记录“校验失败”事件至系统事件日志与IPMI告警日志中,防止因加载损坏固件而引发二次故障。在一种可能的实施方式中,LRC计算可采用逐字节异或后再取反的方式,以增强对全零错误的检测能力。
步骤S42,在所述循环冗余校验通过且所述纵向冗余校验通过的条件下,将所述备份系统固件资源映射至控制芯片组。
循环冗余校验通过指的是计算所得的CRC32值与双重校验字段中预存的CRC32值完全一致,表明备份系统固件资源未发生比特级错误。纵向冗余校验通过指的是计算所得的LRC值与双重校验字段中预存的LRC值完全一致,表明备份系统固件资源未发生字节级错误。映射至控制芯片组指的是通过USB OTG控制器的硬件重映射功能,将备份系统固件资源以USB大容量存储设备的形式呈现给控制芯片组,使控制芯片组能够像访问本地SPI闪存一样读取固件内容并完成服务器启动。
另外,需要说明的是,将所述备份系统固件资源映射至控制芯片组的前提条件是双重校验全部通过,确保所映射的备份系统固件资源是可信且完整的。映射过程由M3核触发,并通过配置USB OTG控制器的描述符表实现,整个过程无需人工干预,也无需额外硬件切换。
在本实施例中,通过“双重校验全部通过后才执行映射”的刚性约束,彻底杜绝因数据损坏、位翻转或误读造成的“带病启动”,实现零误判加载;由于校验与映射全部由BMC内部M3核完成,无需人工烧录、无需额外硬件切换,降低成本,提升处理效率。
基于本申请上述实施例,提出本申请的第四实施例。在本申请第四实施例中,与上述实施例相同或相似的内容,可以参考上文介绍,后续不再赘述。
在此基础上,请参考图2,图2为本申请提出的第四实施例流程示意图,如图2所示,将所述备份系统固件资源映射至控制芯片组的步骤S40之后还包括:
步骤S50,对所述备份系统地址信息、所述循环冗余校验的校验结果、所述纵向冗余校验的校验结果进行日志记录;
循环冗余校验的校验结果指的是32位CRC32计算值与闪存芯片中预存CRC32值比对后生成的布尔型状态(通过/失败)。纵向冗余校验的校验结果指的是8位LRC计算值与闪存芯片中预存LRC值比对后生成的布尔型状态(通过/失败)。日志记录指的是将上述三类信息以标准化格式写入基板管理控制器的非易失性事件存储区,包括系统事件日志(SEL)与智能平台管理接口日志(IPMI Event Log),供远程管理平台实时查询与离线审计。
另外,需要说明的是,该日志记录的作用是建立一条完整的可追溯链:从“发现主基础输入输出系统故障”到“成功加载备份固件”的每一步关键数据均被固化存储,为后续故障根因分析提供量化依据。在一种可能的实施方式中,日志条目采用TLV(Type-Length-Value)格式,Type字段标识事件类别,Length字段描述数据长度,Value字段存放十六进制原始数据;在另一种实施方式中,也可采用JSON格式,便于Redfish接口直接解析。
步骤S60,将所述主基础输入输出系统的重启事件和所述备份系统固件资源的调用事件写入系统日志。
主基础输入输出系统的重启事件指的是由控制芯片组在检测到主基础输入输出系统启动失败后触发的硬件复位动作,其事件记录包含重启原因代码、累计重启次数以及时间戳。备份系统固件资源的调用事件指的是M3核在确认双重校验通过后,通过USB OTG映射机制将备份基础输入输出系统固件呈现给控制芯片组并开始启动流程的动作,其事件记录包含调用时间、固件版本号及映射结果状态。系统日志是一个广义概念,既包括基板管理控制器的SEL与IPMI日志,也包括可通过Redfish或Web界面查询的扩展系统事件日志(ESL),支持长期留存与集中分析。
另外,需要说明的是,写入重启事件和调用事件的目的是形成“故障-响应-恢复”的闭环记录,使运维人员能够在单一界面中查看“何时重启、为何重启、是否已切换备份固件、切换是否成功”的完整信息,无需跨系统比对日志。在一种可能的实施方式中,通过Syslog over TLS将事件实时推送至集中日志服务器。
在本实施例中,通过把备份系统地址信息、CRC32校验结果、LRC校验结果以及主BIOS重启事件、备份BIOS调用事件全部写入系统日志,形成一条从故障发生、验证通过到成功切换的完整时间链与证据链,使得运维人员无需拆机即可远程精准定位“何时失败、失败几次、何时切换、切换是否成功”,从而把传统需要现场排查数十分钟甚至数小时的故障诊断过程压缩到秒级日志检索,提高服务器启动故障处理效率。
本申请实施例提供了一种服务器启动故障维护方法,参照图3,图3为本申请服务器启动故障维护方法第五实施例的流程示意图。
本实施例中,所述服务器启动故障维护方法应用于基板管理控制器芯片的主控核心,所述服务器启动故障维护方法包括步骤A10~A30:
步骤A10,接收所述基板管理控制器芯片的协处理核心传递的备份系统地址请求标志位,所述备份系统地址请求标志位是所述协处理核心在服务器的主基础输入输出系统在被触发软件中断的条件下设置的;
基板管理控制器芯片的协处理核心指的是集成在AST2600芯片内部的ARMCortex-M3处理器,其专职于实时任务处理和低延迟中断响应。备份系统地址请求标志位是一个由M3核通过共享内存机制向ARM Cortex-A7主控核心发送的状态变量,用于表明服务器的主基础输入输出系统已连续启动失败并触发软件中断,请求获取备份固件的地址信息。服务器的主基础输入输出系统指的是主BIOS固件,其负责完成上电自检与操作系统引导。软件中断是由ARM Cortex-M3处理器在检测到启动失败次数达到预设阈值后主动生成的异步通知信号,用于唤醒ARM Cortex-A7主控核心进入备份切换流程。
另外,需要说明的是,该接收动作由ARM Cortex-A7主控核心,即A7核通过周期轮询共享内存完成,其目的在于建立双核间的高速、可靠通信通道,确保在带外管理路径下即可感知主BIOS故障,避免带内路径失效导致的信息孤岛。在一种可能的实施方式中,备份系统地址请求标志位以一个32位无符号整型变量形式存放;在另一种实施方式中,也可采用消息队列或Mailbox寄存器实现中断式通知,以降低轮询开销。
步骤A20,根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;
备份系统固件程序指的是与主BIOS功能相同但用于冗余恢复的第二份基础输入输出系统固件,其以二进制形式预先烧录在闪存芯片的第三分区。分区方式存放指的是将闪存芯片逻辑划分为四个连续区域:第一区域存放基板管理控制器固件程序,第二区域为标识段,第三区域存放备份系统固件程序,第四区域存放双重校验字段。
另外,需要说明的是,A7核在确认标志位有效后,通过SPI总线以DMA方式读取闪存芯片,解析出备份系统地址信息,并对其进行合法性检查。在一种可能的实施方式中,备份系统地址信息以C语言结构体形式存储;在另一种可能的实施方式中,也可采用TLV(Type-Length-Value)编码以提高扩展性。
步骤A30,将所述备份系统地址信息传递至所述协处理核心,以供所述协处理核心读取所述备份系统地址信息指向的备份系统固件资源,将所述备份系统固件资源映射至控制芯片组,由所述控制芯片组读取所述备份系统固件资源进行硬件初始化,引导启动服务器。
需要说明的是,本申请实施例中,“传递”指的是A7核通过共享内存将已验证的备份系统地址信息安全地回写给M3核,完成双核间第二阶段握手。“映射至控制芯片组”指的是M3核利用USB OTG控制器的硬件重映射功能,将内存中的备份系统固件资源虚拟为USB大容量存储设备,使得控制芯片组能够通过USB总线而非SPI总线访问固件。“控制芯片组”指的是服务器主板上的平台控制器集线器,其在上电后负责选择启动设备并执行固件完成硬件初始化。“引导启动服务器”指的是控制芯片组在完成内存、CPU、外设初始化后,将操作系统加载器装入内存并跳转执行,最终使服务器进入可用状态。
另外,需要说明的是,该操作实现了“带外校验、带外映射、带内启动”的三级协同:M3核在确认地址信息无误后,先通过DMA从闪存芯片读取备份固件到内存,再执行CRC32+LRC双重校验,校验通过后立即配置USB OTG描述符,将内存缓冲区注册为启动设备,整个流程无需人工干预且与主BIOS故障路径完全隔离。
在本实施例中,利用BMC带外管理优势,将备份系统固件程序,即备份BIOS固件程序,与BMC固件程序(基板管理控制器固件程序)以分区方式共置于同一Flash闪存芯片,消除服务器带内故障的影响,且由于BMC作为带外管理芯片,其稳定性极高,将备份BIOS固件程序与BMC固件程序绑定,可以增强备份BIOS固件程序稳定性。另外,备份BIOS固件程序与BMC固件共用一颗闪存芯片,无需额外BIOS芯片,显著降低物料成本;进一步地,由BMC内部协处理核心在检测到BIOS启动失败并触发软件中断后,先设置备份系统地址请求标志位并将其传送给主控核心,再由主控核心把备份BIOS的备份系统地址信息返回给协处理核心;协处理核心按该地址信息读取备份系统固件资源,并把备份固件资源直接映射到控制芯片组,从而绕开主CPU及带内路径完成硬件初始化与服务器操作系统启动,整个切换过程由BMC带外完成,不依赖服务器主处理器及带内链路,故不受服务器带内故障影响;利用BMC双核分工(协处理核心专职故障处理,主控核心继续执行日常管理任务),既保持BMC正常功能又实现快速、可靠的BIOS故障恢复。综上所述,本申请利用BMC的带外管理功能,将备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片,结合BMC双核分工:协处理核心专职故障处理,主控核心继续执行日常管理任务,以低成本实现高可靠且不受带内服务器故障影响的服务器启动故障维护。
在一种可行的实施方式中,步骤A20可以包括步骤A21~A23:
步骤A21,轮询所述备份系统地址请求标志位,监控所述备份系统地址请求标志位的变更情况;
本申请实施例中,“轮询”指的是由A7核以固定时间间隔主动读取共享内存中的备份系统地址请求标志位,以检测M3核是否已发出备份系统地址请求。备份系统地址请求标志位是一个位于共享内存区域的变量,当其值发生例如0到1的变化时,表示主基础输入输出系统已连续启动失败并达到预设阈值,触发备份切换流程。“监控所述变更情况”是指A7通过比较前后两次读取值来判断标志位是否被置位,从而决定是否进入后续地址获取阶段。
另外,需要说明的是,该轮询机制确保A7核能够在毫秒级响应M3核的请求,同时不占用中断资源,保持系统稳定性。在一种可能的实施方式中,轮询周期可配置为50ms;在另一种可能的实施方式中,也可通过配置Mailbox中断寄存器实现事件驱动式唤醒,以降低CPU占用率。
例如,在一具体的实施方式中,ARM Cortex-A7主控核心每50ms读取共享内存地址0xFFFF0200,当发现该地址由0x00000000变为0x00000001时,立即判定备份系统地址请求标志位已有效,需要从闪存芯片中读取备份系统地址。
步骤A22,当所述备份系统地址请求标志位变更为有效状态时,从所述闪存芯片中读取所述基板管理控制器固件程序后的结束地址、所述备份系统固件程序的固件起始地址、以及双重校验字段的校验段起始地址;
步骤A23,基于所述结束地址、所述固件起始地址、以及所述校验段起始地址得到备份系统地址信息。
备份系统地址信息包括基板管理控制器固件程序后的结束地址、所述备份系统固件程序的固件起始地址、以及双重校验字段的校验段起始地址。如图4所示,图4为闪存芯片中备份系统固件程序存放示意图。参考图4,备份BIOS固件程序和BMC固件程序一起存放在一颗flash当中,flash第一段存放BMC固件程序,flash第二段为在BMC固件程序的末尾增加一段特定结束数据段/开始数据段,对于烧录BMC程序时,该段作为结束标志,启用BIOS时,该段作为开始标志,第三段存放备份BIOS固件程序,第四段为备份BIOS程序的校验段。
A7核通过SPI总线以DMA方式一次性读取该flash中第二段数据段的起始位置,即BMC固件程序后的结束地址;第三段备份BIOS固件程序的起始地址;第四段校验段的起始地址,读取上述三个地址形成结构化地址信息,确保后续固件加载与校验的准确性。
示例性地,为了助于理解本申请上述实施例中的服务器启动故障维护方法的实现流程,请参照图5,图5提供了本申请设计的服务器启动故障维护系统框架图。如图5所示,服务器启动故障维护系统包括服务器侧与BMC模块侧,其中,服务器侧包括中央处理器、控制芯片组、主BIOS程序固件;BMC模块采用Aspeeed AST2600 BMC芯片作为BMC模块主控芯片,即基板管理控制器芯片,BMC芯片中包含协处理核心M3和主控核心A7,BMC模块中还包含固件flash芯片,即闪存芯片,flash芯片中以分区方式存放BMC固件程序和备份BIOS程序固件。
flash芯片和BMC模块主控芯片通过SPI(串行外设接口,Serial PeripheralInterface)连接,BMC芯片中的M3核通过中断机制和共享内存与A7核通信。服务器侧与BMC模块通信通过控制芯片组与AST2600芯片的硬件连接线路,其中包括但不限于LPC以及USB2.0。
在此技术上,参考图6,图6为本申请提供的备份BIOS启动方法流程图,如图6所示,首先,在服务器操作系统正常启动过程中,自检控制器芯片组利用主BIOS程序固件进行硬件初始化和服务器操作系统引导时,定期调用喂狗函数,以防止看门狗定时器超时。例如,每5秒调用一次喂狗函数,向看门狗定时器的控制寄存器写入0xAA。如果看门狗在规定时间内收到喂狗(系统正常)则看门狗标志位为0,若未收到喂狗(系统异常)则看门狗标志位被置1。
进一步地,M3设计一个任务,定期读取存储看门狗标志位的硬件寄存器。例如,每100毫秒读取一次该标志位的状态。如果读取到看门狗标志位被置位(值为1),表示服务器启动失败,M3核判断系统重启次数,当启动大于预定的次数(例如3)后,M3核立即触发软件中断。
进一步地,在触发软件中断的同时,M3核设置一个特定的标志位,用于向A7核请求备份BIOS程序固件的地址信息。这个标志位通过共享内存传递给A7核。例如,将一个全局变量设置为1,A7核定期检查该变量的值,当发现其值为1时,A7核从预先存储的备份BIOS程序固件信息中获取地址信息,并通过共享内存将该地址信息返回给M3核。
进一步地,M3核通过共享内存接收到A7核写入的备份BIOS程序固件地址信息,M3核会立即启动数据获取流程,将该地址信息完整读取并获取到内存空间。然后M3核通过USBOTG控制器的硬件重映射功能,将获取到的备份BIOS程序固件映射至控制器芯片组,使得控制器芯片组能够顺利访问到备份BIOS程序固件。
最后,控制器芯片组读取备份BIOS程序固件中的相关代码和数据,开始硬件初始化工作,对系统中的各类硬件设备配置与调试,确保硬件设备处于正常可用的状态。在硬件初始化顺利完成后,控制器芯片组会进一步利用备份BIOS程序固件中的引导程序,引导系统启动,从而成功替代出现故障的主BIOS程序固件芯片,保障系统的稳定运行与正常启动。
另外地,BMC记录重启事件、重启操作的等日志到SEL Event以及做告警提示记录至IPMI日志告警:主BIOS启动错误以提示运维人员或者用户。
需要说明的是,上述示例仅用于理解本申请,并不构成对本申请服务器启动故障维护方法的限定,基于此技术构思进行更多形式的简单变换,均在本申请的保护范围内。
本申请还提供一种服务器启动故障维护装置,请参照图7,所述服务器启动故障维护装置包括:
协处理核心模块10,用于在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位,将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源,将所述备份系统固件资源映射至控制芯片组;
主控核心模块20,用于根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息;
备份存储模块30,用于以分区方式预先存放所述备份系统固件程序与基板管理控制器固件程序;
控制芯片组模块40,用于读取所述备份系统固件资源进行硬件初始化,引导启动服务器。
本申请提供的服务器启动故障维护装置,采用上述实施例中的服务器启动故障维护方法,能够解决服务器启动故障维护的技术问题。与现有技术相比,本申请提供的服务器启动故障维护装置的有益效果与上述实施例提供的服务器启动故障维护方法的有益效果相同,且所述服务器启动故障维护装置中的其他技术特征与上述实施例方法公开的特征相同,在此不做赘述。
本申请提供一种服务器启动故障维护设备,服务器启动故障维护设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的服务器启动故障维护方法。
下面参考图8,其示出了适于用来实现本申请实施例的服务器启动故障维护设备的结构示意图。本申请实施例中的服务器启动故障维护设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(Personal Digital Assistant:个人数字助理)、PAD(Portable Application Description:平板电脑)、PMP(Portable Media Player:便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的服务器启动故障维护设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,服务器启动故障维护设备可以包括处理装置1001(例如中央处理器、图形处理器等),其可以根据存储在只读存储器1002中的程序或者从存储装置1003加载到随机访问存储器1004中的程序而执行各种适当的动作和处理。在随机访问存储器1004中,还存储有服务器启动故障维护设备操作所需的各种程序和数据。处理装置1001、只读存储器1002以及随机访问存储器1004通过总线1005彼此相连。输入/输出接口1006也连接至总线。通常,以下系统可以连接至输入/输出接口1006:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置1007;包括例如液晶显示器(LCD:Liquid Crystal Display)、扬声器、振动器等的输出装置1008;包括例如磁带、硬盘等的存储装置1003;以及通信装置1009。通信装置1009可以允许服务器启动故障维护设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的服务器启动故障维护设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本申请公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置1003被安装,或者从只读存储器1002被安装。在该计算机程序被处理装置1001执行时,执行本申请公开实施例的方法中限定的上述功能。
本申请提供的服务器启动故障维护设备,采用上述实施例中的服务器启动故障维护方法,能解决服务器启动故障维护的技术问题。与现有技术相比,本申请提供的服务器启动故障维护设备的有益效果与上述实施例提供的服务器启动故障维护方法的有益效果相同,且该服务器启动故障维护设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
应当理解,本申请公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
本申请提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令(即计算机程序),计算机可读程序指令用于执行上述实施例中的服务器启动故障维护方法。
本申请提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统或器件,或者任意以上的组合。计算机可读存储介质的更具体地例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM:Random Access Memory)、只读存储器(ROM:Read Only Memory)、可擦式可编程只读存储器(EPROM:Erasable Programmable Read Only Memory或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM:CD-Read Only Memory)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(RadioFrequency:射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是服务器启动故障维护设备中所包含的;也可以是单独存在,而未装配入服务器启动故障维护设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被服务器启动故障维护设备执行时,使得服务器启动故障维护设备:在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位;将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,以供所述主控核心根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源;将所述备份系统固件资源映射至控制芯片组,以供所述控制芯片组读取所述备份系统固件资源进行硬件初始化,引导启动所述服务器。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN:LocalArea Network)或广域网(WAN:Wide Area Network)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本申请提供的可读存储介质为计算机可读存储介质,所述计算机可读存储介质存储有用于执行上述服务器启动故障维护方法的计算机可读程序指令(即计算机程序),能够解决服务器启动故障维护的技术问题。与现有技术相比,本申请提供的计算机可读存储介质的有益效果与上述实施例提供的服务器启动故障维护方法的有益效果相同,在此不做赘述。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的服务器启动故障维护方法的步骤。
本申请提供的计算机程序产品能够解决服务器启动故障维护的技术问题。与现有技术相比,本申请提供的计算机程序产品的有益效果与上述实施例提供的服务器启动故障维护方法的有益效果相同,在此不做赘述。
以上所述仅为本申请的部分实施例,并非因此限制本申请的专利范围,凡是在本申请的技术构思下,利用本申请说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本申请的专利保护范围内。

Claims (10)

1.一种服务器启动故障维护方法,其特征在于,应用于基板管理控制器芯片的协处理核心,所述服务器启动故障维护方法包括:
在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位;
将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,以供所述主控核心根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;
接收所述主控核心返回的所述备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源;
将所述备份系统固件资源映射至控制芯片组,以供所述控制芯片组读取所述备份系统固件资源进行硬件初始化,引导启动所述服务器。
2.如权利要求1所述的服务器启动故障维护方法,其特征在于,所述在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位的步骤包括:
以预设时间间隔定时读取所述服务器中主基础输入输出系统的监控状态标志位,基于所述监控状态标志位判断所述主基础输入输出系统的启动状态;
当所述主基础输入输出系统的启动状态为重启状态且重启次数小于预设重启阈值时,记录触发所述主基础输入输出系统重启的重启事件,发出系统启动失败告警;
当所述主基础输入输出系统的启动状态为重启状态且重启次数等于所述预设重启阈值时,触发所述主基础输入输出系统的软件中断,发出系统出错告警,并设置所述备份系统地址请求标志位。
3.如权利要求1所述的服务器启动故障维护方法,其特征在于,所述接收所述主控核心返回的所述备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源的步骤包括:
接收所述主控核心以共享内存方式返回的所述备份系统地址信息,对所述备份系统地址信息进行特定标识信息验证;
若所述特定标识信息验证通过,则根据所述备份系统地址信息从所述闪存芯片中完整读取预先存放的所述备份系统固件资源,并从所述闪存芯片中读取双重校验字段。
4.如权利要求3所述的服务器启动故障维护方法,其特征在于,所述将所述备份系统固件资源映射至控制芯片组的步骤包括:
使用所述双重校验字段对所述备份系统固件资源进行循环冗余校验和纵向冗余校验;
在所述循环冗余校验通过且所述纵向冗余校验通过的条件下,将所述备份系统固件资源映射至所述控制芯片组。
5.如权利要求4所述的服务器启动故障维护方法,其特征在于,所述将所述备份系统固件资源映射至所述控制芯片组的步骤之后还包括:
对所述备份系统地址信息、所述循环冗余校验的校验结果、所述纵向冗余校验的校验结果进行日志记录;
将所述主基础输入输出系统的重启事件和所述备份系统固件资源的调用事件写入系统日志。
6.一种服务器启动故障维护方法,其特征在于,应用于基板管理控制器芯片的主控核心,所述服务器启动故障维护方法包括:
接收所述基板管理控制器芯片的协处理核心传递的备份系统地址请求标志位,所述备份系统地址请求标志位是所述协处理核心在服务器的主基础输入输出系统被触发软件中断的条件下设置的;
根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息,其中,所述备份系统固件程序与基板管理控制器固件程序以分区方式存放于同一闪存芯片;
将所述备份系统地址信息传递至所述协处理核心,以供所述协处理核心读取所述备份系统地址信息指向的备份系统固件资源,将所述备份系统固件资源映射至控制芯片组,由所述控制芯片组读取所述备份系统固件资源进行硬件初始化,引导启动服务器。
7.如权利要求6所述的方法,其特征在于,所述根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取备份系统地址信息的步骤包括:
轮询所述备份系统地址请求标志位,监控所述备份系统地址请求标志位的变更情况;
当所述备份系统地址请求标志位变更为有效状态时,从所述闪存芯片中读取所述基板管理控制器固件程序后的结束地址、所述备份系统固件程序的固件起始地址、以及双重校验字段的校验段起始地址;
基于所述结束地址、所述固件起始地址、以及所述校验段起始地址得到所述备份系统地址信息。
8.一种服务器启动故障维护系统,其特征在于,所述服务器启动故障维护系统包括:
基板管理控制器芯片协处理核心,用于在服务器的主基础输入输出系统被触发软件中断的条件下,设置备份系统地址请求标志位,将所述备份系统地址请求标志位传递至所述基板管理控制器芯片的主控核心,接收所述主控核心返回的备份系统地址信息,并读取所述备份系统地址信息指向的备份系统固件资源,将所述备份系统固件资源映射至控制芯片组;
基板管理控制器芯片主控核心,用于根据所述备份系统地址请求标志位,从预先存放的备份系统固件程序中获取所述备份系统地址信息;
闪存芯片,用于以分区方式预先存放所述备份系统固件程序与基板管理控制器固件程序;
控制芯片组,用于读取所述备份系统固件资源进行硬件初始化,引导启动服务器。
9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的服务器启动故障维护方法的步骤。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的服务器启动故障维护方法的步骤。
CN202511082759.3A 2025-08-04 2025-08-04 服务器启动故障维护方法、系统、存储介质及计算机程序产品 Pending CN120973576A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202511082759.3A CN120973576A (zh) 2025-08-04 2025-08-04 服务器启动故障维护方法、系统、存储介质及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202511082759.3A CN120973576A (zh) 2025-08-04 2025-08-04 服务器启动故障维护方法、系统、存储介质及计算机程序产品

Publications (1)

Publication Number Publication Date
CN120973576A true CN120973576A (zh) 2025-11-18

Family

ID=97649825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202511082759.3A Pending CN120973576A (zh) 2025-08-04 2025-08-04 服务器启动故障维护方法、系统、存储介质及计算机程序产品

Country Status (1)

Country Link
CN (1) CN120973576A (zh)

Similar Documents

Publication Publication Date Title
CN117389790B (zh) 可恢复故障的固件检测系统、方法、存储介质及服务器
US10055296B2 (en) System and method for selective BIOS restoration
JP7351933B2 (ja) エラーリカバリ方法及び装置
JP6333410B2 (ja) 障害処理方法、関連装置、およびコンピュータ
WO2018095107A1 (zh) 一种bios程序的异常处理方法及装置
CN118656307B (zh) 基板管理控制器的故障检测方法、服务器、介质和产品
WO2024260013A1 (zh) 内存故障处理方法、装置、计算机设备和存储介质
WO2024139423A1 (zh) 故障检测方法及计算机设备
CN117873771B (zh) 一种系统宕机处理方法、装置、设备、存储介质及服务器
CN111198832A (zh) 一种处理方法和电子设备
CN114356708A (zh) 一种设备故障监控方法、装置、设备及可读存储介质
JP4299634B2 (ja) 情報処理装置及び情報処理装置の時計異常検出プログラム
CN114611116A (zh) 设备启动方法、装置、电子设备及计算机可读存储介质
CN120973576A (zh) 服务器启动故障维护方法、系统、存储介质及计算机程序产品
CN118819936A (zh) 一种检测方法、装置、设备及可读存储介质
CN117687822A (zh) 一种内存故障的处理方法、装置、终端设备、介质和产品
JP2015130023A (ja) 情報記録装置、情報処理装置、情報記録方法、及び情報記録プログラム
CN118860701A (zh) 一种硬件故障的处理方法、装置、电子设备及存储介质
CN113064746A (zh) 一种处理内存可恢复错误的系统、方法及介质
CN121029497B (zh) 设备标识符的匹配管理方法及设备
US20050172173A1 (en) Apparatus and method for monitoring system status in an embedded system
TWI715005B (zh) 用於監控基板管理控制器之常駐程序的方法
CN121233386A (zh) 设备故障的处理方法、管理固件、电子设备及存储介质
CN119025030A (zh) 一种日志存储方法、bmc及计算设备
US20060230196A1 (en) Monitoring system and method using system management interrupt

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination