一种重启管理引擎的方法和设备与流程

文档序号:11261829阅读:490来源:国知局
一种重启管理引擎的方法和设备与流程

本发明涉及服务器的管理领域,尤其涉及一种重启管理引擎的方法和设备。



背景技术:

基于因特尔(intel)平台的服务器,在平台控制中心(platformcontrollerhub,pch),即intel公司的集成南桥芯片里都会集成管理引擎(managementengine,me)中。me和基板管理控制器(baseboardmanagementcontroller,bmc)结合起来实现对中央处理器(centralprocessingunit,cpu)和电源供给单元(powersupplyunit,psu)的进出口温度等管理和控制,因此,当me处于正常状态,操作系统才能被正常的监控和管理。而当me处于不正常状态,即me进入恢复(recovery)或出现故障时,操作系统就会出现监控或管理异常的现象,因此,为了使操作系统正常运行,此时需要重启me使其恢复正常。

相关技术中,往往是通过集成在bmc上的智能平台管理接口(intelligentplatformmanagementinterface,ipmi)发送重启命令重启me,因此,通过该方法重启me的前提是bmc处于正常的工作状态。

而当bmc无法正常工作时,就无法重启处于不正常状态的me,进而造成me所在服务器的操作系统无法正常运行。



技术实现要素:

为了解决上述技术问题,本发明提供一种重启管理引擎的方法和设备,能够在bmc处于不正常工作状态时重启me。

为了达到本发明目的,本发明提供了一种重启管理引擎的方法,包括:

基本输入输出系统bios设备获取管理引擎me设备生成的随机数并保存;

所述bios设备检测用于向所述me设备发送重启命令的预设机制是否被触发;

当检测到所述预设机制被触发时,所述bios设备向所述me设备发送携带有所述随机数的重启命令。

所述bios设备获取所述me设备生成的随机数并保存,包括:

所述bios设备向所述me设备发送主机管理引擎区域闪存保护锁定hmrfpo_lock命令;

所述bios设备根据所述me设备返回的回复信息获取所述随机数;其中,所述回复信息中携带有所述me设备根据所述hmrfpo_lock命令生成的随机数;

所述bios设备保存所述随机数。

所述bios设备保存所述随机数,包括:

所述bios设备保存所述随机数在非易失性随机访问存储器nvram或互补金属氧化物半导体cmos中。

所述预设机制为系统管理中断smi机制;其中,所述smi机制包括软件swsmi机制和通用输入/输出gpiosmi机制。

当所述预设机制为所述swsmi机制时,所述bios设备检测预设机制是否被触发,包括:

所述bios设备检测是否出现通过输入/输出端口ioport的0xb2写入的值;

相应的,所述当检测到所述预设机制被触发时,所述bios设备向所述me设备发送携带有所述随机数的重启命令,包括:

当检测到通过所述ioport的0xb2写入的值时,所述bios设备向所述me设备发送携带有所述随机数的重启命令;

当所述预设机制为所述gpiosmi机制时,所述bios设备检测预设机制是否被触发,包括:

所述bios设备检测所述gpio的信号是否发生改变;

相应的,所述当检测到所述预设机制被触发时,所述bios设备向所述me设备发送携带有所述随机数的重启命令,包括:

当检测到所述gpio的信号发生改变时,所述bios设备向所述me设备发送携带有所述随机数的重启命令。

所述重启命令为主机管理引擎区域闪存保护重置hmrfpo_mereset命令。

本发明还提供一种重启管理引擎的方法,包括:

me设备接收bios设备发送的携带有随机数的重启命令;

所述me设备判断所述随机数是否正确;

若所述随机数正确,所述me设备根据所述重启命令进行重启。

所述me设备接收所述bios设备发送的携带有随机数的重启命令之前,所述方法还包括:

所述me设备接收所述bios设备发送的hmrfpo_lock命令;

所述me设备向所述bios设备发送回复信息;其中,所述回复信息中携带有所述me设备根据所述hmrfpo_lock命令生成的随机数。

本发明还提供一种基本输入输出系统设备,包括:

获取模块,用于获取管理引擎me设备生成的随机数并保存;

检测模块,用于检测用于向所述me设备发送重启命令的预设机制是否被触发;

发送模块,用于当检测到所述预设机制被触发时,向所述me设备发送携带有所述随机数的重启命令。

本发明还提供一种管理引擎设备,包括:

接收模块,用于接收基本输入输出系统bios设备发送的携带有随机数的重启命令;

判断模块,用于判断所述随机数是否正确;

处理模块,用于若所述随机数正确,根据所述重启命令进行重启。

与现有技术相比,本发明至少包括基本输入输出系统(basicinputoutputsystem,bios)设备获取me设备生成的随机数并保存;检测用于向me设备发送重启命令的预设机制是否被触发;当检测到预设机制被触发时,向me设备发送携带有随机数的重启命令。从本发明提供的技术方案可见,只要检测到预设机制被触发,bios设备就可以向me设备发送重启命令使其重启,从而不再需要通过集成在bmc设备上的ipmi发送重启命令重启me设备,因此不论bmc设备的工作状态是否正常,都不会影响重启命令的发送,消除了me设备重启的局限性,维持了操作系统的正常运行。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种重启管理引擎的方法的流程示意图;

图2为本发明实施例提供的另一种重启管理引擎的方法的流程示意图;

图3为本发明实施例提供的又一种重启管理引擎的方法的流程示意图;

图4为本发明实施例提供的又一种重启管理引擎的方法的流程示意图;

图5为本发明实施例提供的一种基本输入输出系统设备的结构示意图;

图6为本发明实施例提供的另一种基本输入输出系统设备的结构示意图;

图7为本发明实施例提供的一种管理引擎设备的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明实施例提供一种重启管理引擎的方法,如图1所示,该方法包括:

步骤101、bios设备获取me设备生成的随机数并保存。

需要说明的是,me设备生成的随机数就是me设备的noncce值。

步骤102、bios设备检测用于向me设备发送重启命令的预设机制是否被触发。

可选地,预设机制可以为系统管理中断(systemmangermantinterrupt,smi)机制。可选地,smi机制可以包括软件smi(softwearsmi,swsmi)机制和通用输入/输出smi(generalpurposeinputoutputsmi,gpiosmi)机制,还可以包括其他形式的smi机制。

步骤103、当检测到预设机制被触发时,bios设备向me设备发送携带有随机数的重启命令。

本发明实施例所提供的重启管理引擎的方法,bios设备获取me设备生成的随机数并保存;检测用于向me设备发送重启命令的预设机制是否被触发;当检测到预设机制被触发时,向me设备发送携带有随机数的重启命令。只要检测到预设机制被触发,bios设备就可以向me发送重启命令使其重启,从而不再需要通过集成在bmc设备上的ipmi发送重启命令重启me设备,因此不论bmc设备的工作状态是否正常,都不会影响重启命令的发送,消除了me设备重启的局限性,维持了操作系统的正常运行。

本发明实施例提供另一种重启管理引擎的方法,如图2所示,该方法包括:

步骤201、me设备接收bios设备发送的携带有随机数的重启命令。

步骤202、me设备判断随机数是否正确。

具体的,判断随机数是否正确指的是判断随机数是否是在当前这次操作系统启动时me设备生成的。

步骤203、若随机数正确,me设备根据重启命令进行重启。

需要说明的是,若随机数不正确,me设备则忽略重启命令不进行重启。

本发明实施例所提供的重启管理引擎的方法,me设备接收bios设备发送的携带有随机数的重启命令;判断随机数是否正确;若随机数正确,根据重启命令进行重启。由于me设备接收到的重启命令是bios设备发送的,而不是通过集成在bmc设备上的ipmi发送的,所以bmc设备的工作状态是否正常,都不会影响重启命令的发送。当me设备接收到了bios设备的携带有随机数的重启命令,并判断随机数正确后,就可以进行重启,从而消除了自身重启的局限性,维持了操作系统的正常运行。

本发明实施例提供又一种重启管理引擎的方法,应用于预设机制为swsmi机制时管理引擎的重启,如图3所示,该方法包括:

步骤301、bios设备向me设备发送主机管理引擎区域闪存保护锁定(hostmeregionflashprotectionoverride_lock,hmrfpo_lock)命令。

步骤302、me设备接收bios设备发送的hmrfpo_lock命令。

步骤303、me设备向bios设备发送回复信息。

其中,回复信息中携带有me设备根据hmrfpo_lock命令生成的随机数。

步骤304、bios设备根据me设备返回的回复信息获取随机数。

步骤305、bios设备保存随机数。

具体的,随机数是变化的,bios设备在操作系统每次启动时都会通过向me设备发送hmrfpo_lock命令以获得随机数,但在操作系统的一次启动至下一次启动的持续过程中,me设备只会在bios设备第一次发送该命令时进行响应,因此,在操作系统的一次启动至下一次启动的持续过程中,bios设备必须将获得的随机数保存起来。

可选的,bios设备可以将随机数保存在非易失性随机访问存储器(non-volatilerandomaccessmemory,nvram)或互补金属氧化物半导体(complementarymetaloxidesemiconductor,cmos)中。

步骤306、bios设备检测是否出现通过输入/输出端口(input/outputport,ioport)的0xb2写入的值。

步骤307、当检测到通过ioport的0xb2写入的值时,bios设备向me设备发送携带有随机数的重启命令。

可选的,重启命令可以是主机管理引擎区域闪存保护重置(hostmeregionflashprotectionoverride_mereset,hmrfpo_mereset)命令。向ioport0xb2里写值,就可触发swsmi,使得bios设备向me设备发送携带有随机数的重启命令。

需要说明的是,bios设备向me设备发送携带有随机数的重启命令之前,要先获取之前保存在nvram或cmos中的随机数。

步骤308、me设备接收bios设备发送的携带有随机数的重启命令。

步骤309、me设备判断随机数是否正确。

步骤310、若随机数正确,me设备根据重启命令进行重启。

需要说明的是,本实施例中与其它实施例中相同步骤或者概念的解释,可以参照其它实施例中的描述。

本发明实施例所提供的重启管理引擎的方法,应用于预设机制为swsmi机制时管理引擎的重启,当检测到通过ioport的0xb2写入的值时,bios设备向me设备发送携带有随机数的重启命令,me设备在判断随机数正确后根据重启命令进行重启,而不再需要通过集成在bmc设备上的ipmi发送重启命令重启me设备,因此不论bmc设备的工作状态是否正常,都不会影响重启命令的发送,消除了me设备重启的局限性,维持了操作系统的正常运行。

本发明实施例提供又一种重启管理引擎的方法,应用于预设机制为gpiosmi机制时管理引擎的重启,如图4所示,该方法包括:

步骤401、bios设备向me设备发送hmrfpo_lock命令。

步骤402、me设备接收bios设备发送的hmrfpo_lock命令。

步骤403、me设备向bios设备发送回复信息。

其中,回复信息中携带有me设备根据hmrfpo_lock命令生成的随机数。

步骤404、bios设备根据me设备返回的回复信息获取随机数。

步骤405、bios设备保存随机数。

步骤406、bios设备检测gpio的信号是否发生改变。

步骤407、当检测到gpio的信号发生改变时,bios设备向me设备发送携带有随机数的重启命令。

具体的,从外部改变gpio的信号,就可触发gpiosmi,使得bios设备向me设备发送携带有随机数的重启命令。

步骤408、me设备接收bios设备发送的携带有随机数的重启命令。

步骤409、me设备判断随机数是否正确。

步骤410、若随机数正确,me设备根据重启命令进行重启。

需要说明的是,本实施例中与其它实施例中相同步骤或者概念的解释,可以参照其它实施例中的描述。

本发明实施例所提供的重启管理引擎的方法,应用于预设机制为gpiosmi机制时管理引擎的重启,当检测到gpio的信号发生改变时,bios设备向me设备发送携带有随机数的重启命令,me设备在判断随机数正确后根据重启命令进行重启,而不再需要通过集成在bmc设备上的ipmi发送重启命令重启me设备,因此不论bmc设备的工作状态是否正常,都不会影响重启命令的发送,消除了me设备重启的局限性,维持了操作系统的正常运行。

本发明实施例提供一种基本输入输出系统设备,如图5所示,该基本输入输出系统设备5包括:

获取模块51,用于获取me设备生成的随机数并保存。

检测模块52,用于检测用于向me设备发送重启命令的预设机制是否被触发。

发送模块53,用于当检测到预设机制被触发时,向me设备发送携带有随机数的重启命令。

进一步,在图5对应的实施例的基础上,本发明实施例提供了另一种基本输入输出系统设备,如6所示,获取模块51包括:

发送单元511,用于向me设备发送hmrfpo_lock命令。

获取单元512,用于根据me设备返回的回复信息获取随机数。其中,回复信息携带有me设备根据hmrfpo_lock命令生成的随机数。

存储单元513,用于保存随机数。

进一步,存储单元513用于保存随机数在nvram或cmos中。

进一步,预设机制为系统管理中断smi机制;其中,smi机制包括swsmi机制和gpiosmi机制。

进一步,检测模块52,具体用于检测是否出现通过ioport的0xb2写入的值;检测gpio的信号是否发生改变。

发送模块53,具体用于当检测到通过ioport的0xb2写入的值时,向me设备发送携带有随机数的重启命令;当检测到gpio的信号发生改变时,向me设备发送携带有随机数的重启命令。

进一步,重启命令为hmrfpo_mereset命令。

本发明实施例所提供的基本输入输出系统设备,获取me设备生成的随机数并保存;检测预先设置的预设机制是否被触发;当检测到预设机制被触发时,向me设备发送携带有随机数的重启命令。只要检测到预设机制被触发,bios设备就可以向me发送重启命令使其重启,从而不再需要通过集成在bmc设备上的ipmi发送重启命令重启me设备,因此不论bmc设备的工作状态是否正常,都不会影响重启命令的发送,消除了me设备重启的局限性,维持了操作系统的正常运行。

在实际应用中,所述获取模块51、发送单元511、获取单元512、存储单元513、检测模块52、发送模块53均可由位于基本输入输出系统设备中的cpu、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

本发明实施例提供一种管理引擎设备,如图7所示,该管理引擎设备6包括:

接收模块61,用于接收bios设备发送的携带有随机数的重启命令。

判断模块62,用于判断随机数是否正确。

处理模块63,用于若随机数正确,根据重启命令进行重启。

进一步,接收模块61,还用于接收bios设备发送的hmrfpo_lock命令。

处理模块63,还用于向bios设备发送回复信息。其中,回复信息中携带有me设备根据hmrfpo_lock命令生成的随机数。

本发明实施例所提供的管理引擎设备,接收bios设备发送的携带有随机数的重启命令;判断随机数是否正确;若随机数正确,根据重启命令进行重启。只要检测到预设机制被触发,bios设备就可以向me发送重启命令使其重启,从而不再需要通过集成在bmc设备上的ipmi发送重启命令重启me设备,因此不论bmc设备的工作状态是否正常,都不会影响重启命令的发送,就可以进行重启,从而消除了自身重启的局限性,维持了操作系统的正常运行。

在实际应用中,所述接收模块61、判断模块62、处理模块63均可由位于管理引擎设备中的cpu、mpu、dsp或fpga等实现。

本发明实施例还提供一种基本输入输出系统设备,该设备包括第一存储器、第一处理器以及存储在第一存储器上并可在第一处理器上运行的计算机程序,第一处理器执行计算机程序时实现的步骤包括:

获取me设备生成的随机数并保存。

检测用于向me设备发送重启命令的预设机制是否被触发。

当检测到预设机制被触发时,向me设备发送携带有随机数的重启命令。

进一步,上述第一处理器执行计算机程序时实现的步骤具体包括:

向me设备发送hmrfpo_lock命令。

根据me设备返回的回复信息获取随机数;其中,回复信息中携带有me设备根据hmrfpo_lock命令生成的随机数。

保存随机数。

进一步,上述第一处理器执行计算机程序时实现的步骤具体还包括:

保存随机数在nvram或cmos中。

进一步,预设机制为smi机制;其中,smi机制包括swsmi机制和gpiosmi机制。

进一步,上述第一处理器执行计算机程序时实现的步骤具体还包括:

检测是否出现通过ioport的0xb2写入的值;当检测到通过ioport的0xb2写入的值时,向me设备发送携带有随机数的重启命令。

检测gpio的信号是否发生改变;当检测到gpio的信号发生改变时,向me设备发送携带有随机数的重启命令。

进一步,重启命令为hmrfpo_mereset命令。

本发明实施例还提供一种管理引擎设备,该设备包括第二存储器、第二处理器以及存储在第二存储器上并可在第二处理器上运行的计算机程序,第二处理器执行计算机程序时实现的步骤包括:

接收bios设备发送的携带有随机数的重启命令。

判断随机数是否正确。

若随机数正确,根据重启命令进行重启。

进一步,上述第一处理器执行计算机程序时实现的步骤还包括:

接收bios设备发送的hmrfpo_lock命令。

向bios设备发送回复信息;其中,回复信息中携带有me设备根据hmrfpo_lock命令生成的随机数。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1