固件管理方法和装置与流程

文档序号:11677258阅读:293来源:国知局
固件管理方法和装置与流程

本发明涉及固件管理技术领域,尤其涉及一种固件管理方法和装置。



背景技术:

服务器是提供计算服务的设备,主要由中央处理器(cpu,centralprocessingunit)、存储设备、内存、i/o(input/output,输入/输出)设备等硬件设备组成。在硬件设备中,固件担任着一个系统最基础最底层工作的软件。cpu是一台计算机的运算核心和控制核心,内存用于存放程序运算数据。cpu和内存要正常使用不需要依赖特定的固件。而存储设备、网卡和显卡等输入输出设备一般需要烧结特定的固件,例如显卡固件、网卡固件、sas(serialattachedscsi,串行scsi技术)控制器固件,才能正常运行。

对于固件的管理,主要有固件烧结、固件更新、固件配置数据的备份和附件配置数据的恢复等。目前,服务器固件管理主要通过两种方式,一种是基于os(operationsystem,操作系统)的软件烧结,一种是特殊电缆烧结。

其中,基于os的软件烧结,是在服务器上安装操作系统和烧结软件,通过上传固件文件、输入固件的配置数据,使用烧结软件对固件进行烧结或更新。当有多个固件需要烧结或更新时,需要针对每个固件重复进行上述流程。

特殊电缆烧结,是将固件文件上传到调试机,使用特殊电缆连接调试机和被烧结的器件和调试机,给被烧结服务器加电后,在调试机上运行固件烧结软件,输入固件的配置数据,对单板上的固件进行烧结或更新。当有多个固件需要烧结或更新时,需要针对每个固件重复进行上述流程。

由于基于os的软件烧结和特殊电缆烧结流程复杂,人工操作部分较多,不能保证固件烧结或更新的正确率,不利于服务器单板的批量化生产。尤其当服务器固件进行更新时,现场操作可行性不高,若返厂进行维护则成本增加,导致维护难度大、维护性差。

另外,当服务器更换,但被替换设备的固件配置数据不变时,需要通过服务器的带内或带外接口实现备份固件配置数据的备份和恢复,且由于当前 多数设备不支持带外接口的获取和改写,导致软硬件设计的复杂,只能实现部分设备的固件配置数据管理。

由此可见,现有的服务器固件管理流程复杂,功能不完善,人工参与程度高,维护性差。



技术实现要素:

本发明的主要目的在于提供一种固件管理方法和装置,旨在解决固件管理功能不完善、维护性差的技术问题。

为实现上述目的,本发明提供一种固件管理方法,所述固件管理方法包括以下步骤:

基板管理控制器将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上;

修改所述主机的启动方式配置,所述修改后的主机启动方式配置与所述虚拟启动系统相关联;

控制所述主机根据所述修改后的启动方式配置,从所述虚拟启动系统启动,加载所述固件管理镜像文件进行固件管理。

优选的,所述修改所述主机的启动方式配置,所述修改后的主机启动方式配置与所述虚拟启动系统相关联的步骤包括:

将所述主机的启动方式配置修改为从所述基板管理控制器获取启动方式并根据获取的启动方式启动,所述获取的启动方式为从所述虚拟启动系统启动。

优选的,所述控制所述主机根据所述修改后的启动方式配置,从所述虚拟启动系统启动,加载所述固件管理镜像文件进行固件管理的步骤包括:

控制所述主机重启,根据所述修改后的启动方式配置从所述基板管理控制器获取启动方式;

控制所述主机根据所述获取的启动方式,从所述虚拟启动系统启动,加载所述固件管理镜像文件;

引导所述主机进行固件管理。

优选的,所述固件管理镜像文件包括固件配置数据采集镜像文件,所述引导所述主机进行固件管理的步骤包括:

通过所述固件配置数据采集镜像文件扫描所述主机各固件,采集所述固件的配置数据;

存储所述固件配置数据,用于所述固件状态恢复。

优选的,所述固件管理镜像文件包括固件配置数据恢复镜像文件,所述引导所述主机进行固件管理的步骤还包括:

通过所述固件配置数据恢复镜像文件,控制相应的固件恢复配置数据;

记录并存储所述固件配置数据恢复结果。

优选的,所述基板管理控制器将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上的步骤之前,还包括:

所述基板管理控制器将所述固件管理镜像文件配置在基板管理控制器本地或远程调试机,所述基板管理控制器与所述远程调试机通信,调取所述远程调试机上的固件管理镜像文件。

优选的,所述修改所述主机的启动方式配置的步骤还包括:

修改所述主机的启动方式配置,备份所述主机的原有启动配置数据;

所述控制所述主机从所述虚拟启动系统启动,进行固件管理的步骤之后,还包括:

根据所述原有启动配置数据,控制所述主机复位。

此外,为实现上述目的,本发明还提供一种固件管理装置,所述固件管理装置包括:

虚拟模块,用于将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上;

修改模块,用于修改所述主机的启动方式配置,所述修改后的主机启动方式配置与所述虚拟启动系统相关联;

管理模块,用于控制所述主机根据所述修改后的启动方式配置,从所述 虚拟启动系统启动,加载所述固件管理镜像文件进行固件管理。

优选的,所述修改模块还用于,

将所述主机的启动方式配置修改为从所述基板管理控制器获取启动方式并根据获取的启动方式启动,所述获取的启动方式为从所述虚拟启动系统启动;

所述管理模块包括:

重启单元,用于控制所述主机重启,根据所述修改后的启动方式配置从所述基板管理控制器获取启动方式;

配置单元,用于控制所述主机根据所述获取的启动方式,从所述虚拟启动系统启动,加载所述固件管理镜像文件;

管理单元,用于引导所述主机进行固件管理。

优选的,所述修改模块还用于,

修改所述主机的启动方式配置,备份所述主机的原有启动配置数据;

所述固件管理装置还包括:

复位模块,用于根据所述原有启动配置数据,控制所述主机复位。

本发明实施例提出的一种固件管理方法和装置,通过基板管理控制器将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上;修改所述主机的启动方式配置,所述修改后的主机启动方式配置与所述虚拟启动系统相关联;控制所述主机根据所述修改后的启动方式配置,从所述虚拟启动系统启动,加载所述固件管理镜像文件进行固件管理。本发明实施例完善了服务器固件管理的功能,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

附图说明

图1为本发明固件管理方法第一实施例的流程示意图;

图2为本发明固件管理方法第二实施例的流程示意图;

图3为本发明固件管理方法第三实施例的流程示意图;

图4为本发明固件管理方法第四实施例的流程示意图;

图5为本发明固件管理方法第五实施例的流程示意图;

图6为本发明固件管理方法第六实施例的流程示意图;

图7为本发明固件管理方法实施例一种固件管理示意图;

图8为本发明固件管理方法实施例一种固件管理示意图;

图9为本发明固件管理方法第七实施例的流程示意图;

图10为本发明固件管理装置第一实施例、第二实施例的功能模块示意图;

图11为本发明固件管理装置第三实施例的功能模块示意图;

图12为本发明固件管理装置第四实施例的功能模块示意图;

图13为本发明固件管理装置第五实施例的功能模块示意图;

图14为本发明固件管理装置第六实施例的功能模块示意图;

图15为本发明固件管理装置第七实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:基板管理控制器将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上;修改所述主机的启动方式配置,所述修改后的主机启动方式配置与所述虚拟启动系统相关联;控制所述主机根据所述修改后的启动方式配置,从所述虚拟启动系统启动,加载所述固件管理镜像文件进行固件管理。

由于现有技术进行固件管理时,固件烧结和更新流程复杂,人工参与程度高、自动化程度低,维护性差,且不能实现全部固件配置数据的备份和管理,管理功能不完善。

本发明提供一种解决方案,简化固件的烧结和更新流程,降低人工参与度,实现了全部固件配置数据的备份和管理,完善了固件管理功能。

参照图1,本发明固件管理方法第一实施例提供一种固件管理方法,所述固件管理方法包括:

步骤s10、基板管理控制器将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上。

本发明实施例主要应用于服务器单板的固件管理,但不限定于服务器单板的固件管理,也可应用于其他设备的固件管理。

在本实施例中,服务器单板使用pcie总线和接口标准,服务器cpu通过pcie总线连接服务器各部件,如pcie桥、pch(platformcontrollerhub,南桥)、网卡、fc(fibrecontroller,光纤控制器)、sas(serialattachedscsi,串行scsi技术)控制器和显卡等。本实施例可以对pcie桥、pch、网卡、fc、sas控制器和显卡等固件进行管理。

服务器单板管理的固件可以分为两类,一类是与服务器主机硬件设备相关的固件,此类固件只与硬件设备的类型相关,通常是固定的,例如网卡、sas控制器和显卡等设备的固件,此类固件在本发明实施例中称为固件。另一类固件不与服务器主机硬件设备捆绑,可以发生变化,例如网卡的mac地址(mediaaccesscontrol,物理地址)、fc和sas控制器的wwn(worldwidename,全球唯一名字)地址,此类固件在本发明实施例中称为固件配置数据。

本发明实施例所称固件管理包括但不限定于固件的烧结、更新、固件配置数据的备份和恢复。

具体的,作为一种实施方式,本实施例使用基板管理控制器(baseboardmanagementcontroller,bmc)进行服务器固件烧结的管理。

基板管理控制器安装在服务器主板上,使用ipmi(intelligentplatformmanagementinterface,智能平台管理接口),支持本地和远程诊断、控制台支持、配置管理、硬件管理和故障排除等功能。

基板管理控制器通过usb接口,作为usb设备如usb光驱或usb块设备,连接在服务器主机上。服务器可以通过smi(systemmanagementinterface,系统管理接口)总线,向基板管理控制器发出ipmi命令,进行消息、指令的传输与交互。

预先配置的固件管理镜像文件为集成os(operationsystem,操作系统),如dos(diskoperatingsystem,磁盘操作系统),满足服务器主机加载运行,实现固件管理。

固件管理镜像文件包括:操作系统、固件管理控制软件、固件工具软件 和服务器固件等。其中,操作系统是固件管理镜像文件中所有软件、工具的运行环境;固件管理控制软件用于控制固件烧结流程、固件配置数据采集流程以及与基板管理控制器的通信;固件工具软件用于访问具体的固件设备,包括固件烧结工具软件、固件配置数据采集工具软件和固件配置数据恢复工具软件等;服务器固件,包括需要烧结到具体设备的固件软件,可以包括服务器单板的所有固件,也可以根据实际需要配置部分固件。固件管理镜像文件还可以包括固件配置数据文件,用于固件配置数据的恢复,可根据实际需要灵活设定。

可以根据固件管理的实际需要,灵活配置固件管理镜像文件。例如,进行固件烧结管理或固件更新管理时,固件管理镜像文件可以包括需要进行烧结或更新的固件、固件烧结工具软件、固件管理控制软件和操作系统;进行固件配置数据备份时,固件管理镜像文件可以包括固件配置数据采集工具软件、固件管理控制软件和操作系统;进行固件配置数据恢复时,固件管理镜像文件可以包括固件配置数据恢复工具软件、固件配置数据文件、固件管理控制软件和操作系统。

在基板管理控制器启动后,基板管理控制器将预先配置的固件管理镜像文件虚拟为虚拟的启动系统,挂接到服务器主机上,也即将固件管理镜像文件作为虚拟的启动系统挂接在服务器主机上。服务器主机可以访问虚拟启动系统。

步骤s20、修改所述主机的启动方式配置,所述修改后的主机启动方式配置与所述虚拟启动系统相关联。

在基板管理控制器将固件管理镜像文件作为虚拟启动系统挂接到服务器主机上后,具体的,作为一种实施方式,基板管理控制器修改服务器主机启动方式配置,将服务器主机原有的启动方式,改为从基板管理控制获取启动方式。

基板管理控制器配置服务器主机获取的启动方式为从虚拟启动系统启动,以使服务器主机从挂接的虚拟启动系统启动,进行固件管理。

步骤s30、控制所述主机根据所述修改后的启动方式配置,从所述虚拟启 动系统启动,加载所述固件管理镜像文件进行固件管理。

在基板管理控制器修改服务器主机的启动方式配置后,具体的,作为一种实施方式,首先,基板管理控制器控制服务器主机重新启动。

服务器主机重启后,根据已被基板管理控制器修改的启动方式向基板管理控制器获取启动方式。

然后,服务器主机访问虚拟启动系统,从虚拟启动系统启动,加载固件管理镜像文件。

在服务器主机加载固件管理镜像文件后,固件管理镜像文件通过脚本或批处理的方式,使固件管理控制软件、固件工具软件在操作系统环境下自动运行,根据当前固件管理的实际需要,进行固件烧结、更新,或固件配置数据的备份、恢复。

在本实施例中,基板管理控制器通过将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上;然后,修改主机的启动方式配置,修改后的主机启动方式配置与虚拟启动系统相关联;控制主机根据修改后的启动方式配置,从虚拟启动系统启动,加载固件管理镜像文件进行固件管理。本实施例完善了服务器固件管理的功能,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图2,本发明固件管理方法第二实施例提供一种固件管理方法,基于上述图1所示的实施例,所述步骤s20包括:

步骤s21、将所述主机的启动方式配置修改为从所述基板管理控制器获取启动方式并根据获取的启动方式启动,所述获取的启动方式为从所述虚拟启动系统启动。

在基板管理控制器将固件管理镜像文件作为虚拟启动系统挂接到服务器主机上后,具体的,作为一种实施方式,首先,基板管理控制器修改服务器主机启动方式配置,将服务器主机原有的启动方式,改为从基板管理控制器获取启动方式。

然后,基板管理控制器配置服务器主机的启动方式为从虚拟启动系统启动,将配置的启动方式返回服务器主机,使服务器主机访问虚拟启动系统。

本实施例中,预先配置的固件管理镜像文件可以位于基板控制管理器本地,也可以位于远程调试机,可根据实际需要灵活设定。基板控制管理器可以通过以太网与远程调试机通信,读取远程调试机上配置的固件管理镜像文件。

若预先配置的固件管理镜像文件位于基板管理控制器本地,服务器主机访问虚拟启动系统时,则基板管理控制器控制服务器主机从本地加载固件管理镜像文件,以使服务器主机从虚拟启动系统启动。

若预先配置的固件管理镜像文件位于远程调试机,服务器主机访问虚拟启动系统时,则基板管理控制器将服务器主机的访问协议解析为固件管理镜像文件读取报文,通过以太网传输给远程调试机。远程调试机收到报文后,将固件管理镜像文件的数据返回基板管理控制器。然后,基板管理控制器将得到的固件管理镜像文件的数据通过访问协议发给服务器主机,控制服务器主机加载固件管理镜像文件,以使服务器主机从虚拟启动系统启动。

在本实施例中,基板管理控制器将主机的启动方式配置修改为主机从基板管理控制器获取启动方式,基板管理控制器配置的主机启动方式为从虚拟启动系统启动,实现了预先配置的固件管理镜像文件位于基板管理控制器本地或远程调试机时,均可以实现服务器主机从虚拟启动系统启动,进行固件管理。

进一步的,参照图3,本发明固件管理方法第三实施例提供一种固件管理方法,基于上述图2所示的实施例,所述步骤s30包括:

步骤s31、控制所述主机重启,根据所述修改后的启动方式配置从所述基板管理控制器获取启动方式。

在基板管理控制器修改服务器主机的启动方式配置后,具体的,作为一种实施方式,首先,基板管理控制器控制服务器主机重新启动。

当服务器主机重启时,在bios(basicinputoutputsystem,基本输入输出系统)加载阶段,服务器bios可以通过smi总线,向基板管理控制器发出ipmi命令,获取启动方式。

然后,基板管理控制器将配置的服务器主机启动方式返回服务器主机, 使服务器主机访问虚拟启动系统。

步骤s32、控制所述主机根据所述获取的启动方式,从所述虚拟启动系统启动,加载所述固件管理镜像文件。

在基板管理控制器将启动方式返回给服务器主机后,服务器bios访问虚拟启动系统,进行启动。

基板管理控制器按照访问协议应答服务器主机的请求,将固件管理镜像文件返回服务器主机,使服务器主机获取固件管理镜像文件。

然后,服务器主机通过基板管理控制器获取预先配置的固件管理镜像文件,并进行加载。

步骤s33、引导所述主机进行固件管理。

在服务器主机加载固件管理镜像文件后,基板管理控制器控制固件管理镜像文件引导服务器主机进行固件管理。

通过脚本或批处理的方式,使固件管理控制软件、固件工具软件在操作系统环境下自动运行,根据当前固件管理的实际需要,进行固件烧结、更新,或固件配置数据的备份、恢复。

以本发明应用场景为服务器固件烧结或更新,进行举例说明。在本实施例中,固件烧结和固件更新均可以通过固件烧结实现。

在进行服务器固件的烧结时,固件管理镜像文件可以包括:操作系统、固件管理控制软件、固件烧结工具软件和服务器固件等。服务器固件为当前需要烧结或更新的服务器固件,可以是当前服务器主机的全部固件,也可以是当前服务器主机的部分固件。

基板管理控制器控制服务器bios加载固件管理镜像文件并启动后,通过脚本或批处理的方式使固件管理控制软件、固件烧结工具软件自动运行。

其中,固件管理控制软件通过smi总线向基板管理控制器发送ipmi命令,获取本次固件烧结的配置文件,包括本次烧结所针对的具体固件、本次烧结的固件配置数据。固件烧结工具软件根据获取的本次固件烧结的配置文件,访问具体的固件进行烧结。

本次烧结的固件配置数据,可以预先配置在基板管理控制器本地,也可 以配置在远程调试机,可根据实际需要灵活设定。本次烧结的固件配置数据,例如mac地址,需要和网卡固件一起进行烧结。

在进行固件烧结的同时,固件管理控制软件通过smi总线向基板管理控制器发送ipmi命令,向基板管理控制器反馈当固件烧结或更新的进度和结果。

为保障固件烧结或更新的安全,若基板管理控制器在预设的超时时间内未收到固件管理控制软件反馈的任何消息,则判定当前固件烧结失败。

基板管理控制器记录烧结成功的固件和烧结失败的固件,若固件烧结失败,则记录烧结失败的固件和烧结失败的原因。

由此,基板管理控制器得到当前固件烧结的结果,并将结果存储在基板管理控制器本地或远程调试机,完成本次固件管理。

在本实施例中,基板管理控制器控制服务器主机重启,根据修改后的启动方式配置从基板管理控制器获取启动方式;然后,控制主机根据获取的启动方式,从虚拟启动系统启动,加载预置的固件管理镜像文件,引导主机进行固件管理。本实施进行了服务器固件管理的批量化、自动化处理,完善了服务器固件管理的功能,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图4,本发明固件管理方法第四实施例提供一种固件管理方法,基于上述图3所示的实施例,所述固件管理镜像文件包括固件配置数据采集镜像文件,所述步骤s33包括:

步骤s331、通过所述固件配置数据采集镜像文件扫描所述主机各固件,采集所述固件的配置数据。

若当前固件管理为服务器固件配置数据的采集,则固件管理镜像文件可以包括:操作系统、固件管理控制软件、固件配置数据采集工具软件。

具体的,作为一种实施方式,基板管理控制器控制服务器bios加载固件管理镜像文件并启动后,通过脚本或批处理的方式使固件管理控制软件、固件配置数据采集工具软件自动运行,引导服务器主机进行固件管理。

其中,固件配置数据采集工具软件扫描服务器主机的硬件设备信息,并且获取固件的配置数据。

然后,固件管理控制软件通过smi总线、usb或其他通道,将获取的数据文件发送给基板管理控制器。

步骤s332、存储所述固件配置数据,用于所述固件状态恢复。

基板管理控制器获取固件管理控制软件发送的数据文件,得到服务器固件的配置数据。

然后,基板管理控制器将得到的服务器固件配置数据进行存储,用于后续服务器固件状态的恢复。

其中,服务器固件配置数据可以存储到基板管理控制器本地,也可以存储在远程调试机,可根据实际需要灵活设定。后台管理者可以通过以太网获取服务器固件配置数据,并保存到数据库中,用于服务器固件的状态恢复。

在本实施例中,基板管理控制器通过固件配置数据采集镜像文件扫描主机各固件,采集固件的配置数据;存储固件配置数据,用于固件状态恢复。本实施例批量化、自动化的进行了服务器固件配置数据的采集,实现了服务器固配置数据采集的管理,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图5,本发明固件管理方法第五实施例提供一种固件管理方法,基于上述图3所示的实施例,所述固件管理镜像文件包括固件配置数据恢复镜像文件,所述步骤s33还包括:

步骤s333、通过所述固件配置数据恢复镜像文件,控制相应的固件恢复配置数据。

若当前固件管理为服务器固件配置数据的采集,则固件管理镜像文件可以包括:操作系统、固件管理控制软件、固件配置数据恢复工具软件和固件配置数据文件。

具体的,作为一种实施方式,基板管理控制器控制服务器bios加载固件管理镜像文件并启动后,通过脚本或批处理的方式使固件管理控制软件、固件配置数据恢复工具软件自动运行,引导服务器主机进行固件管理。

其中,固件配置数据恢复工具软件访问需要进行固件配置数据恢复的固 件,将固件配置数据恢复到具体的硬件设备信息中。

固件管理控制软件通过smi总线、usb或其他通道,将固件配置数据恢复的结果发送给基板管理控制器。

步骤s334、记录并存储所述固件配置数据恢复结果。

基板管理控制器获取固件管理控制软件发送的固件配置数据恢复的结果,记录并存储本次服务器固件配置数据恢复的结果。

其中,本次服务器固件配置数据恢复的结果可以存储到基板管理控制器本地,也可以存储在远程调试机,可根据实际需要灵活设定。

在本实施例中,基板管理控制器通过固件配置数据恢复镜像文件,控制相应的固件恢复配置数据;记录并存储固件配置数据恢复结果。本实施例进行了固件配置数据的恢复,实现了服务器固配置数据恢复的管理,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图6,本发明固件管理方法第六实施例提供一种固件管理方法,基于上述图1-5任一项所示的实施例(本实施例以图2为例),所述步骤s10之前,还包括:

步骤s40、所述基板管理控制器将所述固件管理镜像文件配置在基板管理控制器本地或远程调试机,所述基板管理控制器与所述远程调试机通信,调取所述远程调试机上的固件管理镜像文件。

本实施例中,预先配置的固件管理镜像文件可以位于基板控制管理器本地,也可以位于远程调试机,可根据实际需要灵活设定。基板控制管理器可以通过以太网与远程调试机通信,读取远程调试机上配置的固件管理镜像文件。

参照图7,若预先配置的固件管理镜像文件位于基板控制管理器本地,首先,通过后台的远程调试机,也即后台pc(personalcomputer,个人计算机),或基板控制管理器的web网,将固件管理镜像文件上传到基板控制管理器本地。基板控制管理器将固件管理镜像文件虚拟为启动系统。

然后,基板控制管理器修改服务器主机的启动方式配置,重启服务器主 机,并控制服务器主机从虚拟启动系统启动。

服务器bios通过smi向基板控制管理器发送ipmi命令获取启动方式,基板控制管理器配置服务器主机从虚拟启动系统启动,服务器主机访问虚拟启动系统。

基板控制管理器按照访问协议应答服务器主机的请求,服务器主机获取固件管理镜像文件并以此文件集成的os来引导服务器主机启动。

然后,服务器cpu自动执行固件管理镜像文件中指定的程序,通过固件管理镜像文件中指定的程序访问服务器主机下的设备,实现服务器各固件的烧结、更新、配置数据的采集和恢复,并通过smi向基板控制管理器反馈执行结果。

参照图8,若预先配置的固件管理镜像文件位于远程调试机,首先,远程调试机,也即后台pc,和基板控制管理器通过以太网通信,基板控制管理器将固件管理镜像文件虚拟为启动系统。

然后,基板控制管理器修改服务器主机的启动方式配置,重启服务器主机,并控制服务器主机从虚拟启动系统启动。

服务器bios通过smi向基板控制管理器发送ipmi命令获取启动方式,基板控制管理器配置服务器主机从虚拟启动系统,服务器主机访问虚拟启动系统。

然后,基板控制管理器将服务器主机的访问协议解析为固件管理镜像文件读取报文,通过以太网传输给远程调试机。远程调试机收到报文后,将固件管理镜像文件的数据返回基板管理控制器。

然后,基板管理控制器将得到的固件管理镜像文件的数据通过访问协议发给服务器主机,控制服务器主机从虚拟启动系统启动,加载固件管理镜像文件。

服务器主机获取固件管理镜像文件后,以此文件集成的os来引导服务器主机启动,服务器cpu自动执行固件管理镜像文件中指定的程序,通过固件管理镜像文件中指定的程序访问服务器主机上的设备,实现服务器各固件的烧结、更新、配置数据的采集和恢复,并通过smi向基板控制管理器反馈执行结果。基板控制管理器将反馈结果通过以太网返回给后台pc。

在本实施例中,基板管理控制器将固件管理镜像文件配置在基板管理控制器本地或远程调试机,基板管理控制器与远程调试机通信,调取远程调试机上的固件管理镜像文件,用于服务器固件的管理。本实施例实现了预先配置的固件管理镜像文件位于基板管理控制器本地或远程调试机时,均可以实现服务器主机从虚拟启动系统启动,进行固件管理,简化了服务器固件管理流程。

进一步的,参照图9,本发明固件管理方法第七实施例提供一种固件管理方法,基于上述图6所示的实施例,所述步骤s20还包括:

步骤s22、修改所述主机的启动方式配置,备份所述主机的原有启动配置数据。

在基板管理控制器将固件管理镜像文件作为虚拟启动系统挂接到服务器主机上后,具体的,作为一种实施方式,基板管理控制器修改服务器主机启动方式配置,将服务器主机原有的启动方式,改为从基板管理控制器获取启动方式,以使服务器主机从挂接的虚拟启动系统启动,进行固件管理。

同时,基板管理控制器记录服务器主机原有的启动方式,存储服务器主机原有的启动配置数据。其中,服务器主机原有的启动配置数据可以存储在基板管理控制器本地。

所述步骤s30之后,还包括:

步骤s50、根据所述原有启动配置数据,控制所述主机复位。

在基板管理控制器控制服务器主机根据所述修改后的启动方式配置,从虚拟启动系统启动,进行固件管理后,基板管理控制器根据服务器主机原有的启动配置数据,控制服务器主机复位。

具体的,作为一种实施方式,基板管理控制器根据服务器主机原有的启动配置数据,修改服务器主机的启动方式配置,恢复服务器主机原有的启动方式。

然后,基板管理控制器去除服务器主机上挂接的虚拟启动系统,并控制服务器主机复位,恢复到进行服务器固件管理之前的状态。

在本实施例中,基板管理控制器备份服务器主机的原有启动配置数据;在控制服务器主机进行固件管理后,根据服务器主机原有启动配置数据,控制服务器主机复位,恢复到进行固件管理之前的状态。本实施例实现了在完成对服务器主机的固件管理后,服务器主机的复位,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

参照图10,本发明固件管理装置第一实施例提供一种固件管理装置,所述固件管理装置包括:

虚拟模块100,用于将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上。

本发明实施例主要应用于服务器单板的固件管理,但不限定于服务器单板的固件管理,也可应用于其他设备的固件管理。

在本实施例中,服务器单板使用pcie总线和接口标准,服务器cpu通过pcie总线连接服务器各部件,如pcie桥、pch(platformcontrollerhub,南桥)、网卡、fc(fibrecontroller,光纤控制器)、sas(serialattachedscsi,串行scsi技术)控制器和显卡等。本实施例可以对pcie桥、pch、网卡、fc、sas控制器和显卡等固件进行管理。

服务器单板管理的固件可以分为两类,一类是与服务器主机硬件设备相关的固件,此类固件只与硬件设备的类型相关,通常是固定的,例如网卡、sas控制器和显卡等设备的固件,此类固件在本发明实施例中称为固件。另一类固件不与服务器主机硬件设备捆绑,可以发生变化,例如网卡的mac地址(mediaaccesscontrol,物理地址)、fc和sas控制器的wwn(worldwidename,全球唯一名字)地址,此类固件在本发明实施例中称为固件配置数据。

本发明实施例所称固件管理包括但不限定于固件的烧结、更新、固件配置数据的备份和恢复。

具体的,作为一种实施方式,本实施例使用固件管理装置进行服务器固件烧结的管理。固件管理装置位于基板管理控制器(baseboardmanagementcontroller,bmc)。

基板管理控制器安装在服务器主板上,使用ipmi(intelligentplatformmanagementinterface,智能平台管理接口),支持本地和远程诊断、控制台支 持、配置管理、硬件管理和故障排除等功能。

基板管理控制器通过usb接口,作为usb设备如usb光驱或usb块设备,连接在服务器主机上。服务器可以通过smi(systemmanagementinterface,系统管理接口)总线,向基板管理控制器发出ipmi命令,进行消息、指令的传输与交互。

预先配置的固件管理镜像文件为集成os(operationsystem,操作系统),如dos(diskoperatingsystem,磁盘操作系统),满足服务器主机加载运行,实现固件管理。

固件管理镜像文件包括:操作系统、固件管理控制软件、固件工具软件和服务器固件等。其中,操作系统是固件管理镜像文件中所有软件、工具的运行环境;固件管理控制软件用于控制固件烧结流程、固件配置数据采集流程以及与固件管理装置的通信;固件工具软件用于访问具体的固件设备,包括固件烧结工具软件、固件配置数据采集工具软件和固件配置数据恢复工具软件等;服务器固件,包括需要烧结到具体设备的固件软件,可以包括服务器单板的所有固件,也可以根据实际需要配置部分固件。固件管理镜像文件还可以包括固件配置数据文件,用于固件配置数据的恢复,可根据实际需要灵活设定。

可以根据固件管理的实际需要,灵活配置固件管理镜像文件。例如,进行固件烧结管理或固件更新管理时,固件管理镜像文件可以包括需要进行烧结或更新的固件、固件烧结工具软件、固件管理控制软件和操作系统;进行固件配置数据备份时,固件管理镜像文件可以包括固件配置数据采集工具软件、固件管理控制软件和操作系统;进行固件配置数据恢复时,固件管理镜像文件可以包括固件配置数据恢复工具软件、固件配置数据文件、固件管理控制软件和操作系统。

在进行服务器固件管理时,虚拟模块100将预先配置的固件管理镜像文件虚拟为虚拟的启动系统,挂接到服务器主机上,也即将固件管理镜像文件作为虚拟的启动系统挂接在服务器主机上。服务器主机可以访问虚拟启动系统。

修改模块200,用于修改所述主机的启动方式配置,所述修改后的主机启 动方式配置与所述虚拟启动系统相关联。

在虚拟模块100将固件管理镜像文件作为虚拟启动系统挂接到服务器主机上后,具体的,作为一种实施方式,修改模块200修改服务器主机启动方式配置,将服务器主机原有的启动方式,改为从基板管理控制获取启动方式。

修改模块200配置服务器主机获取的启动方式为从虚拟启动系统启动,以使服务器主机从挂接的虚拟启动系统启动,进行固件管理。

管理模块300,用于控制所述主机根据所述修改后的启动方式配置,从所述虚拟启动系统启动,加载所述固件管理镜像文件进行固件管理。

在修改模块200修改服务器主机的启动方式配置后,具体的,作为一种实施方式,首先,管理模块300控制服务器主机重新启动。

服务器主机重启后,根据已被修改模块200修改的启动方式,向固件管理装置获取启动方式。

然后,服务器主机访问虚拟启动系统,从虚拟启动系统启动,加载固件管理镜像文件。

在服务器主机加载固件管理镜像文件后,固件管理镜像文件通过脚本或批处理的方式,使固件管理控制软件、固件工具软件在操作系统环境下自动运行,根据当前固件管理的实际需要,进行固件烧结、更新,或固件配置数据的备份、恢复。

在本实施例中,虚拟模块100将预先配置的固件管理镜像文件虚拟成虚拟启动系统,挂接到主机上;然后,修改模块200修改主机的启动方式配置,修改后的主机启动方式配置与虚拟启动系统相关联;管理模块300控制主机根据修改后的启动方式配置,从虚拟启动系统启动,加载固件管理镜像文件进行固件管理。本实施例完善了服务器固件管理的功能,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图10,本发明固件管理装置第二实施例提供一种固件管理装置,基于上述图10所示的本发明固件管理装置第一实施例,所述修改模块200还用于:

将所述主机的启动方式配置修改为从所述基板管理控制器获取启动方式并根据获取的启动方式启动,所述获取的启动方式为从所述虚拟启动系统启动。

在虚拟模块100将固件管理镜像文件作为虚拟启动系统挂接到服务器主机上后,具体的,作为一种实施方式,首先,修改模块200修改服务器主机启动方式配置,将服务器主机原有的启动方式,改为从基板管理控制器上的固件管理装置获取启动方式。

然后,修改模块200配置服务器主机的启动方式为从虚拟启动系统启动,将配置的启动方式返回服务器主机,使服务器主机访问虚拟启动系统。

本实施例中,预先配置的固件管理镜像文件可以位于基板控制管理器本地,也可以位于远程调试机,可根据实际需要灵活设定。基板控制管理器可以通过以太网与远程调试机通信,读取远程调试机上配置的固件管理镜像文件。

若预先配置的固件管理镜像文件位于基板管理控制器本地,服务器主机访问虚拟启动系统时,则管理模块300控制服务器主机从基板管理控制器本地加载固件管理镜像文件,以使服务器主机从虚拟启动系统启动。

若预先配置的固件管理镜像文件位于远程调试机,服务器主机访问虚拟启动系统时,则管理模块300将服务器主机的访问协议解析为固件管理镜像文件读取报文,通过以太网传输给远程调试机。远程调试机收到报文后,将固件管理镜像文件的数据返回固件管理装置。然后,管理模块300将得到的固件管理镜像文件的数据通过访问协议发给服务器主机,控制服务器主机加载固件管理镜像文件,以使服务器主机从虚拟启动系统启动。

在本实施例中,修改模块200将主机的启动方式配置修改为主机从基板管理控制器获取启动方式,修改模块200配置的主机启动方式为从虚拟启动系统启动,实现了预先配置的固件管理镜像文件位于基板管理控制器本地或远程调试机时,均可以实现服务器主机从虚拟启动系统启动,进行固件管理。

进一步的,参照图11,本发明固件管理装置第三实施例提供一种固件管理装置,基于上述图10所示的本发明固件管理装置第二实施例,所述管理模 块300包括:

重启单元310,用于控制所述主机重启,根据所述修改后的启动方式配置从所述基板管理控制器获取启动方式。

在修改模块200修改服务器主机的启动方式配置后,具体的,作为一种实施方式,首先,重启单元310控制服务器主机重新启动。

当服务器主机重启时,在bios(basicinputoutputsystem,基本输入输出系统)加载阶段,服务器bios可以通过smi总线,向重启单元310发出ipmi命令,获取启动方式。

然后,重启单元310将修改模块200配置的服务器主机启动方式返回服务器主机,使服务器主机访问虚拟启动系统。

配置单元320,用于控制所述主机根据所述获取的启动方式,从所述虚拟启动系统启动,加载所述固件管理镜像文件。

在重启单元310将启动方式返回给服务器主机后,服务器bios访问虚拟启动系统,进行启动。

配置单元320按照访问协议应答服务器主机的请求,将固件管理镜像文件返回服务器主机,使服务器主机获取固件管理镜像文件。

然后,服务器主机通过固件管理装置获取预先配置的固件管理镜像文件,并进行加载。

管理单元330,用于引导所述主机进行固件管理。

在服务器主机加载固件管理镜像文件后,管理单元330控制固件管理镜像文件引导服务器主机进行固件管理。

通过脚本或批处理的方式,使固件管理控制软件、固件工具软件在操作系统环境下自动运行,根据当前固件管理的实际需要,进行固件烧结、更新,或固件配置数据的备份、恢复。

以本发明应用场景为服务器固件烧结或更新,进行举例说明。在本实施例中,固件烧结和固件更新均可以通过固件烧结实现。

在进行服务器固件的烧结时,固件管理镜像文件可以包括:操作系统、固件管理控制软件、固件烧结工具软件和服务器固件等。服务器固件为当前 需要烧结或更新的服务器固件,可以是当前服务器主机的全部固件,也可以是当前服务器主机的部分固件。

配置单元320控制服务器bios加载固件管理镜像文件并启动后,管理单元330通过脚本或批处理的方式使固件管理控制软件、固件烧结工具软件自动运行。

其中,固件管理控制软件通过smi总线向管理单元330发送ipmi命令,获取本次固件烧结的配置文件,包括本次烧结所针对的具体固件、本次烧结的固件配置数据。固件烧结工具软件根据获取的本次固件烧结的配置文件,访问具体的固件进行烧结。

本次烧结的固件配置数据,可以预先配置在基板管理控制器本地,也可以配置在远程调试机,可根据实际需要灵活设定。本次烧结的固件配置数据,例如mac地址,需要和网卡固件一起进行烧结。

在进行固件烧结的同时,固件管理控制软件通过smi总线向管理单元330发送ipmi命令,向管理单元330反馈当固件烧结的进度和结果。

为保障固件烧结的安全,若管理单元330在预设的超时时间内未收到固件管理控制软件反馈的任何消息,则判定当前固件烧结失败。

管理单元330记录烧结成功的固件和烧结失败的固件,若固件烧结失败,则记录烧结失败的固件和烧结失败的原因。

由此,基管理单元330得到当前固件烧结的结果,并将结果存储在基板管理控制器本地或远程调试机,完成本次固件管理。

在本实施例中,重启单元310控制服务器主机重启,根据修改后的启动方式配置从基板管理控制器获取启动方式;然后,配置单元320控制主机根据获取的启动方式,从虚拟启动系统启动,加载预置的固件管理镜像文件,管理单元330引导主机进行固件管理。本实施进行了服务器固件管理的批量化、自动化处理,完善了服务器固件管理的功能,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图12,本发明固件管理装置第四实施例提供一种固件管理装置,基于上述图11所示的实施例,所述固件管理镜像文件包括固件配置 数据采集镜像文件,所述管理单元330包括:

采集子单元331,用于通过所述固件配置数据采集镜像文件扫描所述主机各固件,采集所述固件的配置数据。

若当前固件管理为服务器固件配置数据的采集,则固件管理镜像文件可以包括:操作系统、固件管理控制软件、固件配置数据采集工具软件。

具体的,作为一种实施方式,配置单元320控制服务器bios加载固件管理镜像文件并启动后,采集子单元331通过脚本或批处理的方式使固件管理控制软件、固件配置数据采集工具软件自动运行,引导服务器主机进行固件管理。

其中,固件配置数据采集工具软件扫描服务器主机的硬件设备信息,并且获取固件的配置数据。

然后,固件管理控制软件通过smi总线、usb或其他通道,将获取的数据文件发送给第一存储子单元332。

第一存储子单元332,用于存储所述固件配置数据,用于所述固件状态恢复。

第一存储子单元332获取固件管理控制软件发送的数据文件,得到服务器固件的配置数据。

然后,第一存储子单元332将得到的服务器固件配置数据进行存储,用于后续服务器固件状态的恢复。

其中,服务器固件配置数据可以存储到基板管理控制器本地,也可以存储在远程调试机,可根据实际需要灵活设定。后台管理者可以通过以太网获取服务器固件配置数据,并保存到数据库中,用于服务器固件的状态恢复。

在本实施例中,采集子单元331通过固件配置数据采集镜像文件扫描主机各固件,采集固件的配置数据;第一存储子单元332存储固件配置数据,用于固件状态恢复。本实施例批量化、自动化的进行了服务器固件配置数据的采集,实现了服务器固配置数据采集的管理,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图13,本发明固件管理装置第五实施例提供一种固件管理装置,基于上述图11所示的实施例,所述固件管理镜像文件包括固件配置数据恢复镜像文件,所述管理单元330还包括:

恢复子单元333,用于通过所述固件配置数据恢复镜像文件,控制相应的固件恢复配置数据。

若当前固件管理为服务器固件配置数据的采集,则固件管理镜像文件可以包括:操作系统、固件管理控制软件、固件配置数据恢复工具软件和固件配置数据文件。

具体的,作为一种实施方式,配置单元320控制服务器bios加载固件管理镜像文件并启动后,恢复子单元333通过脚本或批处理的方式使固件管理控制软件、固件配置数据恢复工具软件自动运行,引导服务器主机进行固件管理。

其中,固件配置数据恢复工具软件访问需要进行固件配置数据恢复的固件,将固件配置数据恢复到具体的硬件设备信息中。

固件管理控制软件通过smi总线、usb或其他通道,将固件配置数据恢复的结果发送给第二存储子单元334。

第二存储子单元334,用于记录并存储所述固件配置数据恢复结果。

第二存储子单元334获取固件管理控制软件发送的固件配置数据恢复的结果,记录并存储本次服务器固件配置数据恢复的结果。

其中,本次服务器固件配置数据恢复的结果可以存储到基板管理控制器本地,也可以存储在远程调试机,可根据实际需要灵活设定。

在本实施例中,恢复子单元333通过固件配置数据恢复镜像文件,控制相应的固件恢复配置数据;第二存储子单元334记录并存储固件配置数据恢复结果。本实施例进行了固件配置数据的恢复,实现了服务器固配置数据恢复的管理,简化了管理流程,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

进一步的,参照图14,本发明固件管理装置第六实施例提供一种固件管 理装置,基于上述图10-13任一项所示的实施例(本实施例以图10所示的本发明固件管理装置第二实施例为例),所述固件管理装置还包括:

配置模块400,用于所述基板管理控制器将所述固件管理镜像文件配置在基板管理控制器本地或远程调试机,所述基板管理控制器与所述远程调试机通信,调取所述远程调试机上的固件管理镜像文件。

本实施例中,配置模块400预先配置的固件管理镜像文件可以位于基板控制管理器本地,也可以位于远程调试机,可根据实际需要灵活设定。基板控制管理器可以通过以太网与远程调试机通信,读取远程调试机上配置的固件管理镜像文件。

参照图7,若配置模块400预先配置的固件管理镜像文件位于基板控制管理器本地,首先,通过后台的远程调试机,也即后台pc(personalcomputer,个人计算机),或基板控制管理器的web网,将固件管理镜像文件上传到基板控制管理器本地。虚拟模块100将固件管理镜像文件虚拟为启动系统。

然后,修改模块200修改服务器主机的启动方式配置,管理模块300重启服务器主机,并控制服务器主机从虚拟启动系统启动。

服务器bios通过smi向基板控制管理器发送ipmi命令获取启动方式,修改模块200配置服务器主机从虚拟启动系统启动,服务器主机访问虚拟启动系统。

管理模块300按照访问协议应答服务器主机的请求,服务器主机获取固件管理镜像文件并以此文件集成的os来引导服务器主机启动。

然后,服务器cpu自动执行固件管理镜像文件中指定的程序,通过固件管理镜像文件中指定的程序访问服务器主机下的设备,实现服务器各固件的烧结、更新、配置数据的采集和恢复,并通过smi向基板控制管理器反馈执行结果。

参照图8,若配置模块400预先配置的固件管理镜像文件位于远程调试机,首先,远程调试机,也即后台pc,和基板控制管理器通过以太网通信,虚拟模块100将固件管理镜像文件虚拟为启动系统。

然后修改模块200修改服务器主机的启动方式配置,管理模块300重启服务器主机,并控制服务器主机从虚拟启动系统启动。

服务器bios通过smi向基板控制管理器发送ipmi命令获取启动方式, 修改模块200配置服务器主机从虚拟启动系统启动,服务器主机访问虚拟启动系统。

然后,管理模块300将服务器主机的访问协议解析为固件管理镜像文件读取报文,通过以太网传输给远程调试机。远程调试机收到报文后,将固件管理镜像文件的数据返回管理模块300。

然后,管理模块300将得到的固件管理镜像文件的数据通过访问协议发给服务器主机,控制服务器主机从虚拟启动系统启动,加载固件管理镜像文件。

服务器主机获取固件管理镜像文件后,以此文件集成的os来引导服务器主机启动,服务器cpu自动执行固件管理镜像文件中指定的程序,通过固件管理镜像文件中指定的程序访问服务器主机上的设备,实现服务器各固件的烧结、更新、配置数据的采集和恢复,并通过smi向管理模块300反馈执行结果。管理模块300将反馈结果通过以太网返回给后台pc。

在本实施例中,配置模块400将固件管理镜像文件配置在基板管理控制器本地或远程调试机,虚拟模块100和管理模块300可与远程调试机通信,调取远程调试机上的固件管理镜像文件,用于服务器固件的管理。本实施例实现了预先配置的固件管理镜像文件位于基板管理控制器本地或远程调试机时,均可以实现服务器主机从虚拟启动系统启动,进行固件管理,简化了服务器固件管理流程。

进一步的,参照图15,本发明固件管理装置第七实施例提供一种固件管理装置,基于上述图14所示的实施例,所述修改模块200还用于,

修改所述主机的启动方式配置,备份所述主机的原有启动配置数据。

在虚拟模块100将固件管理镜像文件作为虚拟启动系统挂接到服务器主机上后,具体的,作为一种实施方式,修改模块200修改服务器主机启动方式配置,将服务器主机原有的启动方式,改为从基板管理控制器上的固件管理装置获取启动方式,以使服务器主机从挂接的虚拟启动系统启动,进行固件管理。

同时,修改模块200记录服务器主机原有的启动方式,存储服务器主机 原有的启动配置数据。其中,服务器主机原有的启动配置数据可以存储在基板管理控制器本地。

所述固件管理装置还包括:

复位模块500,用于根据所述原有启动配置数据,控制所述主机复位。

在管理模块300控制服务器主机根据所述修改后的启动方式配置,从虚拟启动系统启动,进行固件管理后,复位模块500根据服务器主机原有的启动配置数据,控制服务器主机复位。

具体的,作为一种实施方式,复位模块500根据服务器主机原有的启动配置数据,修改服务器主机的启动方式配置,恢复服务器主机原有的启动方式。

然后,复位模块500去除服务器主机上挂接的虚拟启动系统,并控制服务器主机复位,恢复到进行服务器固件管理之前的状态。

在本实施例中,修改模块200备份服务器主机的原有启动配置数据;在管理模块300控制服务器主机进行固件管理后,复位模块500根据服务器主机原有启动配置数据,控制服务器主机复位,恢复到进行固件管理之前的状态。本实施例实现了在完成对服务器主机的固件管理后,服务器主机的复位,实现了对服务器固件的自动化管理,提升的服务器固件的维护性。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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