一种BMC故障镜像回滚刷新方法、装置、终端及存储介质与流程

文档序号:18101317发布日期:2019-07-06 11:22阅读:385来源:国知局
一种BMC故障镜像回滚刷新方法、装置、终端及存储介质与流程

本发明涉及服务器故障技术领域,具体涉及一种bmc故障镜像回滚刷新方法、装置、终端及存储介质。



背景技术:

服务器在当今信息社会的应用越来越广泛,尤其是互联网用户,对服务器的需求量的激增,对bmc(即执行伺服器远端管理控制器)的稳定性和安全性的要求越来越高,不仅要求bmc实现服务器各部件温度电压等系列sensor的监控、风扇散热调控及服务器开关机控制,更是对bmc自身的稳定性提出了更高的要求,需要bmc可以从cpu等部件寄存器中抓取的数值进行智能分析,尤其是出现宕机等异常问题时,可以提供宕机原因或者分析建议。

但随着bmc功能的不断强大以及其应用环境的复杂性,代码量的激增,导致bmc在运行过程中经常会概率性出现bmc中的某个应用进程出现hung死的现象,bmc无法进行正常监控,且此时如果进行bmc固件更新,无法正常登录bmc内部,影响了客户的正常使用,尤其是针对客户使用和维护异地的情况,如果进行现场固件更新,更加重了维护的工作量,因此,在此前提下提出了bmc镜像回滚的方法。

针对在bmc出现hung死且无法正常登录bmc的且无法正常进行固件更新的问题,现有技术通常采用以下方案:1、当出现bmchung死的问题时,采用kvm登录服务器os内部,在os内部通过厂家提供的带内刷新工具socflash进行固件更新;2、在bmc内部内置watchdog应用进程,当出现bmchung死的现象时,watchdog无法及时获取到喂狗信号进而硬件重启bmc进行恢复,待恢复之后通过web界面或者刷新脚本工具进行bmc固件更新等系列操作。

方案1基本可以解决当bmc出现hung死现象时的固件更新操作,但是此解决方案存在以下几个缺点:

(1)带内刷新工具一般为fullflash刷新,无法按照客户的需求进行配置参数的保留,如果需要满足客户的此项需求,需要开发专门的脚本工具实现;

(2)带内刷新工具只允许服务器的单台刷新,在没有部署特殊agent环境的条件下,无法进行bmc的批量固件更新;

(3)部分客户的维护与应用分离,当服务器交付使用之后,基本os端的用户名和密码都进行了更改,考虑安全性因素,无法正常通过kvm登录os端进行带内固件更新;

(4)bmchung死的原因多种多样,可能为内存泄露引起,也可能为某个关键性应用进程出现段错误引起,此问题的解决费时费力,带内更新可以解决版本刷新问题,但是在该问题的排查解决阶段,如果没有替代的临时解决方案,则客户无法正常使用bmc进行服务器的管理,影响客户的体验和正常应用。

方案2当出现内存泄露或偶然性因素导致bmc出现hung死的现象的时候,通过watchdog重启bmc可以暂时性解决bmchung死的问题,同时为bmc问题的解决和排查赢取足够的时间,但是如果出现bmc反复hung死现象,该方案无法满足实际应用需求。

因此,亟需通过一种bmc故障镜像回滚刷新方法、装置、终端及存储介质,解决带内配置参数无法灵活按照客户需求进行保留、无法进行bmc批量固件更新、当bmc重启后出现反复hung死的现象时无法正常进行固件更新等问题,实现在问题排查和处理阶段客户正常使用bmc进行服务器管理的目的。



技术实现要素:

针对现有技术的不足,本发明提供一种bmc故障镜像回滚刷新方法、装置、终端及存储介质,在以解决上述技术问题。

第一方面,本申请实施例提供一种bmc故障镜像回滚刷新方法,所述方法包括:

当bmc进行固件更新时,将bmc镜像保存至存储卡内备份;

若bmc出现故障,则bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新;

判断bmc故障是否解决,若是,则将最新的镜像刷新至bmc中,若否,则从存储卡中选择镜像进行回滚。

结合第一方面,在第一方面的第一种实施方式中,所述当bmc进行固件更新时,将bmc镜像保存至存储卡内备份,包括:

配置tf卡bmc镜像备份程序及bmc镜像中配置参数保留和刷新进程;

当bmc通过web进行固件更新时,将bmc镜像保存至tf卡内备份。

结合第一方面,在第一方面的第二种实施方式中,所述若bmc出现故障,则bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新,包括:

若出现bmchung死现象,则bmc镜像中内置的稳定刷新进程通过自定义协议通过与客户端软件工具进行交互;

bmc镜像将保留的配置参数发送至客户端刷新工具,通过客户端刷新工具对bmc进行固件更新。

结合第一方面,在第一方面的第三种实施方式中,所述判断bmc故障是否解决,若是,则将最新的镜像刷新至bmc中,若否,则从存储卡中选择镜像进行回滚,包括:

判断bmchung死问题是否解决,若是,则通过自定义协议将最新的镜像刷新到bmcflash中,若否,则从tf卡中选择镜像进行镜像回滚。

结合第一方面,在第一方面的第四种实施方式中,所述从tf卡中选择镜像进行回滚,包括:

将tf卡挂载到linux系统mnt指定目录;

从tf卡中选择镜像拷贝到bmc指定目录;

将tf卡从linux系统mnt目录卸载;

从bmc指定目录获取需要刷新的镜像进行刷新。

第二方面,本申请实施例提供一种bmc故障镜像回滚刷新装置,所述装置包括:

备份单元,所述备份单元配置用于当bmc进行固件更新时,将bmc镜像保存至存储卡内备份;

固件更新单元,所述固件更新单元配置用于若bmc出现故障,则bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新;

回滚刷新单元,所述回滚刷新单元配置用于判断bmc故障是否解决,若是,则将最新的镜像刷新至bmc中,若否,则从存储卡中选择镜像进行回滚。

结合第二方面,在第二方面的第一种实施方式中,所述备份单元具体用于:

配置tf卡bmc镜像备份程序及bmc镜像中配置参数保留和刷新进程;

当bmc通过web进行固件更新时,将bmc镜像保存至tf卡内备份。

结合第二方面,在第二方面的第二种实施方式中,所述固件更新单元具体用于:

若出现bmchung死现象,则bmc镜像中内置的稳定刷新进程通过自定义协议通过与客户端软件工具进行交互;

bmc镜像将保留的配置参数发送至客户端刷新工具,通过客户端刷新工具对bmc进行固件更新。

结合第二方面,在第二方面的第三种实施方式中,所述回滚刷新单元具体用于:

判断bmchung死问题是否解决,若是,则通过自定义协议将最新的镜像刷新到bmcflash中,若否,则从tf卡中选择镜像进行镜像回滚。

结合第二方面,在第二方面的第四种实施方式中,所述回滚刷新单元还具体用于:

将tf卡挂载到linux系统mnt指定目录;

从tf卡中选择镜像拷贝到bmc指定目录;

将tf卡从linux系统mnt目录卸载;

从bmc指定目录获取需要刷新的镜像进行刷新。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得在终端执行上述方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于:

本发明提供的bmc故障镜像回滚刷新方法、装置、终端及存储介质,通过在服务器中配置tf卡进行bmc镜像的备份及在bmc镜像内部配置参数保留和固件刷新进程,当bmc故障时,bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新,解决带内刷新工具无法按照客户需求进行配置参数保留及固件更新批量问题;同时,当出现bmc反复hung死现象,从tf卡中选择镜像进行回滚,实现在问题排查和处理阶段客户正常使用bmc进行服务器管理的目的。

此外,tf容量已达到了上g甚至几十g,可以保留几乎从bmc出厂为止所有的刷新镜像,当出现问题需要回滚的时候,选择的空间大,可以极大程度上临时满足客户的应用需求,为问题的排查赢取更多的时间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一个实施例的方法的示意性流程图。

图2是本申请一个实施例的装置的示意性框图。

图3为本发明实施例提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

术语解释:

bmc:baseboardmanagementcontroller,基板管理控制器;

tf卡:即sd卡,是一种基于半导体快闪记忆器的记忆存储设备;

bmchung:即bmc的关键性应用进程出现异常退出的现象;

镜像回滚:指的是当前镜像程序处理错误,将镜像恢复到上一次正确镜像状态的行为。

图1是本申请一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种bmc故障镜像回滚刷新装置。

如图1所示,该方法100包括:

步骤110,当bmc进行固件更新时,将bmc镜像保存至存储卡内备份;

步骤120,若bmc出现故障,则bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新;

步骤130,判断bmc故障是否解决,若是,则将最新的镜像刷新至bmc中,若否,则从存储卡中选择镜像进行回滚。

可选地,作为本申请一个实施例,所述当bmc进行固件更新时,将bmc镜像保存至存储卡内备份,包括:

配置tf卡bmc镜像备份程序及bmc镜像中配置参数保留和刷新进程;

当bmc通过web进行固件更新时,将bmc镜像保存至tf卡内备份。

可选地,作为本申请一个实施例,所述若bmc出现故障,则bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新,包括:

若出现bmchung死现象,则bmc镜像中内置的稳定刷新进程通过自定义协议通过与客户端软件工具进行交互;

bmc镜像将保留的配置参数发送至客户端刷新工具,通过客户端刷新工具对bmc进行固件更新。

可选地,作为本申请一个实施例,所述判断bmc故障是否解决,若是,则将最新的镜像刷新至bmc中,若否,则从存储卡中选择镜像进行回滚,包括:

判断bmchung死问题是否解决,若是,则通过自定义协议将最新的镜像刷新到bmcflash中,若否,则从tf卡中选择镜像进行镜像回滚。

可选地,作为本申请一个实施例,所述从tf卡中选择镜像进行回滚,包括:

将tf卡挂载到linux系统mnt指定目录;

从tf卡中选择镜像拷贝到bmc指定目录;

将tf卡从linux系统mnt目录卸载;

从bmc指定目录获取需要刷新的镜像进行刷新。

为了便于对本发明的理解,下面以本发明bmc故障镜像回滚刷新的原理,结合实施例中对bmc故障镜像回滚刷新的过程,对本发明提供的bmc故障镜像回滚刷新方法做进一步的描述。

具体的,bmc故障镜像回滚刷新方法包括如下步骤:

s1、配置tf卡bmc镜像备份程序及bmc镜像中配置参数保留和刷新进程;

s2、当bmc通过web进行固件更新时,将bmc镜像保存至tf卡内备份;

s3、若出现bmchung死现象,则bmc镜像中内置的稳定刷新进程通过自定义协议通过与客户端软件工具进行交互,bmc镜像将保留的配置参数发送至客户端刷新工具,通过客户端刷新工具对bmc进行固件更新;

s4、判断bmchung死问题是否解决,若是,则通过自定义协议将最新的镜像刷新到bmcflash中;

s5、若否,则将tf卡挂载到linux系统mnt指定目录,从tf卡中选择镜像拷贝到bmc指定目录,将tf卡从linux系统mnt目录卸载,从bmc指定目录获取需要刷新的镜像进行刷新,实现镜像回滚。

如图2示,该装置200包括:

备份单元210,所述备份单元210配置用于当bmc进行固件更新时,将bmc镜像保存至存储卡内备份;

固件更新单元220,所述固件更新单元220配置用于若bmc出现故障,则bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新;

回滚刷新单元230,所述回滚刷新单元230配置用于判断bmc故障是否解决,若是,则将最新的镜像刷新至bmc中,若否,则从存储卡中选择镜像进行回滚。

可选地,作为本申请一个实施例,所述备份单元210具体用于:

配置tf卡bmc镜像备份程序及bmc镜像中配置参数保留和刷新进程;

当bmc通过web进行固件更新时,将bmc镜像保存至tf卡内备份。

可选地,作为本申请一个实施例,所述固件更新单元220具体用于:

若出现bmchung死现象,则bmc镜像中内置的稳定刷新进程通过自定义协议通过与客户端软件工具进行交互;

bmc镜像将保留的配置参数发送至客户端刷新工具,通过客户端刷新工具对bmc进行固件更新。

可选地,作为本申请一个实施例,所述回滚刷新单元230具体用于:

判断bmchung死问题是否解决,若是,则通过自定义协议将最新的镜像刷新到bmcflash中,若否,则从tf卡中选择镜像进行镜像回滚。

可选地,作为本申请一个实施例,所述回滚刷新单元230还具体用于:

将tf卡挂载到linux系统mnt指定目录;

从tf卡中选择镜像拷贝到bmc指定目录;

将tf卡从linux系统mnt目录卸载;

从bmc指定目录获取需要刷新的镜像进行刷新。

图3为本发明实施例提供的一种终端装置300的结构示意图,该终端装置300可以用于执行本申请实施例提供的一种bmc故障镜像回滚刷新方法。

其中,该终端装置300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本申请的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integratedcircuit,简称ic)组成,例如可以由单颗封装的ic所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器310可以仅包括中央处理器(centralprocessingunit,简称cpu)。在本申请实施方式中,cpu可以是单运算核心,也可以包括多运算核心。

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本申请还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本申请提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-onlymemory,简称:rom)或随机存储记忆体(英文:randomaccessmemory,简称:ram)等。

因此,本申请提供的bmc故障镜像回滚刷新方法、装置、终端及存储介质,通过在服务器中配置tf卡进行bmc镜像的备份及在bmc镜像内部配置参数保留和固件刷新进程,当bmc故障时,bmc镜像与客户端刷新工具之间进行交互,通过客户端刷新工具对bmc进行固件更新,解决带内刷新工具无法按照客户需求进行配置参数保留及固件更新批量问题;同时,当出现bmc反复hung死现象,从tf卡中选择镜像进行回滚,实现在问题排查和处理阶段客户正常使用bmc进行服务器管理的目的,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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