更新固件的方法

文档序号:7767336阅读:1031来源:国知局
专利名称:更新固件的方法
技术领域
本发明涉及一种固件更新技术,尤其涉及一种对多台伺服器进行固件更新的方法。
背景技术
在网络服务及信息传输等领域中,许多企业依据其提供的远端服务或其业务需求而设置了许多伺服器。为了降低负担的营运成本,这些企业便希望将这些伺服器整合成可集中管理的数据中心(data center),并通过应用程序或硬件资源整合来降低伺服器管理所带来的成本开销。伺服器中具备有许多装置元件可利用固件(firmware)更新来进行其功能上的调整,例如基本输入输出系统(basic input output system,BIOS)、基板管理控制器 (baseboard management controller,BMC)等。固件泛指的是嵌入在装置的硬件元件中的软件。通过更新固件,可对伺服器的运作效率、稳定性等状态进行调整。而使用适当的固件版本可确保硬件装置发挥最佳的运作效能。一般来说,更新伺服器的固件时多半需要以人工方式,在不同时段对每台伺服器进行手动更新。由于在数据中心内伺服器的数量十分庞大,在进行固件版本更新时便无法快速进行批量更新固件的动作。不难预见,这样的更新方式十分地耗时费力,进而可能会对数据中心的整体效率造成负面影响。

发明内容
本发明提供一种更新固件的方法,其可同时进行多台伺服器中的固件更新,并维持数据中心的工作负载。本发明提出一种更新固件的方法,其适用于具有多个伺服器的数据中心网络内。 此更新固件的方法包括下列步骤首先,取得欲更新的固件数据。接着,选定位于此数据中心网络内的N个伺服器,N为正整数且N> 1。然后,获得这些伺服器当中相对应的N个固件状态信息。并且,将第i个固件状态信息与欲更新的固件所对应的更新状态信息进行比对,i为正整数且1 < i < N。当第i个固件状态信息与上述的更新状态信息不相同时,便继续判断第i个伺服器的工作状态,藉以决定对第i个伺服器进行固件更新或工作负载转移。在本发明的一实施例中,决定对第i个伺服器进行固件更新或工作负载转移还包括下列步骤在第i个伺服器为忙碌状态的情况下,便将第i个伺服器的工作负载转移至已更新完毕的伺服器中。以及,在第i个伺服器为闲置状态时,便依据欲更新的固件数据对第 i个伺服器进行固件更新动作。在本发明的一实施例中,更新固件的方法还包括下列步骤当第i个伺服器已进行固件更新动作完毕后,将再次比对第i个固件状态信息及更新状态信息,藉以判断是否已正确更新。
在本发明的一实施例中,更新固件的方法还包括下列步骤当第i个固件状态信息与上述的更新状态信息相同时,则将第i个伺服器视为更新完毕的伺服器。在本发明的一实施例中,上述的固件状态信息可为每个伺服器内固件具有的版本辨识码,或是固件更新时间等可供比对的相关信息。在本发明的一实施例中,上述的固件数据可为伺服器的基本输入输出系统的相关固件数据,或为基板管理控制器的相关固件数据。基于上述,本发明实施例可利用一更新伺服器来控制及管理在数据中心的各个伺服器的固件自动更新程序。详细来说,更新伺服器先利用固件版本辨识码判断选定的多台伺服器是否需要进行固件更新,再将伺服器上的运转负载转移至其他已更新完毕的伺服器,藉以在不影响数据中心运作的状况下执行多台伺服器的固件更新,并维持数据中心的运转负载。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。


图1是根据本发明一实施例所述的一种数据中心的示意图。图2是根据本发明一实施例所述的更新固件的方法流程图。主要元件符号说明100:数据中心110:更新伺服器120、120_1 120_N 伺服器S210 S280 步骤
具体实施例方式现将详细参考本发明的示范性实施例,在附图中说明所述示范性实施例的实例。 另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/符号代表相同或类似部分。为了节省更新伺服器的固件时所需的人力,并同时维持数据中心的运作情况,本发明实施例在数据中心100中提供一更新伺服器110,如图1所示,图1是根据本发明一实施例所述的一种数据中心100的示意图,数据中心100具备有多种功能及型号各不相同的伺服器120。更新伺服器110可将依据本发明实施例所述的更新固件的方法来控制及管理在数据中心100的各个伺服器120的固件自动更新程序,并可将待更新伺服器的工作负载转移至已更新完毕的伺服器中,使其在不影响数据中心运作的状况下进行多台伺服器的固件更新。在此详细说明更新固件的方法的致动流程,图2是根据本发明一实施例所述的更新固件的方法流程图。请参照图2并配合图1,在步骤S210中,操作人员会将欲更新的固件数据放置在更新伺服器110,使更新伺服器110取得欲更新的固件数据。在本实施例中,熟悉此另述领域者应可知晓,伺服器120中的许多装置元件可利用固件(firmware)更新来进行功能上调整的数据,例如基本输入输出系统(basic input outputsystem,BIOS)、基板管
4理控制器(baseboard management controller, BMC)等,因此固件数据可为基本输入输出系统的固件数据、基板管理控制器的固件数据、或是其他装置元件的固件数据,本发明并不限制于此。接着,由于伺服器120具备有不同的型号及功能,欲更新的固件数据可能不适用于所有的伺服器120,因此在步骤S220中需由操作人员来选择特定的多台伺服器120_1 120_N,以控制这些伺服器120_1 120_N进行固件更新,N为正整数且N > 1。而在其他实施例中,更新伺服器110也可以利用上述固件数据的更新状态信息与伺服器120的固件版本列表进行比对,藉以自动选定可进行更新的伺服器120_1 120_N,因此本发明并不限制于此。在步骤S230中,更新伺服器110利用伺服器120_1 120_N中的固件自动更新程序来获得这些伺服器120_1 120_N相对应的固件状态信息。在本实施例中,固件状态信息可为伺服器120_1 120_N中固件的版本辨识码。而在其他实施例中,也可将伺服器 120_1 120_N中固件的更新时间作为上述的固件状态信息。应用本实施例者可依其设计需求来选择固件状态的相关信息进行比对,藉以得知是否需要对伺服器120_1 120_N进行固件的更新,并不限制于此。在步骤S240中,更新伺服器110将每个伺服器120_1 120_N所对应的固件状态信息(例如固件版本辨识码VerID_l VerID_N)分别对上述欲更新的固件数据对应的更新状态信息(例如是上述欲更新固件数据的版本辨识码VerID)进行比对。在此以第i个伺服器120_i及第i个固件状态信息VerIDj为例说明,而更新伺服器110可同时对所有的伺服器120_1 120_N进行步骤S240 S280的动作,藉以同时对多台伺服器120_1 12(^^进行固件更新。当第i个固件状态信息VerID_i与欲更新固件数据的版本辨识码VerID相同时, 表示伺服器120」的相关固件已为最新版本,因此应可进入步骤S280以完成伺服器120_i 的固件更新动作,并将伺服器120」视为已更新完毕。另一方面,第i个固件状态信息VerID_i与欲更新固件数据的版本辨识码VerID 不相同时,表示伺服器120」需进行固件更新动作,因此进入步骤S250以判断伺服器120_ i的工作状态。由于伺服器120」需处于闲置状态方能进行固件更新的动作,因此当伺服器 120」处于忙碌状态时,换句话说,当伺服器120」正在执行运算或远端服务等功能时(也即伺服器120」具有工作负载),便由步骤S250进入步骤S260,更新伺服器110将伺服器 120」的工作负载转移到已更新完毕的其他伺服器120上,藉以使伺服器120」可以处于闲置状态。此外,将伺服器120」的工作负载转移至其他伺服器120具有许多实现方式,应用本实施例者可依据其设计需求来选择合适的实现方法以达成上述目的。而当伺服器120」处于闲置状态时,便由步骤S250进入步骤S270,藉以依据欲更新的固件数据来对伺服器120」进行固件更新。并且,为了避免在固件更新中出现错误, 因此在固件更新完毕后再回到步骤S240,以再次比对伺服器120」中的固件版本辨识码 VerID_i与欲更新固件数据中的更新辨识码VerID是否相同。综上所述,本发明实施例可利用更新伺服器来控制及管理在数据中心的各个伺服器的固件自动更新程序。具体来说,更新伺服器先利用固件版本辨识码来判断选定的多台伺服器是否需要进行固件更新,再将伺服器上的运转负载转移至其他已更新完毕的伺服器,藉以在不影响数据中心运作的状况下执行多台伺服器的固件更新,并维持数据中心的
工作负载。 虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
权利要求
1.一种更新固件的方法,适用于一数据中心网络,该方法包括取得一固件数据;选定N个伺服器,其中该些伺服器位于该数据中心网络内,N为正整数且N> 1 ;获得该些伺服器所对应的N个固件状态信息;比对第i个固件状态信息及该固件所对应的一更新状态信息,其中i为正整数且 1彡i彡N ;以及当第i个固件状态信息与该更新状态信息不相同时,判断第i个伺服器的工作状态来决定对第i个伺服器进行固件更新或工作负载转移。
2.根据权利要求1所述的更新固件的方法,决定对第i个伺服器进行固件更新或工作负载转移还包括下列步骤当第i个伺服器为忙碌状态时,将第i个伺服器的工作负载转移至更新完毕的该些伺服器;以及当第i个伺服器为闲置状态时,依据该固件数据对第i个伺服器进行固件更新动作。
3.根据权利要求1所述的更新固件的方法,其中还包括当第i个伺服器进行固件更新动作完毕后,再次比对第i个固件状态信息与该更新状态fe息。
4.根据权利要求1所述的更新固件的方法,其中还包括当第i个固件状态信息与该更新状态信息相同时,将第i个伺服器视为更新完毕的该些伺服器之一。
5.根据权利要求1所述的更新固件的方法,其中该些固件状态信息是该些伺服器所对应的固件版本辨识码或固件更新时间。
6.根据权利要求1所述的更新固件的方法,其中该固件数据为一基本输入输出系统固件数据。
7.根据权利要求1所述的更新固件的方法,其中该固件数据为一基板管理控制器固件数据。
全文摘要
本发明公开了一种更新固件的方法,其适用于数据中心网络内。此方法包括下列步骤首先,取得欲更新的固件数据。接着,选择位于此数据中心网络内的N个伺服器,并获得这些伺服器当中相对应的N个固件状态信息。比对第i个固件状态信息与上述固件数据所对应的更新状态信息,i为正整数且1≤i≤N。当第i个固件状态信息与上述的更新状态信息不相同时,便判断第i个伺服器的工作状态,藉以决定对第i个伺服器进行固件更新或工作负载转移。藉此,此更新固件的方法可同时进行多台伺服器中的固件更新,并维持数据中心的工作负载。
文档编号H04L12/24GK102480384SQ201010570180
公开日2012年5月30日 申请日期2010年11月24日 优先权日2010年11月24日
发明者许志豪, 谢明宏 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1