CN110032465A - 一种bmc重启日志记录方法和装置 - Google Patents

一种bmc重启日志记录方法和装置 Download PDF

Info

Publication number
CN110032465A
CN110032465A CN201910294463.6A CN201910294463A CN110032465A CN 110032465 A CN110032465 A CN 110032465A CN 201910294463 A CN201910294463 A CN 201910294463A CN 110032465 A CN110032465 A CN 110032465A
Authority
CN
China
Prior art keywords
value
bmc
reason
attribute value
restarted
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.)
Withdrawn
Application number
CN201910294463.6A
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 Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave 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 Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910294463.6A priority Critical patent/CN110032465A/zh
Publication of CN110032465A publication Critical patent/CN110032465A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • 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
    • 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

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种BMC重启日志记录方法,包括设置BMC的重启原因及其对应的信息值并进行保存;在每次BMC上电后,若当前为首次上电,将BMC所属系统内标志组件的属性值设置为默认值;若不是首次上电,读取BMC所属系统内标志组件的属性值;确定标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,将标志组件的属性值修改回默认值;在BMC工作过程中,若发生触发重启情况,则依据预存的重启原因与信息值的对应关系,将标志组件的属性值调整为对应的信息值。本发明能够对BMC重启原因进行清楚的定位,简化了BMC所属系统故障处理时过程。本发明还公开了一种基于上述方法的装置、BMC设备及计算机可读存储介质。

Description

一种BMC重启日志记录方法和装置
技术领域
本发明涉及BMC重启技术领域,特别是涉及一种BMC重启日志记录方法。本发明还涉及一种基于上述方法的装置、BMC设备及计算机可读存储介质。
背景技术
BMC(Baseboard Management Controller,服务器处理器或基板管理控制器)是一种专用芯片/控制器,是基于IPMI(Intelligent Platform Management Interface智能平台管理接口)系统的心脏;在IPMI管理平台中,系统管理软件对各个被管理器件的管理,都是通过与BMC通信来实现的。
BMC并不依赖于服务器的处理器、BIOS或操作系统来工作,它有自己的固件、电源、MAC地址与网络接口,是一个单独在系统内运行的无代理管理子系统。BMC的主要功能是自动监视平台系统管理事件,把发生的事件记录在非易失的系统事件日志中;BMC记录的事件类型包括温度超标、电压超标、风扇故障和机箱入侵等等。
在服务器调试或者上线维护过程中,不可避免出现BMC异常重启或者服务器意外断电导致BMC重启的情况,BMC重启主要有以下四种,分别为服务器异常掉电启动、BMC受到IPMI命令重启、BMC内部主进程异常触发watchdog重启、BMC固件保留参数升级重启,针对这几种情况,工程师均需要收集相关的日志进行分析判断问题根源。
但是目前BMC的SEL日志中,只记录BMC启动日志;同时BMC系统下的运行日志只是记录当时运行的状态,并不能反馈BMC重启的原因;而PSU相关信息日志只能辨别电源是否运行异常。因此,依据目前的日志类型,工程师很难定位BMC具体的重启原因,也不容易及时的对由于故障导致的重启进行处理。
因此,如何提供一种能够清楚定位BMC重启原因的BMC重启日志记录方法是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种BMC重启日志记录方法,能够对BMC重启原因进行清楚的定位,从而简化工程师定位BMC重启原因的工作量,提高了BMC所属系统故障处理时的可靠性。本发明的另一目的是提供一种基于上述方法的装置、BMC设备及计算机可读存储介质。
为解决上述技术问题,本发明提供了一种BMC重启日志记录方法,应用于基板管理控制器BMC,所述方法包括:
设置BMC的重启原因及其对应的信息值,并将所述重启原因及信息值的对应关系进行保存;
在每次BMC上电后,判断当前是否为首次上电,若是,将所述BMC所属系统内标志组件的属性值设置为默认值;
若不是首次上电,读取所述BMC所属系统内标志组件的属性值;
依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值;
在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值。
优选地,所述判断当前是否为首次上电,若是,将所述BMC所属系统内标志组件的属性值设置为默认值的过程包括:
步骤s11:读取BMC所属系统内的Lock寄存器的属性值;
步骤s12:判断所述Lock寄存器的属性值是否为初始值,若是,进入步骤s13;
步骤s13:判断首先启动文件是否存在,若不存在,进入步骤s14;
步骤s14:创建所述首先启动文件,并记录当前BMC首次上电的日志信息,同时设置所述Lock寄存器的属性值为第一默认值,设置标志文件的属性值为第二默认值;所述第一默认值不等于所述初始值。
优选地,若不是首次上电,读取所述BMC所属系统内标志组件的属性值;依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值的过程包括:
步骤s13中,若首先启动文件存在,进入步骤s15;
步骤s15:读取并判断标志文件的属性值是否满足第一预设值,若满足,进入步骤s16;若不满足,进入步骤s17;
步骤s16:依据预存的所述重启原因与信息值的对应关系,确定重启原因为保留参数升级导致BMC重启,记录保留参数升级导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值,所述标志文件的属性值为所述第二默认值;
步骤s17:依据预存的所述重启原因与信息值的对应关系,确定重启原因为异常掉电导致BMC重启,记录异常掉电导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值;
步骤s12中,若所述Lock寄存器的属性值不是初始值,进入步骤s18;
步骤s18:读取并判断所述标志文件的属性值是否满足第二预设值,若满足,进入步骤s19;若不满足,进入步骤s101;其中,所述第一预设值和所述第二预设值均不等于所述第二默认值;
步骤s19:依据预存的所述重启原因与信息值的对应关系,确定重启原因为主进程异常触发watchdog重启导致BMC重启,记录主进程异常触发watchdog重启导致BMC重启的日志信息,并设置所述标志文件的属性值为所述第二默认值;
步骤s101:依据预存的所述重启原因与信息值的对应关系,确定重启原因为系统正常命令导致BMC重启,记录系统正常命令导致BMC重启的日志信息;
相应的,在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值的过程包括:
依据预存的所述重启原因与信息值的对应关系,在所述BMC异常掉电或者所述BMC保留参数升级时,触发所述Lock寄存器的属性值调整为所述初始值;在所述BMC保留参数升级时,设置所述标志文件的属性值为所述第一预设值;在主进程异常触发watchdog重启时,设置所述标志文件的属性值为所述第二预设值;所述第二默认值不等于所述第一预设值以及所述第二预设值。
优选地,所述判断当前是否为首次上电,若是,将所述BMC所属系统内标志组件的属性值设置为默认值的过程包括:
步骤s21:判断首先启动文件是否存在,若不存在,进入步骤s22;
步骤s22:创建所述首先启动文件,并记录当前BMC首次上电的日志信息,同时设置所述Lock寄存器的属性值为第一默认值,设置标志文件的属性值为第二默认值;所述第一默认值不等于所述初始值。
优选地,若不是首次上电,读取所述BMC所属系统内标志组件的属性值;依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值的过程包括:
步骤s23:读取BMC所属系统内的Lock寄存器的属性值;
步骤s24:判断所述Lock寄存器的属性值是否为初始值,若是,进入步骤s25;若不是,进入步骤s28;
步骤s25:读取并判断所述标志文件的属性值是否满足第一预设值,若满足,进入步骤s26;若不满足,进入步骤s27;
步骤s26:依据预存的所述重启原因与信息值的对应关系,确定重启原因为保留参数升级导致BMC重启,记录保留参数升级导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值,所述标志文件的属性值为所述第二默认值;
步骤s27:依据预存的所述重启原因与信息值的对应关系,确定重启原因为异常掉电导致BMC重启,记录异常掉电导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值;
步骤s28:读取并判断所述标志文件的属性值是否满足第二预设值,若满足,进入步骤s29;若不满足,进入步骤s201;其中,所述第一预设值和所述第二预设值均不等于所述第二默认值;
步骤s29:依据预存的所述重启原因与信息值的对应关系,确定重启原因为主进程异常触发watchdog重启导致BMC重启,记录主进程异常触发watchdog重启导致BMC重启的日志信息,并设置所述标志文件的属性值为所述第二默认值;
步骤s201:依据预存的所述重启原因与信息值的对应关系,确定重启原因为系统正常命令导致BMC重启,记录系统正常命令导致BMC重启的日志信息;
相应的,在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值的过程包括:
依据预存的所述重启原因与信息值的对应关系,在所述BMC异常掉电或者所述BMC保留参数升级时,触发所述Lock寄存器的属性值调整为所述初始值;在所述BMC保留参数升级时,设置所述标志文件的属性值为所述第一预设值;在主进程异常触发watchdog重启时,设置所述标志文件的属性值为所述第二预设值;所述第二默认值不等于所述第一预设值以及所述第二预设值。
优选地,所述标志文件为所述首先启动文件,所述首先启动文件创建后,将所述首先启动文件的属性值设置为所述第二默认值。
优选地,所述Lock寄存器为SPIRA8寄存器,所述Lock寄存器的属性值为bit0的value值;其中,其默认值为0,信息值为1。
为解决上述技术问题,本发明还提供了一种BMC重启日志记录装置,应用于基板管理控制器BMC,所述装置包括:
原因对应设置模块,用于设置BMC的重启原因及其对应的信息值,并将所述重启原因及信息值的对应关系进行保存;
首次上电判断模块,用于在每次BMC上电后,判断当前是否为首次上电,若是,触发默认值设置模块;若不是首次上电,触发属性值读取模块;
所述默认值设置模块,用于将所述BMC所属系统内标志组件的属性值设置为默认值;
所述属性值读取模块,用于读取所述BMC所属系统内标志组件的属性值;
原因记录模块,用于依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值;
属性值调整模块,用于在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值。
为解决上述技术问题,本发明还提供了一种BMC设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上任一项所述的BMC重启日志记录方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上任一项所述的BMC重启日志记录方法的步骤。
本发明提供了一种BMC重启日志记录方法,预先设置了BMC的重启原因及其对应的信息值,在BMC首次上电时,将BMC所属系统内标识组件的属性值设置为默认值,在不是首次上电时BMC发生了重启,则读取BMC所属系统内标志组件的属性值,并依据前述预设对应的关系和当前属性值的数值来确定对应的重启原因,并记录为日志,将属性值修改为默认值。此外BMC在工作过程中,若发生触发重启情况,则依据前述预设对应的关系和当前的重启原因将标志组件的属性值调整为对应的信息值。可见,本发明中,在BMC出现重启时属性值会自动触发进行调整,使得BMC再次启动后即可根据属性值的数值来确定具体的重启原因。因此,本发明能够对BMC重启原因进行清楚的定位,简化了工程师定位BMC重启原因的工作量,也方便了工程师依据BMC具体的重启原因进行及时的故障处理,提高了BMC所属系统可靠性。本发明还提供了一种基于上述方法的装置、BMC设备及计算机可读存储介质。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种BMC重启日志记录方法的的过程的流程图;
图2为本发明提供的另一种BMC重启日志记录方法的的过程的流程图;
图3为本发明提供的另一种BMC重启日志记录方法的的过程的流程图;
图4为本发明提供的一种BMC重启日志记录装置的结构示意图。
具体实施方式
本发明的核心是提供一种BMC重启日志记录方法,能够对BMC重启原因进行清楚的定位,从而简化工程师定位BMC重启原因的工作量,提高了BMC所属系统故障处理时的可靠性。本发明的另一目的是提供一种基于上述方法的装置、BMC设备及计算机可读存储介质。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种BMC重启日志记录方法,应用于基板管理控制器BMC,参见图1所示,图1为本发明提供的一种BMC重启日志记录方法的的过程的流程图;该方法包括:
步骤s0:设置BMC的重启原因及其对应的信息值,并将重启原因及信息值的对应关系进行保存;
可以理解的是,本发明采用的方式,是预先设置好重启原因及其对应的信息值,之后每次发生重启后,即将标志组件的属性值修改为对应的信息值;再次上电后,则可依据当前的标志组件的属性值来确定对应的重启原因。其中,信息值通常为数值,本发明不限定每种重启原因对应的信息值的数值大小。
步骤s1:在每次BMC上电后,判断当前是否为首次上电,若是,进入步骤s2;若不是首次上电,进入步骤s3;
可以理解的是,BMC重启后上电需要和首次上电区分开来,因为首次上电属于正常过程,并且此时BMC所属系统内标志组件的属性值可能并不是正常工作时应该设置为的默认值,故需要确定BMC是否为首次上电,并在判断为首次上电时,将BMC所属系统内标志组件的属性值设置为默认值,从而满足本发明实现时的基础条件。
步骤s2:将BMC所属系统内标志组件的属性值设置为默认值;
其中,这里的默认值指的是BMC正常工作时这些标识组件的属性值,即在没有特殊情况触发时,这些标志组件的属性值会持续保持为默认值,直至BMC触发重启时,才会变更为对应的信息值。默认值的设置可根据实际情况进行设定,本发明对此不作限定。
步骤s3:读取BMC所属系统内标志组件的属性值;
步骤s4:依据预存的重启原因与信息值的对应关系,确定当前标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将标志组件的属性值修改回默认值;
在BMC不是首次上电时,说明其发生了重启,因此,此时需要确定重启原因。故读取标识组件的属性值,依据属性值的具体数值以及前述预设的对应关系来确定对应的重启原因,并记录为日志信息,来方便后续工程师通过查看日志信息来定位重启原因并进行相应的故障处理。将标志组件的属性值改回默认值的原因,是为了方便后续正常工作和下一次重启时触发使用。
步骤s5:在BMC工作过程中,若发生触发重启情况,则依据预存的重启原因与信息值的对应关系和当前的重启原因,将标志组件的属性值调整为对应的信息值。
本发明提供了一种BMC重启日志记录方法,预先设置了BMC的重启原因及其对应的信息值,在BMC首次上电时,将BMC所属系统内标识组件的属性值设置为默认值,在不是首次上电时BMC发生了重启,则读取BMC所属系统内标志组件的属性值,并依据前述预设对应的关系和当前属性值的数值来确定对应的重启原因,并记录为日志,将属性值修改为默认值。此外BMC在工作过程中,若发生触发重启情况,则依据前述预设对应的关系和当前的重启原因将标志组件的属性值调整为对应的信息值。可见,本发明中,在BMC出现重启时属性值会自动触发进行调整,使得BMC再次启动后即可根据属性值的数值来确定具体的重启原因。因此,本发明能够对BMC重启原因进行清楚的定位,简化了工程师定位BMC重启原因的工作量,也方便了工程师依据BMC具体的重启原因进行及时的故障处理,提高了BMC所属系统可靠性。
在一种优选实施例中,参见图2所示,图2为本发明提供的另一种BMC重启日志记录方法的的过程的流程图;判断当前是否为首次上电,若是,将BMC所属系统内标志组件的属性值设置为默认值的过程包括:
步骤s11:读取BMC所属系统内的Lock寄存器的属性值;
步骤s12:判断Lock寄存器的属性值是否为初始值(例如为0),若是,进入步骤s13;
对于Lock寄存器,当其属性值被设置为第一默认值时,只有在受到整个主板意外断电和BMC保留参数升级时的触发后,才能恢复初始配置,即属性值恢复为初始值;其他情况下,Lock寄存器的属性值会始终保持为第一默认值。而在首次上电时,由于Lock寄存器的属性值尚未被设置,因此,其属性值为初始值。可见,当Lock寄存器的属性值为初始值时,表明当前可能为首次上电,或者是触发原因为异常断电或者保留参数升级导致的重启。
步骤s13:判断首先启动文件是否存在,若不存在,进入步骤s14;
首先启动文件,即/conf/firstboot文件,是用于区别BMC是否首次上电,若系统内存在该文件,则表明当前不是首次上电,若不存在该文件,表明当前为首次上电。首次BMC启动需要重新创建该文件,并记录首次BMC上电log日志信息。
步骤s14:创建首先启动文件,并记录当前BMC首次上电的日志信息,同时设置Lock寄存器的属性值为第一默认值(例如为1),设置标志文件的属性值为第二默认值(例如为0);第一默认值不等于初始值。
可以理解的是,本实施例中首先判断Lock寄存器的属性值,由于Lock寄存器的属性值在非首次上电时,仅会在受到异常断电或者保留参数升级导致的重启的触发后,才会变为初始值;因此依据Lock寄存器的属性值是否为初始值,即可将BMC的重启原因分为两类,从而方便后续进一步确认具体的BMC重启原因。该方法简化了重启原因的确定过程,且准确性高。
进一步的,在上述实施例的基础上,若不是首次上电,步骤s3~s4的过程包括:
步骤s13中,若首先启动文件存在,进入步骤s15;
若首先启动文件存在,表明此时不是首次上电,故需要进行后续重启原因确认过程。并且,此时由于已经进入了步骤s13,因此表明此时Lock寄存器的属性值为初始值,重启原因为异常掉电或者保留参数升级。
步骤s15:读取并判断标志文件的属性值是否满足第一预设值(例如为3),若满足,进入步骤s16;若不满足,进入步骤s17;
步骤s16:依据预存的重启原因与信息值的对应关系,确定重启原因为保留参数升级导致BMC重启,记录保留参数升级导致BMC重启的日志信息,同时设置Lock寄存器的属性值为第一默认值,标志文件的属性值为第二默认值;
步骤s17:依据预存的重启原因与信息值的对应关系,确定重启原因为异常掉电导致BMC重启,记录异常掉电导致BMC重启的日志信息,同时设置Lock寄存器的属性值为第一默认值;
步骤s12中,若Lock寄存器的属性值不是初始值,进入步骤s18;
Lock寄存器的属性值不是初始值,表明重启原因为主进程异常触发watchdog重启或者系统正常命令导致BMC重启。
步骤s18:读取并判断标志文件的属性值是否满足第二预设值(例如为1),若满足,进入步骤s19;若不满足,进入步骤s101;其中,第一预设值和第二预设值均不等于第二默认值;
步骤s19:依据预存的重启原因与信息值的对应关系,确定重启原因为主进程异常触发watchdog重启导致BMC重启,记录主进程异常触发watchdog重启导致BMC重启的日志信息,并设置标志文件的属性值为第二默认值;
步骤s101:依据预存的重启原因与信息值的对应关系,确定重启原因为系统正常命令导致BMC重启,记录系统正常命令导致BMC重启的日志信息。
相应的,在BMC工作过程中,若发生触发重启情况,则依据预存的重启原因与信息值的对应关系和当前的重启原因,将标志组件的属性值调整为对应的信息值的过程包括:
依据预存的重启原因与信息值的对应关系,在BMC异常掉电或者BMC保留参数升级时,触发Lock寄存器的属性值调整为初始值;在BMC保留参数升级时,设置标志文件的属性值为第一预设值;(首先进行属性值设置,然后再进行保留参数升级)。在主进程异常触发watchdog重启时,设置标志文件的属性值为第二预设值;第二默认值不等于第一预设值以及第二预设值。
可以理解的是,由于BMC异常掉电或者BMC保留参数升级时,会触发Lock寄存器的属性值调整为初始值,因此,据此可以将BMC的重启原因划分为两类,第一类是BMC异常掉电和BMC保留参数升级;第二类是主进程异常触发watchdog重启和系统正常命令导致BMC重启。通过判断Lock寄存器的属性值是否为初始值,即可判断当前的重启原因属于哪一类。若属性值为初始值,则表明重启原因为第一类,否则重启原因为第二类。之后,若重启原因为第一类,进一步判断属性值是否为第一预设值,由于在BMC保留参数升级时,设置标志文件的属性值为第一预设值,因此,当判断标志文件的属性值为第一预设值时,表明此时的重启原因为BMC保留参数升级;若属性值不为第一预设值即为第二默认值,表明此时的重启原因为BMC异常掉电。若重启原因为第二类,进一步判断属性值是否为第二预设值,由于主进程异常触发watchdog重启时,设置标志文件的属性值为第二预设值。因此,当判断标志文件的属性值为第二预设值时,表明此时的重启原因为主进程异常触发watchdog重启;若属性值不为第二预设值即为第二默认值,表明此时的重启原因为系统正常命令导致BMC重启。可见本实施例能够精确地对重启原因进行区分和定位,从而方便后续工作人员依据日志信息进行重启原因的确认。
当然,第一预设值、第二预设值、第一默认值、第二默认值的具体数值据实际情况进行设定,本发明对此不作限定。
在另一实施例中,参见图3所示,图3为本发明提供的另一种BMC重启日志记录方法的的过程的流程图;步骤s1中,判断当前是否为首次上电,若是,将BMC所属系统内标志组件的属性值设置为默认值的过程包括:
步骤s21:判断首先启动文件是否存在,若不存在,进入步骤s22;
步骤s22:创建首先启动文件,并记录当前BMC首次上电的日志信息,同时设置Lock寄存器的属性值为第一默认值,设置标志文件的属性值为第二默认值;第一默认值不等于初始值。
可以理解的是,本实施例中,首先通过首先启动文件是否存在来判断是否首次上电,当排除首次上电的情况之后,再进行重启原因的确认,判断首次上电的过程简便,且能够在首次上电时快速准确地确定当前的情况,提高了首次上电的判断效率。
进一步的,基于上述实施例,若不是首次上电,步骤s3~s4的过程包括:
步骤s23:读取BMC所属系统内的Lock寄存器的属性值;
步骤s24:判断Lock寄存器的属性值是否为初始值,若是,进入步骤s25;若不是,进入步骤s28;
Lock寄存器的属性值为初始值,重启原因为异常掉电或者保留参数升级。Lock寄存器的属性值不是初始值,表明重启原因为主进程异常触发watchdog重启或者系统正常命令导致BMC重启。
步骤s25:读取并判断标志文件的属性值是否满足第一预设值,若满足,进入步骤s26;若不满足,进入步骤s27;
步骤s26:依据预存的重启原因与信息值的对应关系,确定重启原因为保留参数升级导致BMC重启,记录保留参数升级导致BMC重启的日志信息,同时设置Lock寄存器的属性值为第一默认值,标志文件的属性值为第二默认值;
步骤s27:依据预存的重启原因与信息值的对应关系,确定重启原因为异常掉电导致BMC重启,记录异常掉电导致BMC重启的日志信息,同时设置Lock寄存器的属性值为第一默认值;
步骤s28:读取并判断标志文件的属性值是否满足第二预设值,若满足,进入步骤s29;若不满足,进入步骤s201;其中,第一预设值和第二预设值均不等于第二默认值;
步骤s29:依据预存的重启原因与信息值的对应关系,确定重启原因为主进程异常触发watchdog重启导致BMC重启,记录主进程异常触发watchdog重启导致BMC重启的日志信息,并设置标志文件的属性值为第二默认值;
步骤s201:依据预存的重启原因与信息值的对应关系,确定重启原因为主进程异常触发watchdog重启导致BMC重启,记录系统正常命令导致BMC重启的日志信息;
相应的,在BMC工作过程中,若发生触发重启情况,则依依据预存的重启原因与信息值的对应关系和当前的重启原因,将标志组件的属性值调整为对应的信息值的过程包括:
依据预存的重启原因与信息值的对应关系,在BMC异常掉电或者BMC保留参数升级时,触发Lock寄存器的属性值调整为初始值;在BMC保留参数升级时,设置标志文件的属性值为第一预设值;在主进程异常触发watchdog重启时,设置标志文件的属性值为第二预设值;第二默认值不等于第一预设值以及第二预设值。
可以理解的是,本实施例首先依据首先启动文件排除掉了首次上电的情况,之后通过判断Lock寄存器的属性值是否为初始值,来判断当前的重启原因属于哪一类。若重启原因为第一类,进一步依据属性值是否为第一预设值,来确定重启原因为BMC保留参数升级还是BMC异常掉电。若重启原因为第二类,进一步依据属性值是否为第二预设值,来判断当前的重启原因为主进程异常触发watchdog重启还是系统正常命令导致BMC重启。可见本实施例能够精确地对重启原因进行区分和定位,从而方便后续工作人员依据日志信息进行重启原因的确认。
当然,以上仅为几种具体实现方式,在其他实施例中,还可分别在BMC受到触发重启时,分别在标志文件内存储四种不同的信息值,之后依据重启后属性值具体等于哪个信息值,来判断重启原因。当然,还可采用其他实现方式,本发明对此不作限定。
其中,Procmanager作为进程管理器,将会把BMC下所有主要进程IPMIMain、cdserver、fdserver、hdserver、adviser和MCTPMain等均注册到管理器中,实时监控和记录当前每一个进程的工作状态;在软件watchdog进程中实时获取IPMI主进程状态,若IPMI主进程异常退出(主进程被kill掉不去喂狗时),首先将value=1(第二预设值)存储在标志文件内中,然后重启整个BMC系统。
作为优选地,标志文件为首先启动文件,首先启动文件创建后,将首先启动文件的属性值设置为第二默认值。
可以理解的是,将首先启动文件作为标志文件,相比额外设置标志文件的方式,减少了标志文件对系统存储空间的占用,提高了存储资源的利用效率。
具体的,Lock寄存器为SPIRA8寄存器,Lock寄存器的属性值为bit0的value值;其中,其默认值为0,信息值为1。
可以理解的是,Aspeed2500芯片寄存器SPIRA8属于Lock Control寄存器(Lock寄存器),若该寄存器被写入‘1’(第一默认值)时,只有在SRST引脚Active触发后,该寄存器才能被置成‘0’(初始值)。即在上述四种BMC重启现象中,只有整个主板意外断电和保留参数升级时,才能恢复SPIRA8寄存器默认配置(即恢复初始值),其他情况均维持设置SPIRA8寄存器信息值(即第一默认值)。
本发明还提供了一种BMC重启日志记录装置,应用于基板管理控制器BMC,参见图4所示,图4为本发明提供的一种BMC重启日志记录装置的结构示意图。该装置包括:
原因对应设置模块0,用于设置BMC的重启原因及其对应的信息值,并将所述重启原因及信息值的对应关系进行保存;
首次上电判断模块1,用于在每次BMC上电后,判断当前是否为首次上电,若是,触发默认值设置模块2;若不是首次上电,触发属性值读取模块3;
默认值设置模块2,用于将BMC所属系统内标志组件的属性值设置为默认值;
属性值读取模块3,用于读取BMC所属系统内标志组件的属性值;
原因记录模块4,用于依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值;
属性值调整模块5,用于在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明还提供了一种BMC设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如以上任一项的BMC重启日志记录方法的步骤。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如以上任一项的BMC重启日志记录方法的步骤。
以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,相关专业技术人员在不脱离本发明精神和构思前提下推演出的其他改进和变化,均应包含在本发明的保护范围之内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种BMC重启日志记录方法,其特征在于,应用于基板管理控制器BMC,所述方法包括:
设置BMC的重启原因及其对应的信息值,并将所述重启原因及信息值的对应关系进行保存;
在每次BMC上电后,判断当前是否为首次上电,若是,将所述BMC所属系统内标志组件的属性值设置为默认值;
若不是首次上电,读取所述BMC所属系统内标志组件的属性值;
依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值;
在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值。
2.根据权利要求1所述的方法,其特征在于,所述判断当前是否为首次上电,若是,将所述BMC所属系统内标志组件的属性值设置为默认值的过程包括:
步骤s11:读取BMC所属系统内的Lock寄存器的属性值;
步骤s12:判断所述Lock寄存器的属性值是否为初始值,若是,进入步骤s13;
步骤s13:判断首先启动文件是否存在,若不存在,进入步骤s14;
步骤s14:创建所述首先启动文件,并记录当前BMC首次上电的日志信息,同时设置所述Lock寄存器的属性值为第一默认值,设置标志文件的属性值为第二默认值;所述第一默认值不等于所述初始值。
3.根据权利要求2所述的方法,其特征在于,若不是首次上电,读取所述BMC所属系统内标志组件的属性值;依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值的过程包括:
步骤s13中,若首先启动文件存在,进入步骤s15;
步骤s15:读取并判断标志文件的属性值是否满足第一预设值,若满足,进入步骤s16;若不满足,进入步骤s17;
步骤s16:依据预存的所述重启原因与信息值的对应关系,确定重启原因为保留参数升级导致BMC重启,记录保留参数升级导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值,所述标志文件的属性值为所述第二默认值;
步骤s17:依据预存的所述重启原因与信息值的对应关系,确定重启原因为异常掉电导致BMC重启,记录异常掉电导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值;
步骤s12中,若所述Lock寄存器的属性值不是初始值,进入步骤s18;
步骤s18:读取并判断所述标志文件的属性值是否满足第二预设值,若满足,进入步骤s19;若不满足,进入步骤s101;其中,所述第一预设值和所述第二预设值均不等于所述第二默认值;
步骤s19:依据预存的所述重启原因与信息值的对应关系,确定重启原因为主进程异常触发watchdog重启导致BMC重启,记录主进程异常触发watchdog重启导致BMC重启的日志信息,并设置所述标志文件的属性值为所述第二默认值;
步骤s101:依据预存的所述重启原因与信息值的对应关系,确定重启原因为系统正常命令导致BMC重启,记录系统正常命令导致BMC重启的日志信息;
相应的,在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值的过程包括:
依据预存的所述重启原因与信息值的对应关系,在所述BMC异常掉电或者所述BMC保留参数升级时,触发所述Lock寄存器的属性值调整为所述初始值;在所述BMC保留参数升级时,设置所述标志文件的属性值为所述第一预设值;在主进程异常触发watchdog重启时,设置所述标志文件的属性值为所述第二预设值;所述第二默认值不等于所述第一预设值以及所述第二预设值。
4.根据权利要求1所述的方法,其特征在于,所述判断当前是否为首次上电,若是,将所述BMC所属系统内标志组件的属性值设置为默认值的过程包括:
步骤s21:判断首先启动文件是否存在,若不存在,进入步骤s22;
步骤s22:创建所述首先启动文件,并记录当前BMC首次上电的日志信息,同时设置所述Lock寄存器的属性值为第一默认值,设置标志文件的属性值为第二默认值;所述第一默认值不等于所述初始值。
5.根据权利要求4所述的方法,其特征在于,若不是首次上电,读取所述BMC所属系统内标志组件的属性值;依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值的过程包括:
步骤s23:读取BMC所属系统内的Lock寄存器的属性值;
步骤s24:判断所述Lock寄存器的属性值是否为初始值,若是,进入步骤s25;若不是,进入步骤s28;
步骤s25:读取并判断所述标志文件的属性值是否满足第一预设值,若满足,进入步骤s26;若不满足,进入步骤s27;
步骤s26:依据预存的所述重启原因与信息值的对应关系,确定重启原因为保留参数升级导致BMC重启,记录保留参数升级导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值,所述标志文件的属性值为所述第二默认值;
步骤s27:依据预存的所述重启原因与信息值的对应关系,确定重启原因为异常掉电导致BMC重启,记录异常掉电导致BMC重启的日志信息,同时设置所述Lock寄存器的属性值为所述第一默认值;
步骤s28:读取并判断所述标志文件的属性值是否满足第二预设值,若满足,进入步骤s29;若不满足,进入步骤s201;其中,所述第一预设值和所述第二预设值均不等于所述第二默认值;
步骤s29:依据预存的所述重启原因与信息值的对应关系,确定重启原因为主进程异常触发watchdog重启导致BMC重启,记录主进程异常触发watchdog重启导致BMC重启的日志信息,并设置所述标志文件的属性值为所述第二默认值;
步骤s201:依据预存的所述重启原因与信息值的对应关系,确定重启原因为系统正常命令导致BMC重启,记录系统正常命令导致BMC重启的日志信息;
相应的,在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值的过程包括:
依据预存的所述重启原因与信息值的对应关系,在所述BMC异常掉电或者所述BMC保留参数升级时,触发所述Lock寄存器的属性值调整为所述初始值;在所述BMC保留参数升级时,设置所述标志文件的属性值为所述第一预设值;在主进程异常触发watchdog重启时,设置所述标志文件的属性值为所述第二预设值;所述第二默认值不等于所述第一预设值以及所述第二预设值。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述标志文件为所述首先启动文件,所述首先启动文件创建后,将所述首先启动文件的属性值设置为所述第二默认值。
7.根据权利要求2-5任一项所述的方法,其特征在于,所述Lock寄存器为SPIRA8寄存器,所述Lock寄存器的属性值为bit0的value值;其中,其默认值为0,信息值为1。
8.一种BMC重启日志记录装置,其特征在于,应用于基板管理控制器BMC,所述装置包括:
原因对应设置模块,用于设置BMC的重启原因及其对应的信息值,并将所述重启原因及信息值的对应关系进行保存;
首次上电判断模块,用于在每次BMC上电后,判断当前是否为首次上电,若是,触发默认值设置模块;若不是首次上电,触发属性值读取模块;
所述默认值设置模块,用于将所述BMC所属系统内标志组件的属性值设置为默认值;
所述属性值读取模块,用于读取所述BMC所属系统内标志组件的属性值;
原因记录模块,用于依据预存的所述重启原因与信息值的对应关系,确定所述标志组件的属性值的数值所对应的重启原因,将重启原因记录为日志信息,并将所述标志组件的属性值修改回所述默认值;
属性值调整模块,用于在所述BMC工作过程中,若发生触发重启情况,则依据预存的所述重启原因与信息值的对应关系和当前的重启原因,将所述标志组件的属性值调整为对应的信息值。
9.一种BMC设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的BMC重启日志记录方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的BMC重启日志记录方法的步骤。
CN201910294463.6A 2019-04-12 2019-04-12 一种bmc重启日志记录方法和装置 Withdrawn CN110032465A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910294463.6A CN110032465A (zh) 2019-04-12 2019-04-12 一种bmc重启日志记录方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910294463.6A CN110032465A (zh) 2019-04-12 2019-04-12 一种bmc重启日志记录方法和装置

Publications (1)

Publication Number Publication Date
CN110032465A true CN110032465A (zh) 2019-07-19

Family

ID=67238346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910294463.6A Withdrawn CN110032465A (zh) 2019-04-12 2019-04-12 一种bmc重启日志记录方法和装置

Country Status (1)

Country Link
CN (1) CN110032465A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971446A (zh) * 2019-10-18 2020-04-07 苏州浪潮智能科技有限公司 一种记录服务器重启原因日志的方法和装置
CN111078445A (zh) * 2019-11-15 2020-04-28 苏州浪潮智能科技有限公司 一种psu掉电原因检测方法及装置
CN114124664A (zh) * 2021-11-23 2022-03-01 上海新炬网络技术有限公司 一种基于日志与设备邻居关系判断网络设备重启的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141939A (zh) * 2010-02-01 2011-08-03 杭州华三通信技术有限公司 可记录整机重启原因的装置
CN108196968A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN109086155A (zh) * 2018-07-27 2018-12-25 郑州云海信息技术有限公司 服务器故障定位方法、装置、设备及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141939A (zh) * 2010-02-01 2011-08-03 杭州华三通信技术有限公司 可记录整机重启原因的装置
CN108196968A (zh) * 2017-12-28 2018-06-22 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN109086155A (zh) * 2018-07-27 2018-12-25 郑州云海信息技术有限公司 服务器故障定位方法、装置、设备及计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971446A (zh) * 2019-10-18 2020-04-07 苏州浪潮智能科技有限公司 一种记录服务器重启原因日志的方法和装置
CN111078445A (zh) * 2019-11-15 2020-04-28 苏州浪潮智能科技有限公司 一种psu掉电原因检测方法及装置
CN114124664A (zh) * 2021-11-23 2022-03-01 上海新炬网络技术有限公司 一种基于日志与设备邻居关系判断网络设备重启的方法

Similar Documents

Publication Publication Date Title
CN107122321B (zh) 硬件修复方法、硬件修复系统以及计算机可读取存储装置
CN100517246C (zh) 一种计算机远程控制方法及系统
WO2022198972A1 (zh) 一种服务器启动过程中的故障定位方法、系统及装置
JP3831377B2 (ja) コンピュータ・システムにおける電力障害を解析する方法および装置
CN103748569B (zh) Usb设备的无驱动操作的系统和方法
CN110032465A (zh) 一种bmc重启日志记录方法和装置
CN112286709B (zh) 一种服务器硬件故障的诊断方法、诊断装置及诊断设备
CN111831488B (zh) 具有安全等级设计的tcms-mpu控制单元
US20090100287A1 (en) Monitoring Apparatus and a Monitoring Method Thereof
CN107145410A (zh) 一种系统异常掉电后自动上电开机的方法、系统及设备
KR20060047693A (ko) 스카시 및 사스 하드웨어 검증시스템 및 방법
TW201119173A (en) Method of using power supply to execute remote monitoring of an electronic system
US20170132102A1 (en) Computer readable non-transitory recording medium storing pseudo failure generation program, generation method, and generation apparatus
WO2023065601A1 (zh) 服务器组件自检异常恢复方法、装置、系统及介质
CN102479124B (zh) 一种测试方法
CN100531048C (zh) 在智能平台管理接口动态设定管理功能的方法
CN111488050B (zh) 一种电源监控方法、系统及服务器
CN116225812B (zh) 基板管理控制器系统运行方法、装置、设备及存储介质
CN117453036A (zh) 调整服务器中的设备的功耗的方法、系统及装置
CN117149491A (zh) 一种电源监测方法、系统、装置及存储介质
KR100605031B1 (ko) Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법
CN111124095B (zh) 一种升级电源固件时电源运行状态检测方法及相关装置
CN110647435A (zh) 服务器、硬盘远程控制方法及控制组件
JP6446948B2 (ja) 電子機器、電源装置および電源監視方法
CN109240623A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20190719