一种远程刷新BMC固件的方法、装置、设备及存储介质与流程

文档序号:22757297发布日期:2020-10-31 09:54阅读:446来源:国知局
一种远程刷新BMC固件的方法、装置、设备及存储介质与流程

本发明涉及服务器技术领域,特别是涉及一种远程刷新bmc固件的方法、装置、设备及存储介质。



背景技术:

刷新基板管理控制器bmc(baseboardmanagementcontroller,下称bmc)固件就是重写主板bmc的rom中的数据,旨在修复存在的故障或增加新的功能,是服务器运维人员的常用操作。

目前常见的远程刷新bmc固件的方法为:登录bmc的网页后,依次选择系统维护、bmc固件更新、保留配置(可选)、升级模式,上传bmc固件文件,而后进行固件更新,在bmc固件更新完毕后,其所在的主机会自行重启。此外,还可以通过socflash工具以带内的方式进行bmc固件文件的升级。

然而,上述两种常见的远程刷新bmc固件的方式均存在刷新bmc固件太慢的问题,导致大规模远程刷新bmc固件的工作耗时较长。



技术实现要素:

本发明的目的是提供一种远程刷新bmc固件的方法、装置、设备及存储介质,用于加快远程刷新bmc固件的速度,便于用户大规模部署使用服务器。

为解决上述技术问题,本发明提供一种远程刷新bmc固件的方法,基于测试主机,包括:

根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具建立所述测试主机与所述待刷新主机的bmc的通信连接;

将目标bmc镜像文件和所述预设bmc刷新脚本拷贝至预先配置的开放式安全套接层协议平台;

基于所述开放式安全套接层协议平台,调用所述预设bmc刷新脚本,利用所述目标bmc镜像文件对所述待刷新主机的bmc进行固件刷新;

其中,所述测试主机的cpu为arm处理器,所述预设bmc刷新脚本为预先利用busybox组件封装的脚本。

可选的,在所述根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具建立所述测试主机与所述待刷新主机的bmc的通信连接之前,还包括:

将所述测试主机和所述待刷新主机接入同一网段,并将所述测试主机设置为使用所述待刷新主机的管理网口。

可选的,所述将目标bmc镜像文件和所述预设bmc刷新脚本拷贝至预先配置的开放式安全套接层协议平台,具体为:

将所述目标bmc镜像文件与所述预设bmc刷新脚本拷贝至所述开放式安全套接层协议平台的同一文件下。

可选的,所述基于所述开放式安全套接层协议平台,调用所述预设bmc刷新脚本,利用所述目标bmc镜像文件对所述待刷新主机的bmc进行固件刷新,具体包括:

按所述待刷新主机的bmc刷新权限要求修改所述bmc更新文件的权限和所述预设bmc刷新脚本的权限;

利用所述预设bmc刷新脚本将所述待刷新主机的bmc固件刷新为所述目标bmc镜像文件。

可选的,在所述基于所述开放式安全套接层协议平台,调用所述预设bmc刷新脚本,利用所述目标bmc镜像文件对所述待刷新主机的bmc进行固件刷新之前,还包括:

判断所述测试主机与所述待刷新主机的bmc的通信连接是否正常;

如果是,则进入所述调用预先利用busybox组件的工具封装的预设bmc刷新脚本,利用所述目标bmc镜像文件对所述待刷新主机的bmc进行固件刷新的步骤;

如果否,则发出通信异常的报错信息。

可选的,在所述基于所述开放式安全套接层协议平台,调用所述预设bmc刷新脚本,利用所述目标bmc镜像文件对所述待刷新主机的bmc进行固件刷新之前,还包括:

判断所述目标bmc镜像文件是否与所述待刷新主机的bmc的当前镜像文件采用同一内核和同一架构;

如果是,则进入所述调用预先利用busybox组件的工具封装的预设bmc刷新脚本,利用所述目标bmc镜像文件对所述待刷新主机的bmc进行固件刷新的步骤;

如果否,则发出所述目标bmc镜像文件异常的报错信息。

可选的,在所述根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具建立所述测试主机与所述待刷新主机的bmc的通信连接之前,还包括:

预先将所述智能平台管理接口工具和与所述开放式安全套接层协议平台对应的开放式安全套接层协议组件封装于所述arm处理器的操作系统的安装脚本中。

为解决上述技术问题,本发明还提供一种远程刷新bmc固件的装置,包括:

通信单元,用于根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具建立所述测试主机与所述待刷新主机的bmc的通信连接;

上传单元,用于将目标bmc镜像文件和所述预设bmc刷新脚本拷贝至预先配置的开放式安全套接层协议平台;

刷新单元,用于基于所述开放式安全套接层协议平台,调用所述预设bmc刷新脚本,利用所述目标bmc镜像文件对所述待刷新主机的bmc进行固件刷新;

其中,所述预设bmc刷新脚本为预先利用busybox组件封装的脚本。

为解决上述技术问题,本发明还提供一种远程刷新bmc固件的设备,包括:

存储器,用于存储指令,所述指令包括上述任意一项所述远程刷新bmc固件的方法的步骤;

处理器,用于执行所述指令。

为解决上述技术问题,本发明还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述远程刷新bmc固件的方法的步骤。

本发明所提供的远程刷新bmc固件的方法,基于cpu采用arm处理器的测试主机实现,在arm处理器下,可以根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具与待刷新主机的bmc的通信连接,同时,将目标bmc镜像文件和预先利用busybox组件的工具封装的预设bmc刷新脚本拷贝至开放式安全套接层协议平台,而后基于开放式安全套接层协议平台,调用预设bmc刷新脚本,利用目标bmc镜像文件对待刷新主机的bmc进行固件刷新,该刷新过程直接作用于待刷新主机的bmc的flashrom,达到了直接用烧录机烧录的效果,相较于现有技术中以登录前端来访问后端的方式进行bmc固件刷新,不再受限于前端与后端之间的通信质量,简化了bmc固件刷新过程中的通信链路,省去了由此造成的很多升级过程中的麻烦,从而加快了远程刷新bmc固件的速度,便于用户大规模部署使用服务器。

本发明还提供一种远程刷新bmc固件的装置、设备及存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本发明实施例提供的一种远程刷新bmc固件的方法的流程图;

图2为本发明实施例提供的一种远程刷新bmc固件的装置的结构示意图;

图3为本发明实施例提供的一种远程刷新bmc固件的设备的结构示意图。

具体实施方式

本发明的核心是提供一种远程刷新bmc固件的方法、装置、设备及存储介质,用于加快远程刷新bmc固件的速度,便于用户大规模部署使用服务器。

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

图1为本发明实施例提供的一种远程刷新bmc固件的方法的流程图。

如图1所示,基于cpu为arm(advancedriscmachines)处理器的测试主机,本发明实施例提供的远程刷新bmc固件的方法包括:

s101:根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具(ipmitool)建立测试主机与待刷新主机的bmc的通信连接。

s102:将目标bmc镜像文件和预设bmc刷新脚本拷贝至预先配置的开放式安全套接层协议(openssl)平台。

s103:基于该开放式安全套接层协议平台,调用预设bmc刷新脚本,利用目标bmc镜像文件对待刷新主机的bmc进行固件刷新。

其中,预设bmc刷新脚本为预先利用busybox组件封装的脚本。

在执行本发明实施例提供的步骤之前,首先要进行测试主机的部署。测试主机可以选择ft2000+服务器。arm处理器的操作系统选择社区企业操作系统(centos),优选为armcentos7.2以上的版本。基于ft2000+服务器在armcentos7.2平台远程刷新bmc固件,是在arm处理器(ft2000+)架构的服务器平台,采用远程带外刷新bmc方法,该平台支持的智能平台管理接口工具、开放式安全套接层协议组件和busybox组件三个第三方开源组件可以用于实现本发明实施例的方案。其中,智能平台管理接口工具是一种可用在linux系统下的命令行方式的工具,开放式安全套接层协议组件是一个开放源代码的软件库包,busybox组件是一个集成了三百多个最常用linux命令和工具的软件。在本发明实施例中,先利用智能平台管理接口工具建立与测试主机与待刷新主机的bmc的通信连接,再基于开放式安全套接层协议平台建立测试主机对待刷新主机的bmc的刷新权限,而后利用busybox组件刷新待刷新主机的bmc的rom的内核。

为保证连接成功,在步骤s101之前,本发明实施例提供的远程刷新bmc固件的方法还包括:将测试主机和待刷新主机接入同一网段,并将测试主机设置为使用待刷新主机的管理网口。

在步骤s101之前,还需要安装配置好的智能平台管理接口工具和开放式安全套接层协议组件。

为方便操作,在步骤s101之前,本发明实施例提供的远程刷新bmc固件的方法还包括:预先将智能平台管理接口工具和与开放式安全套接层协议平台对应的开放式安全套接层协议组件封装于arm处理器的操作系统的安装脚本中。

通过将配置好的智能平台管理接口工具和开放式安全套接层协议组件封装于arm处理器的操作系统的安装脚本,在进行测试主机的操作系统的自动安装的同时,实现智能平台管理接口工具和开放式安全套接层协议组件的安装,从而在进行bmc固件刷新时,减少了安装组件的过程,方便操作。

为进一步加快刷新进程,在步骤s102中,将目标bmc镜像文件与预设bmc刷新脚本拷贝至开放式安全套接层协议平台的同一文件下,以便在该文件下对将目标bmc镜像文件与预设bmc刷新脚本进行统一操作。具体可以将目标bmc镜像文件与预设bmc刷新脚本拷贝至开放式安全套接层协议平台的bmc更新文件(bmcupdate)中。

预先设计封装busybox组件的工具,得到预设bmc刷新脚本以执行后续刷新bmc固件的步骤。

基于开放式安全套接层协议平台获得对待刷新主机的bmc固件的刷新权限,进而才可以对待刷新主机的bmc固件进行刷新,则步骤s103具体包括:

按待刷新主机的bmc刷新权限要求修改bmc更新文件的权限和预设bmc刷新脚本的权限;

利用预设bmc刷新脚本将待刷新主机的bmc固件刷新为目标bmc镜像文件。

本发明实施例提供的远程刷新bmc固件的方法,基于cpu采用arm处理器的测试主机实现,在arm处理器下,可以根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具与待刷新主机的bmc的通信连接,同时,将目标bmc镜像文件和预先利用busybox组件的工具封装的预设bmc刷新脚本拷贝至开放式安全套接层协议平台,而后基于开放式安全套接层协议平台,调用预设bmc刷新脚本,利用目标bmc镜像文件对待刷新主机的bmc进行固件刷新,该刷新过程直接作用于待刷新主机的bmc的flashrom,达到了直接用烧录机烧录的效果,相较于现有技术中以登录前端来访问后端的方式进行bmc固件刷新,不再受限于前端与后端之间的通信质量,简化了bmc固件刷新过程中的通信链路,省去了由此造成的很多升级过程中的麻烦,从而加快了远程刷新bmc固件的速度,便于用户大规模部署使用服务器。

在上述实施例的基础上,为保证bmc固件刷新过程的正常进行,避免因不必要的麻烦造成刷新过程中断,在步骤s103:基于该开放式安全套接层协议平台,调用预设bmc刷新脚本,利用目标bmc镜像文件对待刷新主机的bmc进行固件刷新之前,本发明实施例提供的远程刷新bmc固件的方法还包括:

判断测试主机与待刷新主机的bmc的通信连接是否正常;

如果是,则进入步骤s103;

如果否,则发出通信异常的报错信息。

在具体实施中,在通过智能平台管理接口工具建立测试主机与待刷新主机的bmc的通信连接后,可以定时地进行判断测试主机与待刷新主机的bmc的通信连接是否正常的步骤,在步骤s103执行的过程中,也可以继续进行监测,从而在待刷新主机的bmc通信异常的情况下及时提示运维人员,避免bmc固件刷新过程中断导致刷新过程延长。

为了提高bmc固件刷新成功率,在步骤s103:基于该开放式安全套接层协议平台,调用预设bmc刷新脚本,利用目标bmc镜像文件对待刷新主机的bmc进行固件刷新之前,本发明实施例提供的远程刷新bmc固件的方法还包括:

判断目标bmc镜像文件是否与待刷新主机的bmc的当前镜像文件采用同一内核和同一架构;

如果是,则进入调用预先利用busybox组件的工具封装的预设bmc刷新脚本,利用目标bmc镜像文件对待刷新主机的bmc进行固件刷新的步骤;

如果否,则发出目标bmc镜像文件异常的报错信息。

在实际应用中,尤其是在进行大规模远程刷新bmc固件的工作中,针对不同的待刷新主机可以会设计不同的目标bmc镜像文件,此时核对目标bmc镜像文件是否正确就尤为重要。具体地,测试主机识别目标bmc镜像文件,得到目标bmc镜像文件对应的内核类型和架构类型,获取待刷新主机的bmc的当前镜像文件中记载的内核类型和架构类型进行文件对比校验,在确定目标bmc镜像文件与待刷新主机的bmc的当前镜像文件采用同一内核和同一架构后再进行bmc固件刷新工作,避免刷入了错误的目标bmc镜像文件导致待刷新主机的bmc不可用。

上文详述了远程刷新bmc固件的方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的远程刷新bmc固件的装置、设备及存储介质。

图2为本发明实施例提供的一种远程刷新bmc固件的装置的结构示意图。

如图2所示,本发明实施例提供的远程刷新bmc固件的装置包括:

通信单元201,用于根据待刷新主机的ip地址,利用预先配置的智能平台管理接口工具建立测试主机与待刷新主机的bmc的通信连接;

上传单元202,用于将目标bmc镜像文件和预设bmc刷新脚本拷贝至预先配置的开放式安全套接层协议平台;

刷新单元203,用于基于开放式安全套接层协议平台,调用预设bmc刷新脚本,利用目标bmc镜像文件对待刷新主机的bmc进行固件刷新;

其中,预设bmc刷新脚本为预先利用busybox组件封装的脚本。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图3为本发明实施例提供的一种远程刷新bmc固件的设备的结构示意图。

如图3所示,本发明实施例提供的远程刷新bmc固件的设备包括:

存储器310,用于存储指令,所述指令包括上述任意一项实施例所述的远程刷新bmc固件的方法的步骤;

处理器320,用于执行所述指令。

其中,处理器320可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器320可以采用数字信号处理dsp(digitalsignalprocessing)、现场可编程门阵列fpga(field-programmablegatearray)、可编程逻辑阵列pla(programmablelogicarray)中的至少一种硬件形式来实现。处理器320也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器cpu(centralprocessingunit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器320可以集成有图像处理器gpu(graphicsprocessingunit),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器320还可以包括人工智能ai(artificialintelligence)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器310可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器310还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器310至少用于存储以下计算机程序311,其中,该计算机程序311被处理器320加载并执行之后,能够实现前述任一实施例公开的远程刷新bmc固件的方法中的相关步骤。另外,存储器310所存储的资源还可以包括操作系统312和数据313等,存储方式可以是短暂存储或者永久存储。其中,操作系统312可以为windows。数据313可以包括但不限于上述方法所涉及到的数据。

在一些实施例中,远程刷新bmc固件的设备还可包括有显示屏330、电源340、通信接口350、输入输出接口360、传感器370以及通信总线380。

本领域技术人员可以理解,图3中示出的结构并不构成对远程刷新bmc固件的设备的限定,可以包括比图示更多或更少的组件。

本申请实施例提供的远程刷新bmc固件的设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的远程刷新bmc固件的方法,效果同上。

需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。

为此,本发明实施例还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现如远程刷新bmc固件的方法的步骤。

该存储介质可以包括:u盘、移动硬盘、只读存储器rom(read-onlymemory)、随机存取存储器ram(randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本实施例中提供的存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的远程刷新bmc固件的方法的步骤,效果同上。

以上对本发明所提供的一种远程刷新bmc固件的方法、装置、设备及存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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