CN115221065A - 一种服务器固件程序纠错自检方法、系统 - Google Patents

一种服务器固件程序纠错自检方法、系统 Download PDF

Info

Publication number
CN115221065A
CN115221065A CN202210873171.XA CN202210873171A CN115221065A CN 115221065 A CN115221065 A CN 115221065A CN 202210873171 A CN202210873171 A CN 202210873171A CN 115221065 A CN115221065 A CN 115221065A
Authority
CN
China
Prior art keywords
bmc
operating system
information
abnormal
server operating
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
CN202210873171.XA
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210873171.XA priority Critical patent/CN115221065A/zh
Publication of CN115221065A publication Critical patent/CN115221065A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于固件异常监控技术领域,具体提供一种服务器固件程序纠错自检方法、系统,所述方法包括如下步骤:对BMC进程的运行进行监控;当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息;服务器操作系统根据异常进程的信息下发对应BMC软件的GDB调试程序到BMC,并通知BMC执行所述GDB调试程序;继续对GDB调试程序的运行进行监控,当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息;服务器操作系统根据错误堆栈信息直接定位异常进程并输出提示信息。通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。

Description

一种服务器固件程序纠错自检方法、系统
技术领域
本发明涉及服务器固件异常监控技术领域,具体涉及一种服务器固件程序纠错自检方法、系统。
背景技术
BMC执行是服器远端管理控制器,英文全称为Baseboard ManagementController,为基板管理控制器。BMC可以实现服务器的相关控制、信息监督等功能,是直观呈现服务器信息的平台。服务器客户可以通过web、ipmitool、snmp工具等访问服务器BMC以获取服务器的信息。BMC本质上是一个嵌入式系统,因此在使用过程中,程序因编码规范、多项目公用代码等影响,其应用软件在实际运行过程中难免会出现程序崩溃等异常状况导致出现故障。在嵌入式系统中发现并消除潜在的程序问题是一件困难的事情。传统上要从观察到的崩溃、挂起或其他计划外的运行行为追溯到根本原因,通常需要付出巨大人力和时间。
开发人员对程序崩溃的最常用手段有收集Log、增加Debug信息,回退代码缩小引入范围、升级Debug版本复现等传统手段,需要重复去定位、分析。对于始终分析不出来的问题常规的是使用GDB调试,利用GDB工具对core信息进行调试,获取错误信息。但是GDB调试的编译程序大小远大于非增加调试信息的程序,实际系统使用中,受Flash、内存大小等其他原因,不适用嵌入式系统使用包含调试信息的程序包进行发布。只能由开发人员先分析问题可能的原因,在增加对应的信息后重新编译升级进去后在BMC本地抓取信息分析。
传统程序异常排查需要开发人员耗费大量时间精力去查,问题发生后范围太大,无法第一时间找到问题点,响应速度慢。需根据分析结果去升级Debug版本验证,测试,从客户角度上也不希望反复升级查找问题原因,问题定位解决后BMC还需升级处理。
发明内容
针对传统程序异常排查需要开发人员耗费大量时间精力去查,问题发生后范围太大,无法第一时间找到问题点,响应速度慢。需根据分析结果去升级Debug版本验证,测试,从客户角度上也不希望反复升级查找问题原因,问题定位解决后BMC还需升级处理的问题,本发明提供一种服务器固件程序纠错自检方法、系统。
第一方面,本发明技术方案提供一种服务器固件程序纠错自检方法,包括如下步骤:
对BMC进程的运行进行监控;
当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息;
服务器操作系统根据异常进程的信息下发对应BMC软件的GDB调试程序到BMC,并通知BMC执行所述GDB调试程序;
继续对GDB调试程序的运行进行监控,当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息;
服务器操作系统根据错误堆栈信息直接定位异常进程并输出提示信息;
通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
优选地,对BMC本地进程的运行进行监控的步骤之前包括:
检测BMC是否有监控管理插件;
若是,执行监控管理插件,执行步骤:对BMC进程的运行进行监控;
若否,将监控管理插件下发给BMC执行,执行步骤:对BMC进程的运行进行监控。
优选地,当设定的通信原则为主从模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,获悉异常进程的信息。
优选地,当设定的通信原则为主从模式通信时,所述的当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息的步骤包括:
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,判断异常进程的信息是否复现;
若异常进程的信息复现,获取监控管理插件生成的错误堆栈信息。
优选地,当设定的通信原则为对等模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
当监控到BMC进程异常时,主动上报异常进程的信息给服务器操作系统。
优选地,当设定的通信原则为对等模式通信时,所述的当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息的步骤包括:
当BMC再次发生进程异常时,将错误堆栈信息收集上报给服务器操作系统。
优选地,该方法还包括:设置BMC重启后自动删除监控管理插件。
优选地,通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错的步骤包括:
根据输出的提示信息进行异常进程的修改;
通过服务器操作系统下发修改后的进程到监控管理插件;
监控管理插件将接收到的修改后的进程存到flash中;
修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
第二方面,本发明技术方案还提供一种服务器固件程序纠错自检系统,包括服务器操作系统和BMC;
服务器操作系统内设置有插件包;其中,插件包包括系统执行的主程序、BMC执行的监控管理插件以及对应BMC软件的GDB调试程序;
进行服务器固件程序纠错自检时,将监控管理插件程序下发给BMC执行;
监控管理插件用于监控、管理BMC进程的运行状态并上报异常信息;
服务器操作系统针对上报的异常信息下发对应的对应BMC软件的GDB调试程序给BMC,并通知BMC监控管理插件放弃原有进程,执行GDB调试程序;
监控管理插件用于持续监控GDB调试程序的运行状态,再次发生进程异常时,监控管理插件将产生的错误堆栈信息传给服务器操作系统;
服务器操作系统用于根据接收到的错误堆栈信息输出异常进程提示信息;根据提示信息完成异常进程的修改后,通过服务器操作系统下发修改后的进程;
监控管理插件将修改后的进程文件存到flash中,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
优选地,监控管理插件与服务器操作系统之间通过主从模式的KCS方式或通过LAN网络形式对等模式进行网络通信交互。
当设定的通信原则为主从模式通信时,服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,获悉异常进程的信息。
相应的,服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,判断异常进程的信息是否复现;
若异常进程的信息复现,获取监控管理插件生成的错误堆栈信息。
当设定的通信原则为对等模式通信时,当监控到BMC进程异常时,主动上报异常进程的信息给服务器操作系统。
相应的,当BMC再次发生进程异常时,将错误堆栈信息收集上报给服务器操作系统。
从以上技术方案可以看出,本发明具有以下优点:通过BMC和OS的插件交互,包含GDB预处理调试信息的程序可直接下发给BMC,BMC插件收集信息后将错误信息返回给OS管理员,开发人员可直接根据信息通过GDB找出此版本BMC具体代码错误。解决后通过OS下发给BMC修改后的正确程序,BMC通过保存、修改配置文件等操作,后续执行新进程,保证程序恢复正常。通过OS、BMC自动交互、下发、执行,可以迅速自动定位、上传问题原因。大大增加了问题解决速度。免去了传统重复升级定位程序崩溃的方法。更高效的服务研发人员,同时避免了程序崩溃问题解决后的版本升级问题。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的装置的示意性框图。
具体实施方式
开发人员对程序崩溃的最常用手段有收集Log、增加Debug信息,回退代码缩小引入范围、升级Debug版本复现等传统手段,需要重复去定位、分析。对于始终分析不出来的问题常规的是使用GDB调试,利用GDB工具对core信息进行调试,获取错误信息。但是GDB调试的编译程序大小远大于非增加调试信息的程序,实际系统使用中,受Flash、内存大小等其他原因,不适用嵌入式系统使用包含调试信息的程序包进行发布。只能由开发人员先分析问题可能的原因,在增加对应的信息后重新编译升级进去后在BMC本地抓取信息分析。
传统程序异常排查需要开发人员耗费大量时间精力去查,问题发生后范围太大,无法第一时间找到问题点,响应速度慢。需根据分析结果去升级Debug版本验证,测试,从客户角度上也不希望反复升级查找问题原因,问题定位解决后BMC还需升级处理。为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明实施例提供一种服务器固件程序纠错自检方法,包括如下步骤:
步骤1:对BMC进程的运行进行监控;
步骤2:当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息;
步骤3:服务器操作系统根据异常进程的信息下发对应BMC软件的GDB调试程序到BMC,并通知BMC执行所述GDB调试程序;
步骤4:继续对GDB调试程序的运行进行监控,当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息;
步骤5:服务器操作系统根据错误堆栈信息直接定位异常进程并输出提示信息;
服务器操作系统和BMC通过监控管理插件下发的方式,实现程序自动纠错功能。下发给BMC的监控管理插件会监测BMC系统信息和管理BMC进程运行。
服务器操作系统对异常的BMC系统进程如web进程,自动下发对应BMC软件的GDB调试程序,并通知BMC监测管理插件执行该GDB调试程序并收集相关信息。GDB调试程序运行的错误堆栈信息上报服务器操作系统,研发人员可根据此信息直接定位问题,省去了研发人员分析、现场定位、重复升级的情况。服务器操作系统可下发BMC新的修改后的进程用于BMC执行,可不进行升级操作解决现网问题。
本发明实施例提供一种服务器固件程序纠错自检方法,包括如下步骤:
S1:检测BMC是否有监控管理插件;
若是,执行步骤S2;若否,执行步骤S3;
S2:执行监控管理插件对BMC进程的运行进行监控;执行步骤S4;
S3:将监控管理插件下发给BMC执行对BMC进程的运行进行监控;执行步骤S4;
S4:当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息;
S5:服务器操作系统根据异常进程的信息下发对应BMC软件的GDB调试程序到BMC,并通知BMC执行所述GDB调试程序;
S6:继续对GDB调试程序的运行进行监控,当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息;
S7:服务器操作系统根据错误堆栈信息直接定位异常进程并输出提示信息;
服务器操作系统和BMC通过监控管理插件下发的方式,实现程序自动纠错功能。下发给BMC的监控管理插件会监测BMC系统信息和管理BMC进程运行。
本发明实施例提供一种服务器固件程序纠错自检方法,包括如下步骤:
S1:检测BMC是否有监控管理插件;
若是,执行步骤S2;若否,执行步骤S3;
S2:执行监控管理插件对BMC进程的运行进行监控;执行步骤S4;
S3:将监控管理插件下发给BMC执行对BMC进程的运行进行监控;执行步骤S4;
S4:当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息;
S5:服务器操作系统根据异常进程的信息下发对应BMC软件的GDB调试程序到BMC,并通知BMC执行所述GDB调试程序;
S6:继续对GDB调试程序的运行进行监控,当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息;
S7:服务器操作系统根据错误堆栈信息直接定位异常进程并输出提示信息;管理人员根据提示信息进行异常进程的代码修改;
S8:通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
需要说明的是,步骤S8中通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错的步骤包括:
S81:根据输出的提示信息进行异常进程的修改;
S82:通过服务器操作系统下发修改后的进程到监控管理插件;
S83:监控管理插件将接收到的修改后的进程存到flash中;
S84:修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。需要说明的是,当设定的通信原则为主从模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,获悉异常进程的信息。
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,判断异常进程的信息是否复现;
若异常进程的信息复现,获取监控管理插件生成的错误堆栈信息。
另外,当设定的通信原则为对等模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
当监控到BMC进程异常时,主动上报异常进程的信息给服务器操作系统。
当BMC再次发生进程异常时,将错误堆栈信息收集上报给服务器操作系统。
具体的,插件包:包含系统执行的主程序和BMC执行的监控管理插件以及对应BMC软件的GDB调试程序版本代码通过GDB生成的主要调试进程文件如BMC主进程、web进程等文件组成的tools包;
监控管理插件:BMC系统执行的监控管理程序,负责监控、管理BMC系统进程状态和上报异常信息等功能;
1、系统管理员将监控管理插件程序下发给BMC执行。下发方式按实际可选主从模式的KCS方式或通过LAN网络形式对等模式进行网络通信交互方式。均可通过现有技术实现。
2、BMC本地执行监控管理插件程序,检测本地进程运行情况。
3、当BMC程序发生异常产生崩溃时,会根据主从、对等的通信原则,OS系统可获悉异常程序信息。
4、服务器OS针对上报的异常信息下发对应的GDB调试程序进程给BMC,通知BMC监控管理程序放弃原有进程,执行此Debug版进程。
5、BMC监控管理插件持续记录log等相关信息,再次发生进程崩溃时,BMC将产生的core dump信息和收集信息传给OS;
6、OS通知系统管理员,使用此信息中core dump的epc、ra、结合maps的内存映射地址等其他收集信息。利用GDB工具或其他信息直接定位具体错误代码;
7、研发解决问题后,通过OS下发修改后的进程,BMC管理插件将此进程文件存到flash中,修改配置启动脚本,在BMC重启或断电后,调用新的进程,问题解决过程无需升级,达到自动纠错自检目的。
本发明实施例提供一种服务器固件程序纠错自检方法,包括如下步骤:
SS1:将监控管理插件下发给BMC执行对BMC进程的运行进行监控;执行步骤SS3;
SS2:当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息;
SS3:服务器操作系统根据异常进程的信息下发对应BMC软件的GDB调试程序到BMC,并通知BMC执行所述GDB调试程序;
SS4:继续对GDB调试程序的运行进行监控,当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息;
SS5:服务器操作系统根据错误堆栈信息直接定位异常进程并输出提示信息;管理人员根据提示信息进行异常进程的代码修改;
SS6:通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
需要说明的是,当设定的通信原则为主从模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,获悉异常进程的信息。
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,判断异常进程的信息是否复现;
若异常进程的信息复现,获取监控管理插件生成的错误堆栈信息。
另外,当设定的通信原则为对等模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
当监控到BMC进程异常时,主动上报异常进程的信息给服务器操作系统。
当BMC再次发生进程异常时,将错误堆栈信息收集上报给服务器操作系统。
需要说明的是,本实施例中,设置BMC重启后自动删除监控管理插件,每次检测时,服务器操作系统将插件包的监控管理插件下发给BMC执行。
进一步需要说明的是,通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错的步骤包括:
根据输出的提示信息进行异常进程的修改;
通过服务器操作系统下发修改后的进程到监控管理插件;
监控管理插件将接收到的修改后的进程存到flash中;
修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
本发明实施例还提供一种服务器固件程序纠错自检系统,包括服务器操作系统和BMC;
服务器操作系统内设置有插件包;其中,插件包包括系统执行的主程序、BMC执行的监控管理插件以及对应BMC软件的GDB调试程序;
进行服务器固件程序纠错自检时,将监控管理插件程序下发给BMC执行;
监控管理插件用于监控、管理BMC进程的运行状态并上报异常信息;
服务器操作系统针对上报的异常信息下发对应的对应BMC软件的GDB调试程序给BMC,并通知BMC监控管理插件放弃原有进程,执行GDB调试程序;
监控管理插件用于持续监控GDB调试程序的运行状态,再次发生进程异常时,监控管理插件将产生的错误堆栈信息传给服务器操作系统;
服务器操作系统用于根据接收到的错误堆栈信息输出异常进程提示信息;根据提示信息完成异常进程的修改后,通过服务器操作系统下发修改后的进程;
监控管理插件将修改后的进程文件存到flash中,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
需要说明的是,如图2所示,监控管理插件与服务器操作系统OS之间通过主从模式的KCS方式或通过LAN网络形式对等模式进行网络通信交互。
当设定的通信原则为主从模式通信时,服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,获悉异常进程的信息。
相应的,服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,判断异常进程的信息是否复现;
若异常进程的信息复现,获取监控管理插件生成的错误堆栈信息。
当设定的通信原则为对等模式通信时,当监控到BMC进程异常时,主动上报异常进程的信息给服务器操作系统。
相应的,当BMC再次发生进程异常时,将错误堆栈信息收集上报给服务器操作系统。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种服务器固件程序纠错自检方法,其特征在于,包括如下步骤:
对BMC进程的运行进行监控;
当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息;
服务器操作系统根据异常进程的信息下发对应BMC软件的GDB调试程序到BMC,并通知BMC执行所述GDB调试程序;
继续对GDB调试程序的运行进行监控,当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息;
服务器操作系统根据错误堆栈信息直接定位异常进程并输出提示信息。
2.根据权利要求1所述的服务器固件程序纠错自检方法,其特征在于,对BMC本地进程的运行进行监控的步骤之前包括:
检测BMC是否有监控管理插件;
若是,执行监控管理插件,执行步骤:对BMC进程的运行进行监控;
若否,将监控管理插件下发给BMC执行,执行步骤:对BMC进程的运行进行监控。
3.根据权利要求1所述的服务器固件程序纠错自检方法,其特征在于,当设定的通信原则为主从模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,获悉异常进程的信息。
4.根据权利要求3所述的服务器固件程序纠错自检方法,其特征在于,当设定的通信原则为主从模式通信时,所述的当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息的步骤包括:
服务器操作系统定期查询监控管理插件监控的BMC进程的运行状态,判断异常进程的信息是否复现;
若异常进程的信息复现,获取监控管理插件生成的错误堆栈信息。
5.根据权利要求1所述的服务器固件程序纠错自检方法,其特征在于,当设定的通信原则为对等模式通信时,所述的当监控到BMC进程异常时,根据设定的通信原则使服务器操作系统获悉异常进程的信息的步骤包括:
当监控到BMC进程异常时,主动上报异常进程的信息给服务器操作系统。
6.根据权利要求5所述的服务器固件程序纠错自检方法,其特征在于,当设定的通信原则为对等模式通信时,所述的当BMC再次发生进程异常时,根据设定的通信原则使服务器操作系统获悉错误堆栈信息的步骤包括:
当BMC再次发生进程异常时,将错误堆栈信息收集上报给服务器操作系统。
7.根据权利要求4或6所述的服务器固件程序纠错自检方法,其特征在于,该方法还包括:
通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
8.根据权利要求7所述的服务器固件程序纠错自检方法,其特征在于,通过服务器操作系统下发修改后的进程,修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错的步骤包括:
根据输出的提示信息进行异常进程的修改;
通过服务器操作系统下发修改后的进程到监控管理插件;
监控管理插件将接收到的修改后的进程存到flash中;
修改配置启动脚本,在BMC重启或断电后,调用新的进程完成纠错。
9.一种服务器固件程序纠错自检系统,其特征在于,包括服务器操作系统和BMC;
服务器操作系统内设置有插件包;其中,插件包包括系统执行的主程序、BMC执行的监控管理插件以及对应BMC软件的GDB调试程序;
进行服务器固件程序纠错自检时,将监控管理插件程序下发给BMC执行;
监控管理插件用于监控、管理BMC进程的运行状态并上报异常信息;
服务器操作系统针对上报的异常信息下发对应的对应BMC软件的GDB调试程序给BMC,并通知BMC监控管理插件放弃原有进程,执行GDB调试程序;
监控管理插件用于持续监控GDB调试程序的运行状态,再次发生进程异常时,监控管理插件将产生的错误堆栈信息传给服务器操作系统;
服务器操作系统用于根据接收到的错误堆栈信息输出异常进程提示信息。
10.根据权利要求9所述的服务器固件程序纠错自检系统,其特征在于,监控管理插件与服务器操作系统之间通过主从模式的KCS方式或通过LAN网络形式对等模式进行网络通信交互。
CN202210873171.XA 2022-07-22 2022-07-22 一种服务器固件程序纠错自检方法、系统 Pending CN115221065A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210873171.XA CN115221065A (zh) 2022-07-22 2022-07-22 一种服务器固件程序纠错自检方法、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210873171.XA CN115221065A (zh) 2022-07-22 2022-07-22 一种服务器固件程序纠错自检方法、系统

Publications (1)

Publication Number Publication Date
CN115221065A true CN115221065A (zh) 2022-10-21

Family

ID=83613149

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210873171.XA Pending CN115221065A (zh) 2022-07-22 2022-07-22 一种服务器固件程序纠错自检方法、系统

Country Status (1)

Country Link
CN (1) CN115221065A (zh)

Similar Documents

Publication Publication Date Title
EP3036633B1 (en) Cloud deployment infrastructure validation engine
Huang et al. Software implemented fault tolerance: Technologies and experience
US5491791A (en) System and method for remote workstation monitoring within a distributed computing environment
EP3121726B1 (en) Fault processing method, related device and computer
US6167358A (en) System and method for remotely monitoring a plurality of computer-based systems
CN106789306B (zh) 通信设备软件故障检测收集恢复方法和系统
CN101197621B (zh) 一种对网管系统故障进行远程诊断定位的方法及其系统
CN112506702B (zh) 数据中心容灾方法、装置、设备及存储介质
CN112667436A (zh) 一种服务器关机时的自动捕获分析方法、装置、设备及介质
CN112769922B (zh) 一种微服务集群自启动的装置及方法
CN113946499A (zh) 一种微服务链路跟踪及性能分析方法、系统、设备及应用
CN109901969B (zh) 一种集中监控管理平台的设计方法及装置
CN112261114A (zh) 一种数据备份系统及方法
EP3514680B1 (en) Identification of changes in functional behavior and runtime behavior of a system during maintenance cycles
CN111563002B (zh) 交易故障的处理方法和装置、以及电子设备和存储介质
CA2152329C (en) Apparatus and methods for software rejuvenation
CN115221065A (zh) 一种服务器固件程序纠错自检方法、系统
Ding et al. Automatic Software Fault Diagnosis by Exploiting Application Signatures.
CN107590647A (zh) 船舶管理系统的伺服监管系统
CN116932274B (zh) 异构计算系统和服务器系统
CN117873771B (zh) 一种系统宕机处理方法、装置、设备、存储介质及服务器
CN117806946A (zh) 一种电网监控系统一致性检测方法及系统
CN117762740A (zh) 数据安全监控的方法、系统、设备及介质
CN117238357A (zh) 一种存储设备自动测试方法、装置、设备及介质
CN117034366A (zh) 一种云原生非停机升级的保持数据完整性方法及其应用

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