CN104423981A - Bmc固件自动更新系统及方法 - Google Patents
Bmc固件自动更新系统及方法 Download PDFInfo
- Publication number
- CN104423981A CN104423981A CN201310375867.0A CN201310375867A CN104423981A CN 104423981 A CN104423981 A CN 104423981A CN 201310375867 A CN201310375867 A CN 201310375867A CN 104423981 A CN104423981 A CN 104423981A
- Authority
- CN
- China
- Prior art keywords
- bmc
- bmc firmware
- firmware
- server
- storer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
一种BMC固件自动更新系统及方法,应用于服务器中,该服务器包括BMC芯片,该服务器通过网络与监控端设备和数据库相连接。该方法包括步骤:开启服务器的BMC自动更新功能,并通过服务器的操作系统设置一个监听狗的监听时间周期;启动监听狗对监听时间周期进行计时;当监听时间周期结束时,将监听时间周期重新设置为初始值;当存储器中的当前BMC固件需要更新时,从数据库中下载最新版本的BMC固件资料,并将最新版本的BMC固件资料自动更新至BMC芯片的存储器相应的存储区域中。实施本发明,能够自动更新存储在所有服务器的BMC芯片中的BMC固件资料,降低手动刷新BMC固件资料的工作复杂度,减少刷新过程中出错的概率。
Description
技术领域
本发明涉及一种服务器资料更新系统及方法,特别是关于一种服务器的BMC(基板管理控制器,Baseboard Management Controller)固件(Firmware)自动更新系统及方法。
背景技术
服务器的应用在当今信息社会应用的越来越广泛,其性能好,安全性高,从而得到了用户的好评。大型公司或企业都少不了服务器的存在,而且数量很大。一个公司中的数据中心(Data Center)中有很多服务器,如果每一个服务器的资料需要更新十分麻烦,而且资料量非常大。例如,需要进行服务器的BMC固件(Firmware)的刷新工作,可以通过Web浏览器或者网络来更新。然而,数据中心的服务器数量庞大,如果有了新版本的BMC固件,需要要一台一台的服务器来更新,而且需要工作人员来进行手动操作,其工程量大,效率也不是很高,工作人员易产生疲劳,从而发生不必要的错误。
发明内容
鉴于以上内容,有必要提供一种BMC固件自动更新系统及方法,能够自动更新存储在所有服务器的BMC芯片中的BMC固件资料,降低工作人员手动刷新BMC固件资料的工作复杂度与繁琐程度,以及减少刷新BMC固件资料过程中出错的概率。
所述的BMC固件自动更新系统运行于服务器中,该服务器包括BMC芯片,该服务器通过网络与监控端设备和数据库相连接。该BMC固件自动更新系统包括:设置模块,用于根据BMC更新指令开启服务器的BMC自动更新功能,以及通过服务器的操作系统设置一个监听狗的监听时间周期;监听模块,用于启动监听狗对监听时间周期进行计时,判断监听狗的监听时间周期是否结束,当监听时间周期结束时,将监听时间周期重新设置为初始值;更新模块,用于判断BMC芯片的存储器中的当前BMC固件是否需要更新,当存储器中的当前BMC固件需要更新时,从数据库中下载最新版本的BMC固件资料,以及将最新版本的BMC固件资料自动更新至BMC芯片的存储器相应的存储区域中。
所述的BMC固件自动更新方法应用于服务器中,该服务器包括BMC芯片,该服务器通过网络与监控端设备和数据库相连接。该方法包括步骤:根据BMC更新指令开启服务器的BMC自动更新功能,并通过服务器的操作系统设置一个监听狗的监听时间周期;启动监听狗对监听时间周期进行计时;判断监听狗的监听时间周期是否结束;当监听时间周期结束时,将监听时间周期重新设置为初始值;判断BMC芯片的存储器中的当前BMC固件是否需要更新;当存储器中的当前BMC固件需要更新时,从数据库中下载最新版本的BMC固件资料,以及将最新版本的BMC固件资料自动更新至BMC芯片的存储器相应的存储区域中。
相较于现有技术,本发明所述的BMC固件自动更新系统及方法,能够自动更新数据中心的所有服务器的BMC固件资料,实现无人管理自动化更新的操作,大大缩短了工作时间。工作人员只需要提前设置更周期就可以不需要在对服务器一台一台的进行手动刷新,降低了工作人员的工作复杂度与繁琐程度,并减少刷新过程中出错的概率。
附图说明
图1是本发明BMC固件自动更新系统较佳实施例的运行环境示意图。
图2是本发明BMC固件自动更新方法较佳实施例的流程图。
主要元件符号说明
服务器 1
BMC芯片 10
BMC固件自动更新系统 11
设置模块 111
监听模块 112
更新模块 103
存储器 12
微处理器 13
监控端设备 2
数据库 3
网络 4
具体实施方式
参阅图1所示,是本发明BMC固件自动更新系统11较佳实施例的运行环境示意图。在本实施例中,所述的BMC固件自动更新系统11安装并运行于服务器1中,该服务器1还包括,但不仅限于,基板管理控制器(Baseboard Management Controller,BMC芯片)10。该BMC芯片10包括,但不仅限于,存储器12以及微处理器13。该服务器1通过网络4与监控端设备2和数据库3连接,所述的监控端设备2可以为一种个人计算机(PC)、工作站计算机(workstation computer)或其他电子装置,用于用户输入监控服务器1的各种指令,包括BMC更新指令等。所述的数据库3可以为一种本地数据库(Local database),也可以为一种网络数据库(Web database)或文件服务器(File server),用于存储最新版本的BMC固件(Firmware)资料以供服务器1下载使用。
所述的存储器12为一种内置于BMC芯片10中的Flash存储器或者EEPROM存储器,用于存储服服务1所需的BMC固件资料。该BMC固件是一种管理服务器1的软件系统程序,包括服务器1的硬件配置参数、服务器1的管理程序等。所述的微处理器13是一种微控制器或其他具备数据处理能力的处理器。
在本实施例中,所述的BMC固件自动更新系统11包括设置模块111、监听模块112以及更新模块113。本发明所称的功能模块是指一种能够被微处理器13所执行并且能够完成固定功能的一系列程序指令段,其存储在存储器12中。关于各功能模块111-113将在图2的流程图中作具体描述。
参阅图2所示,是本发明BMC固件自动更新方法较佳实施例的流程图。在本实施例中,所述的方法应用在服务器1中,能够通过自动更新存储在服务器1的BMC芯片10中的BMC固件资料,降低工作人员手动刷新BMC固件资料的工作复杂度与繁琐程度,以及减少刷新BMC固件资料过程中出错的概率。
步骤S21,服务器1通过网络4接收监控端设备2发送的BMC更新指令。在本实施例中,用户可以在监控端设备2输入监控服务器1的各种指令,包括BMC更新指令等,监控端设备2通过网络4将BMC更新指令发送至服务器1。
步骤S22,设置模块111根据所述BMC更新指令开启服务器的BMC自动更新功能,并通过服务器1的操作系统设置一个监听狗(Watchdog)的监听时间周期的初始值。在本实施例中,所述的监听狗是由服务器1的操作系统启动的一种监听线程,用于监听BMC固件自动更新的过程。所述的监听时间周期可以根据用户需求设置一天、一周或一月等为一个时间周期。
步骤S23,设置模块111启动所述监听狗对监听时间周期进行计时。在本实施例中,所述监听狗利用操作系统的时钟对监听时间周期进行倒计时。
步骤S24,监听模块112判断监听狗的监听时间周期是否结束。若监听狗的监听时间周期没有结束,则流程返回步骤S23继续计时;若监听狗的监听时间周期结束,则流程执行步骤S25。
步骤S25,监听模块112将监听狗的监听时间周期重新设置为初始值。在本实施例中,监听模块112利用操作系统中的系统自动恢复功能(automatic system recovery,ASR机制)来定期清除监听狗的监听时间周期的计时时间,以防止错误的BMC系统状态被监听模块112所侦测到,从而做出不正确的错误处理。
步骤S26,更新模块103从BMC芯片10的存储器12中获取当前BMC固件的版本信息。在本实施例中,更新模块103会按照用户设定好的监听时间周期来结束时,发送一个IPMI命令从BMC芯片10的存储器12中获取当前BMC固件的版本信息,并反馈给监控端设备2告知用户是否需要更新服务器1中的BMC固件资料。
步骤S27,更新模块103判断存储器12中的当前BMC固件是否需要更新。在本实施例中,所述更新模块103通过网络4从数据库3中获取最新BMC固件的版本信息,并将最新BMC固件的版本信息与存储器12中的当前BMC固件的版本信息进行比较。当最新BMC固件的版本高于当前BMC固件的版本时,更新模块103确定存储器12中的当前BMC固件需要更新;当最新BMC固件的版本没有高于当前BMC固件的版本时,更新模块103确定存储器12中的当前BMC固件不需要更新。
若存储器12中的当前BMC固件不需要更新,则流程返回步骤S23继续进行下一个监听时间周期计时;若存储器12中的当前BMC固件需要更新时,则流程执行步骤S28。
步骤S28,更新模块103通过网络4从数据库3中下载最新版本的BMC固件资料,并将最新版本的BMC固件资料自动更新至BMC的存储器12相应的存储区域中。在本实施例中,更新模块103将数据库3中最新版本的BMC固件资料下载到BMC芯片10的存储器12相应的存储区域中。假如128M的存储器12,更新模块103将16M作为存储最新版本的BMC固件资料的存储区域。
步骤S29,更新模块103将BMC固件的更新时间记录在系统日志表(Log)中。当每次服务器1中的BMC固件刷新完成后,更新模块103会将BMC固件刷新的更新时间通过系统日志表的形式记录下来,方便用户后续对服务器1的监控记录进行查看。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术方案的精神和范围。
Claims (10)
1.一种BMC固件自动更新系统,运行于服务器中,该服务器包括BMC芯片,该服务器通过网络与监控端设备和数据库相连接,其特征在于,所述的BMC固件自动更新系统包括:
设置模块,用于根据BMC更新指令开启服务器的BMC自动更新功能,以及通过服务器的操作系统设置一个监听狗的监听时间周期;
监听模块,用于启动监听狗对监听时间周期进行计时,判断监听狗的监听时间周期是否结束,当监听时间周期结束时,将监听时间周期重新设置为初始值;
更新模块,用于判断BMC芯片的存储器中的当前BMC固件是否需要更新,当存储器中的当前BMC固件需要更新时,从数据库中下载最新版本的BMC固件资料,以及将最新版本的BMC固件资料自动更新至BMC芯片的存储器相应的存储区域中。
2.如权利要求1所述的BMC固件自动更新系统,其特征在于,所述的BMC更新指令是由监控端设备通过网络发送至服务器。
3.如权利要求1所述的BMC固件自动更新系统,其特征在于,所述的判断存储器中的当前BMC固件是否需要更新包括步骤:
从BMC芯片的存储器中获取当前BMC固件的版本信息;
通过网络从数据库中获取最新BMC固件的版本信息;
将最新BMC固件的版本信息与存储器中的当前BMC固件的版本信息进行比较;
当最新BMC固件的版本高于当前BMC固件的版本时,确定存储器中的当前BMC固件需要更新;
当最新BMC固件的版本没有高于当前BMC固件的版本时,确定存储器中的当前BMC固件不需要更新。
4.如权利要求1所述的BMC固件自动更新系统,其特征在于,所述的更新模块还用于将BMC固件的更新时间记录在系统日志表中。
5.如权利要求1所述的BMC固件自动更新系统,其特征在于,所述的监听狗是由服务器的操作系统启动的一种监听线程,用于监听BMC固件自动更新的过程。
6.一种BMC固件自动更新方法,应用于服务器中,该服务器包括BMC芯片,该服务器通过网络与监控端设备和数据库相连接,其特征在于,该方法包括步骤:
根据BMC更新指令开启服务器的BMC自动更新功能,并通过服务器的操作系统设置一个监听狗的监听时间周期;
启动监听狗对监听时间周期进行计时;
判断监听狗的监听时间周期是否结束;
当监听时间周期结束时,将监听时间周期重新设置为初始值;
判断BMC芯片的存储器中的当前BMC固件是否需要更新;
当存储器中的当前BMC固件需要更新时,从数据库中下载最新版本的BMC固件资料,并将最新版本的BMC固件资料自动更新至BMC芯片的存储器相应的存储区域中。
7.如权利要求6所述的BMC固件自动更新方法,其特征在于,所述的BMC更新指令是由监控端设备通过网络发送至服务器。
8.如权利要求6所述的BMC固件自动更新方法,其特征在于,所述的判断存储器中的当前BMC固件是否需要更新包括步骤:
从BMC芯片的存储器中获取当前BMC固件的版本信息;
通过网络从数据库中获取最新BMC固件的版本信息;
将最新BMC固件的版本信息与存储器中的当前BMC固件的版本信息进行比较;
当最新BMC固件的版本高于当前BMC固件的版本时,确定存储器中的当前BMC固件需要更新;
当最新BMC固件的版本没有高于当前BMC固件的版本时,确定存储器中的当前BMC固件不需要更新。
9.如权利要求6所述的BMC固件自动更新方法,其特征在于,该方法还包括步骤:将BMC固件的更新时间记录在系统日志表中。
10.如权利要求6所述的BMC固件自动更新方法,其特征在于,所述的监听狗是由服务器的操作系统启动的一种监听线程,用于监听BMC固件自动更新的过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310375867.0A CN104423981A (zh) | 2013-08-26 | 2013-08-26 | Bmc固件自动更新系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310375867.0A CN104423981A (zh) | 2013-08-26 | 2013-08-26 | Bmc固件自动更新系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104423981A true CN104423981A (zh) | 2015-03-18 |
Family
ID=52973063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310375867.0A Pending CN104423981A (zh) | 2013-08-26 | 2013-08-26 | Bmc固件自动更新系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104423981A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069918A (zh) * | 2015-08-07 | 2015-11-18 | 常州永安公共自行车系统股份有限公司 | 一种基于cortex的公共自行车租赁系统及远程在线升级方法 |
CN105260307A (zh) * | 2015-10-21 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种bmc的升级测试方法及装置 |
CN105260302A (zh) * | 2015-09-28 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种Linux老化系统下自动刷新Barebone BMC的方法 |
CN105938507A (zh) * | 2016-04-14 | 2016-09-14 | 深圳市明信测试设备有限公司 | 一种辅助pcb设计软件的系统及方法 |
CN106598635A (zh) * | 2015-10-16 | 2017-04-26 | 广达电脑股份有限公司 | 基板管理控制器的恢复方法及基板管理控制器 |
CN107483569A (zh) * | 2017-08-04 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种具有固件自动升级的服务器、系统及升级方法 |
CN108334367A (zh) * | 2017-08-31 | 2018-07-27 | 郑州云海信息技术有限公司 | 一种面向bmc芯片的固件远程升级系统及方法 |
CN108874453A (zh) * | 2018-06-07 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种基板管理控制器的刷新方法及装置 |
CN108874435A (zh) * | 2018-05-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器BMC Web自动刷新方法 |
CN109634634A (zh) * | 2018-12-12 | 2019-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种bmc固件升级方法、装置及终端 |
CN109857440A (zh) * | 2019-02-14 | 2019-06-07 | 西安易朴通讯技术有限公司 | 固件更新方法、服务器以及客户端 |
CN109976833A (zh) * | 2019-03-29 | 2019-07-05 | 联想(北京)有限公司 | 固件加载方法、电子设备及储存有固件配置数据的服务器 |
CN110209365A (zh) * | 2019-06-03 | 2019-09-06 | 宜春宜联科技有限公司 | 打印机固件更新方法和打印机、服务器 |
CN110851138A (zh) * | 2019-11-06 | 2020-02-28 | 山东超越数控电子股份有限公司 | 一种将内核和应用分离的bmc软件开发方法 |
CN111352640A (zh) * | 2020-02-20 | 2020-06-30 | 浪潮商用机器有限公司 | 一种背板固件的更新方法及系统 |
CN111399936A (zh) * | 2020-02-29 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种bmc定制的方法、系统、设备及可读存储介质 |
CN116484391A (zh) * | 2023-06-25 | 2023-07-25 | 四川华鲲振宇智能科技有限责任公司 | 一种基于自组网的bmc固件动态存储方法及系统 |
-
2013
- 2013-08-26 CN CN201310375867.0A patent/CN104423981A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105069918B (zh) * | 2015-08-07 | 2017-12-05 | 常州永安公共自行车系统股份有限公司 | 一种基于cortex的公共自行车租赁系统及远程在线升级方法 |
CN105069918A (zh) * | 2015-08-07 | 2015-11-18 | 常州永安公共自行车系统股份有限公司 | 一种基于cortex的公共自行车租赁系统及远程在线升级方法 |
CN105260302A (zh) * | 2015-09-28 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种Linux老化系统下自动刷新Barebone BMC的方法 |
CN106598635A (zh) * | 2015-10-16 | 2017-04-26 | 广达电脑股份有限公司 | 基板管理控制器的恢复方法及基板管理控制器 |
CN105260307A (zh) * | 2015-10-21 | 2016-01-20 | 浪潮电子信息产业股份有限公司 | 一种bmc的升级测试方法及装置 |
CN105938507B (zh) * | 2016-04-14 | 2019-04-12 | 深圳市明信测试设备有限公司 | 一种辅助pcb设计软件的系统及方法 |
CN105938507A (zh) * | 2016-04-14 | 2016-09-14 | 深圳市明信测试设备有限公司 | 一种辅助pcb设计软件的系统及方法 |
CN107483569A (zh) * | 2017-08-04 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种具有固件自动升级的服务器、系统及升级方法 |
CN108334367B (zh) * | 2017-08-31 | 2021-03-30 | 郑州云海信息技术有限公司 | 一种面向bmc芯片的固件远程升级方法 |
CN108334367A (zh) * | 2017-08-31 | 2018-07-27 | 郑州云海信息技术有限公司 | 一种面向bmc芯片的固件远程升级系统及方法 |
CN108874435A (zh) * | 2018-05-29 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种服务器BMC Web自动刷新方法 |
CN108874453A (zh) * | 2018-06-07 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种基板管理控制器的刷新方法及装置 |
CN109634634A (zh) * | 2018-12-12 | 2019-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种bmc固件升级方法、装置及终端 |
CN109857440A (zh) * | 2019-02-14 | 2019-06-07 | 西安易朴通讯技术有限公司 | 固件更新方法、服务器以及客户端 |
CN109976833A (zh) * | 2019-03-29 | 2019-07-05 | 联想(北京)有限公司 | 固件加载方法、电子设备及储存有固件配置数据的服务器 |
CN110209365A (zh) * | 2019-06-03 | 2019-09-06 | 宜春宜联科技有限公司 | 打印机固件更新方法和打印机、服务器 |
CN110851138A (zh) * | 2019-11-06 | 2020-02-28 | 山东超越数控电子股份有限公司 | 一种将内核和应用分离的bmc软件开发方法 |
CN111352640A (zh) * | 2020-02-20 | 2020-06-30 | 浪潮商用机器有限公司 | 一种背板固件的更新方法及系统 |
CN111399936A (zh) * | 2020-02-29 | 2020-07-10 | 苏州浪潮智能科技有限公司 | 一种bmc定制的方法、系统、设备及可读存储介质 |
CN116484391A (zh) * | 2023-06-25 | 2023-07-25 | 四川华鲲振宇智能科技有限责任公司 | 一种基于自组网的bmc固件动态存储方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104423981A (zh) | Bmc固件自动更新系统及方法 | |
US9110843B2 (en) | Rack and method thereof for simultaneously updating basic input output systems | |
US7721153B2 (en) | System, method and program product for recovering from a failure | |
US9535754B1 (en) | Dynamic provisioning of computing resources | |
CN111416821A (zh) | 物联网设备信息采集方法、系统和装置 | |
Hinchey et al. | Evolving critical systems: A research agenda for computer-based systems | |
CN110086658B (zh) | 接口切换方法、装置及计算机可读存储介质 | |
CN107870774A (zh) | 一种用于aoi系统软件版本管理的系统 | |
US8392904B2 (en) | Apparatus, system, and method for efficient code update | |
CN112068852B (zh) | 基于国产服务器的开源软件安装方法、系统及设备和介质 | |
CN104615472A (zh) | 一种防止在线刷新bios+me fw失败的方法 | |
WO2016032442A1 (en) | Computer device error instructions | |
CN110063042A (zh) | 一种数据库故障的响应方法及其终端 | |
CN111506331A (zh) | 一种服务器bmc刷新方法、系统、终端及存储介质 | |
CN112565416B (zh) | 基于云原生的大规模边缘安卓设备纳管系统及其纳管方法 | |
CN111352662B (zh) | 一种服务器启动顺序控制方法、系统、终端及存储介质 | |
CN110134546B (zh) | 批量重启windows系统方法、电子装置及存储介质 | |
US20140047447A1 (en) | Work scheduling method and system implemented via cloud platform | |
CN109116818B (zh) | 一种scada系统升级时的实时数据转储方法和装置 | |
WO2016131294A1 (zh) | 版本升级处理方法及装置 | |
CN110471689A (zh) | 一种应用程序升级方法及装置 | |
CN109962941B (zh) | 通信方法、装置以及服务器 | |
CN116244186A (zh) | 一种操作系统测试管理方法、装置与计算设备 | |
CN114996057A (zh) | 数据备份方法及装置、电子设备和计算机可读存储介质 | |
CN114879977A (zh) | 应用部署方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150318 |