一种BMC固件的更新方法、相关设备及系统与流程

文档序号:16007832发布日期:2018-11-20 20:17阅读:424来源:国知局

本申请涉及服务器技术领域,特别涉及一种BMC固件的更新方法,还涉及一种BMC管理设备、BMC监控设备以及BMC固件的更新系统。



背景技术:

BMC(Board manager controller,基板管理控制器)是服务器上的基板管理系统,用于实现服务器的资产信息显示、硬件监控、散热调控、系统配置、远程监控、日志收集、故障诊断、系统维护等重要功能。由于服务器功能的复杂性需要或者基于复用其他产品硬件的需要,在服务器设计时,需要安装两个BMC芯片来实现整个服务器系统的监控管理功能,其中一个主BMC用于基本的服务器监控管理功能,而另外一个作为从BMC,只用于监控某些设备,也只具备主BMC的部分简单功能,同时,从BMC也不同于主BMC具有供用户访问的网络接口和web页面,因此,从BMC的所有信息展示以及用户对其进行的操作均是通过主BMC实现的,由此即可降低硬件的设计难度和成本,而且便于更好地复用其他产品的硬件。

然而,随着服务器技术的发展,用户对BMC的功能要求也逐步提高,由此,则需要对BMC的固件进行更新,以满足用户的需要。现有技术中,可通过网络接口实现对BMC固件的更新,然而,该方法仅适用于对接入网络的主BMC进行固件更新,而无法对未接入网络的从BMC固件实现在线更新。当需要对从BMC进行固件更新时,则需要进入实验室接入网线实现,该方法的操作较为复杂,相应的,维护成本也很高。

因此,如何实现服务器中各个BMC固件的在线更新,有效降低硬件设计的复杂度和成本,进一步降低用户的操作难度和维护成本是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种BMC固件的更新方法,该更新方法实现了对服务器中各个BMC固件的在线更新,有效降低了硬件设计的复杂度和成本,进一步降低了用户的操作难度和维护成本;本申请的另一目的是提供一种BMC管理设备、BMC监控设备以及BMC固件的更新系统,均具有上述有益效果。

为解决上述技术问题,本申请提供了一种BMC固件的更新方法,包括:

主BMC接收网络端发送的镜像文件;

所述主BMC利用UART接口将所述镜像文件发送至从BMC;

所述从BMC基于所述镜像文件进行固件更新;

所述从BMC按照预定时间向所述主BMC反馈更新进度,直至更新结束。

优选的,所述主BMC利用UART接口将所述镜像文件发送至从BMC,包括:

所述主BMC向所述从BMC发送基于所述UART接口的传输指令;

所述从BMC响应所述传输指令,开启传输模式;

在所述传输模式下,所述主BMC将所述镜像文件发送至所述从BMC。

优选的,所述主BMC利用UART接口将所述镜像文件发送至从BMC之后,还包括:

所述从BMC将所述镜像文件保存至自身内存目录。

优选的,所述从BMC基于所述镜像文件进行固件更新,包括:

所述主BMC向所述从BMC发送基于所述UART接口的更新指令;

所述从BMC响应所述更新指令,开启更新模式;

在所述更新模式下,所述从BMC基于所述镜像文件进行固件更新。

优选的,所述在所述更新模式下,所述从BMC基于所述镜像文件进行固件更新,包括:

在所述更新模式下,所述从BMC将所述镜像文件由所述内存目录移动至更新目录;

所述从BMC在所述更新目录中基于所述镜像文件对自身固件进行更新。

优选的,所述从BMC在所述更新目录中基于所述镜像文件进行固件更新之前,还包括:

所述主BMC向所述从BMC发送基于所述UART接口的校验指令;

所述从BMC响应所述校验指令,在所述更新目录中对所述镜像文件进行校验。

优选的,所述从BMC按照预定时间向所述主BMC反馈更新进度,直至更新结束,包括:

所述主BMC按照所述预定时间向所述从BMC发送基于所述UART接口的进度获取请求指令;

所述从BMC响应所述进度获取请求指令,向所述主BMC反馈更新进度,直至更新结束。

为解决上述技术问题,本申请提供了一种BMC管理设备,包括:

第一存储器,用于存储第一计算机程序;

第一处理器,用于执行所述第一计算机程序,实现接收网络端发送的镜像文件,并利用UART接口将所述镜像文件发送至BMC监控设备,以使所述BMC监控设备基于所述镜像文件进行固件更新,并按照预定时间反馈更新进度,直至更新结束。

为解决上述技术问题,本申请提供了一种BMC监控设备,包括:

第二存储器,用于存储第二计算机程序;

第二处理器,用于执行所述第二计算机程序,实现利用UART接口接收BMC管理设备发送的镜像文件;基于所述镜像文件进行固件更新;并按照预定时间向所述BMC管理设备反馈更新进度,直至更新结束。

为解决上述技术问题,本申请提供了一种BMC固件的更新系统,包括所述BMC管理设备和BMC监控设备。

本申请所提供的一种BMC固件的更新方法,包括主BMC接收网络端发送的镜像文件;所述主BMC利用UART接口将所述镜像文件发送至从BMC;所述从BMC基于所述镜像文件进行固件更新;所述从BMC按照预定时间向所述主BMC反馈更新进度,直至更新结束。

可见,本申请所提供的BMC固件的更新方法,在主BMC接收到网络端发送的BMC固件的镜像文件之后,即可基于UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)接口将该镜像文件由主BMC传输至从BMC进行更新,以实现对服务器中各个BMC固件的在线更新,有效降低了硬件设计的复杂程度,使系统更加简单化,同时也有效降低了硬件设计成本,进一步降低了用户的操作难度和维护成本。

本申请所提供的一种BMC管理设备、BMC监控设备以及BMC固件的更新系统,均具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请所提供的一种BMC固件的更新方法的流程示意图;

图2为本申请所提供的一种镜像文件传输方法的流程示意图;

图3为本申请所提供的一种基于镜像文件实现固件更新的方法的流程示意图;

图4为本申请所提供的一种更新进度反馈方法的流程示意图;

图5为本申请所提供的一种BMC管理设备的示意图;

图6本申请所提供的一种BMC监控设备的示意图;

图7为本申请所提供的一种BMC固件的更新系统的示意图。

具体实施方式

本申请的核心是提供一种BMC固件的更新方法,该更新方法实现了对服务器中各个BMC固件的在线更新,有效降低了硬件设计的复杂度和成本,进一步降低了用户的操作难度和维护成本;本申请的另一核心是提供一种BMC管理设备、BMC监控设备以及BMC固件的更新系统,也具有上述有益效果。

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

请参考图1,图1为本申请所提供的一种BMC固件的更新方法的流程示意图,该更新方法可以包括:

S1:主BMC接收网络端发送的镜像文件;

具体的,主BMC即为接入网络接口,用于实现对整个服务器系统监控管理功能的BMC管理设备,由于其可以与网络端相连接,因此,当需要对该主BMC进行固件更新时,即可直接通过网络接口接收网络端发送的镜像文件,并基于该镜像文件实现对自身固件的更新。而当需要对服务器中的从BMC进行固件更新时,则可先由上述主BMC接收网络端发送的镜像文件,以进一步实现对从BMC的固件更新。

S2:主BMC利用UART接口将镜像文件发送至从BMC;

具体的,当主BMC接收到网络端发送的镜像文件后,即可基于UART接口将该镜像文件发送至从BMC进行后续固件更新。其中,上述UART接口是一种通用串行数据总线,可用于实现主BMC与从BMC的连接,以进行异步通信,该总线可双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART可用于主机与辅助设备的通信,如汽车音响与外接AP之间的通信,与PC机通信可包括与监控调试器和其它器件,如EEPROM的通信。

可选的,请参考图2,图2为本申请所提供的一种镜像文件传输方法的流程示意图,上述主BMC利用UART接口将镜像文件发送至从BMC可以包括:

S201:主BMC向从BMC发送基于UART接口的传输指令;

S202:从BMC响应传输指令,开启传输模式;

S203:在传输模式下,主BMC将镜像文件发送至从BMC。

具体的,当主BMC向从BMC发送镜像文件时,由于从BMC未接入网络,因此,主BMC可以先向其发送基于UART接口的传输指令,以使从BMC响应该传输指令,以开启传输模式,同样的,主BMC在发送镜像文件之前,也同时开启传输模式,此时,即可在上述传输模式下实现镜像文件的发送。

可选的,上述主BMC利用UART接口将镜像文件发送至从BMC之后,还可以包括:从BMC将镜像文件保存至自身内存目录。

具体的,从BMC在接收到镜像文件之后,可将该镜像文件保存至自身的内存目录下,以实现备份功能,同时,也便于对其进行调用以实现后续固件的更新处理。

S3:从BMC基于镜像文件进行固件更新;

具体的,从BMC在接收到镜像文件后,即可基于该镜像文件实现对自身固件的更新。其中,该镜像文件即为BMC固件的镜像文件,具体而言,镜像文件是将特定的一系列文件按照一定的格式制作成的单一的文件,类似于rar、ZIP压缩包,可以被特定的软件识别并可直接刻录到光盘上,因此,从BMC可基于其对应的镜像文件实现固件更新。

可选的,请参考图3,图3为本申请所提供的一种根据镜像文件进行固件更新的方法的流程示意图,上述从BMC基于镜像文件进行固件更新可以包括:

S301:主BMC向从BMC发送基于UART接口的更新指令;

S302:从BMC响应更新指令,开启更新模式;

S303:在更新模式下,从BMC基于镜像文件进行固件更新。

具体的,类似于镜像文件的传输过程,在从BMC基于镜像文件进行固件更新时,主BMC可以先向从BMC发送基于UART接口的更新指令,以使从BMC响应该更新指令,以开启更新模式,进一步,从BMC在更新模式下,即可基于镜像文件实现自身固件的更新。

可选的,上述在更新模式下,从BMC基于镜像文件进行固件更新可以包括:在更新模式下,从BMC将镜像文件由内存目录移动至更新目录;从BMC在更新目录中基于镜像文件对自身固件进行更新。

具体的,当从BMC进入更新模式后,即可将自身内存目录中的镜像文件移动至更新目录中,以便于在该更新目录中基于上述镜像文件实现对自身固件的更新。

S4:从BMC按照预定时间向主BMC反馈更新进度,直至更新结束。

具体的,从BMC在进行自身固件的更新过程中,可每间隔预定时间向主BMC发送一次更新进度信息,以反馈固件更新的进度,直至更新结束,完成整个从BMC固件的更新操作。其中,上述预定时间可由用户根据实际情况进行设置,本申请对其不做唯一限定。

优选的,请参考图4,图4为本申请所提供的一种更新进度反馈方法的流程示意图,上述从BMC按照预定时间向主BMC反馈更新进度,直至更新结束可以包括:

S401:主BMC按照预定时间向从BMC发送基于UART接口的进度获取请求指令;

S402:从BMC响应进度获取请求指令,向主BMC反馈更新进度,直至更新结束。

具体的,类似于镜像文件的传输过程,从BMC按照预定时间向主BMC反馈更新进度时,可以首先由主BMC定时向从BMC发送基于UART接口的进度获取请求指令,即按照上述预定时间发送该进度获取指令,以使从BMC响应该进度获取请求指令,并向主BMC反馈更新进度,直至整个固件更新过程结束。

本申请所提供的BMC固件的更新方法,在主BMC接收到网络端发送的BMC固件的镜像文件之后,即可基于UART接口将该镜像文件由主BMC传输至从BMC进行更新,以实现对服务器中各个BMC固件的在线更新,有效降低了硬件设计的复杂程度,使系统更加简单化,同时也有效降低了硬件设计成本,进一步降低了用户的操作难度和维护成本。

在上述实施例的基础上:

作为一种优选实施例,上述从BMC在更新目录中基于镜像文件进行固件更新之前,还可以包括主BMC向从BMC发送基于UART接口的校验指令;从BMC响应校验指令,在更新目录中对镜像文件进行校验。

具体的,从BMC在基于镜像固件进行固件更新之前,还可以先对该镜像固件进行校验,以验证其正确性。首先可以由主BMC向从BMC发送基于UART接口的校验指令,以使从BMC响应该校验指令,在其更新目录中实现对镜像文件的校验,以进一步完成对自身固件的更新,由此,即可保证了镜像文件的正确性。

以下为本申请所提供的一种BMC固件的更新方法的具体实施例,其具体实现方式如下:

主BMC通过网络接口接收网络断发送的镜像文件,并保存至自身的存储目录中,如主BMC的/var/rom.ima,并通过UART接口创建与从BMC通信的session,以实现二者之间的通信;

进一步,主BMC向从BMC发送告知镜像文件传输的基于UART接口的ipmi命令,即上述传输指令,发送成功后,主BMC和从BMC均开启基于UART接口的文件传输模块,即开启传输模式,实现镜像文件的传输,将镜像文件上传至从BMC的某个存储目录,如从BMC的/var/rom.ima中;

进一步,主BMC向从BMC发送告知进入更新模式的基于UART接口的ipmi命令,从BMC即可响应该命令,进入更新模式;

进一步,进入更新模式后,从BMC将镜像文件从自身的存储目录移动至更新目录,如从/var/rom.ima移动至/mnt/fwupdatr/rom.ima中;

进一步,主BMC向从BMC发送告知进行镜像校验的基于UART接口ipmi命令,即上述校验指令,从BMC即可响应该校验指令,在更新目录中对镜像文件进行镜像校验;

进一步,校验完成后,主BMC向从BMC发送告知开始固件更新的基于UART接口的ipmi命令,即上述更新指令,从BMC即可响应该更新指令,对自身固件进行更新;

最后,主BMC循环的向从BMC发送获取更新进度的基于UART接口的ipmi命令,即上述进度获取请求指令,从BMC即可响应该进度获取请求指令将自身固件的更新进度返回至主BMC,直至整个更新过程结束。

本申请具体实施例所提供的BMC固件的更新方法,在主BMC接收到网络端发送的BMC固件的镜像文件之后,即可基于UART接口将该镜像文件由主BMC传输至从BMC进行更新,以实现对服务器中各个BMC固件的在线更新,有效降低了硬件设计的复杂程度,使系统更加简单化,同时也有效降低了硬件设计成本,进一步降低了用户的操作难度和维护成本。

为解决上述问题,请参考图5,图5为本申请所提供的一种BMC管理设备的示意图,该BMC管理设备可包括:

第一存储器10,用于存储第一计算机程序;

第一处理器11,用于执行上述第一计算机程序时可实现以下步骤:

接收网络端发送的镜像文件,并利用UART接口将镜像文件发送至BMC监控设备,以使BMC监控设备基于镜像文件进行固件更新,并按照预定时间反馈更新进度,直至更新结束。

可选的,上述第一处理器11还可用于实现向BMC监控设备发送基于UART接口的校验指令,以使BMC监控设备响应校验指令,在更新目录中对镜像文件进行校验。

对于本申请提供的BMC管理设备的介绍请参照上述方法实施例,本申请在此不做赘述。

为解决上述问题,请参考图6,图6为本申请所提供的一种BMC监控设备的示意图,该BMC监控设备可包括:

第二存储器20,用于存储第二计算机程序;

第二处理器21,用于执行上述第二计算机程序时可实现以下步骤:

利用UART接口接收BMC管理设备发送的镜像文件;基于镜像文件进行固件更新;并按照预定时间向BMC管理设备反馈更新进度,直至更新结束。

可选的,上述第二处理器21还可用于接收BMC管理设备发送的基于UART接口的校验指令,并响应校验指令,在更新目录中对镜像文件进行校验。

对于本申请提供的BMC监控设备的介绍请参照上述方法实施例,本申请在此不做赘述。

为解决上述问题,请参考图7,图7为本申请所提供的一种BMC固件的更新系统的示意图,该刷新系统可包括上述任意一种BMC管理设备1和上述任意一种BMC监控设备2。

对于本申请提供的BMC固件的更新系统的介绍请参照上述方法实施例,本申请在此不做赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的BMC固件的更新方法、BMC管理设备、BMC监控设备以及BMC固件的更新系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围要素。

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