《使用分布式文件系统协议远程维持系统固件映像.pdf》由会员分享,可在线阅读,更多相关《使用分布式文件系统协议远程维持系统固件映像.pdf(12页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104081376A43申请公布日20141001CN104081376A21申请号201280068624622申请日20120221G06F15/16200601G06F9/0620060171申请人惠普发展公司,有限责任合伙企业地址美国德克萨斯州72发明人J斯波茨伍德DJ切普利斯74专利代理机构中国专利代理香港有限公司72001代理人张凌苗陈岚54发明名称使用分布式文件系统协议远程维持系统固件映像57摘要描述了使用分布式文件系统协议远程维持系统固件映像。一种保存在计算机上的系统固件映像的方法包括标识将以新映像更新的计算机上的系统固件、使用计算机的管理处理器标识系统固件的。
2、原始映像、使用管理处理器通过计算机的网络接口建立到远程存储系统的网络连接、使用分布式文件系统协议将原始映像通过网络连接发送到远程存储系统。85PCT国际申请进入国家阶段日2014073186PCT国际申请的申请数据PCT/US2012/0259282012022187PCT国际申请的公布数据WO2013/126046EN2013082951INTCL权利要求书2页说明书4页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书4页附图5页10申请公布号CN104081376ACN104081376A1/2页21一种保存在计算机上的系统固件映像的方法,其包括标识将以新映像更。
3、新在计算机上的系统固件;使用计算机的管理处理器标识系统固件的原始映像;使用管理处理器通过计算机的网络接口建立到远程存储系统的网络连接;以及使用分布式文件系统协议将原始映像通过网络连接发送到远程存储系统。2如权利要求1所述的方法,进一步包括执行代码来以在管理处理器上的新映像更新系统固件;其中管理处理器在以新映像更新系统固件之前获得存储在系统固件中的原始映像。3如权利要求1所述的方法,进一步包括执行代码来以在计算机的中央处理单元(CPU)上的新映像更新系统固件;以及在以新映像更新系统固件之前调用在管理处理器上执行的操作环境的应用编程接口(API)来获得存储在系统固件中的原始映像。4如权利要求1所述。
4、的方法,进一步包括在发送原始映像之前,标识存储系统不具有在其上存储的原始映像。5如权利要求1所述的方法,其中分布式文件系统协议包括网络文件系统(NFS)协议。6如权利要求1所述的方法,其中发送的步骤包括调用应用编程接口(API)来使用基于云的协议分配在远程存储系统上的存储并且将原始映像存储在远程存储系统上。7一种计算机系统,其包括中央处理单元(CPU);由CPU使用来引导计算机系统的系统固件;网络接口;以及管理处理器,用于响应于将更新系统固件的新映像经由通过网络接口使用分布式文件系统协议将原始映像添加到由远程存储系统存储的系统固件储存库来保存系统固件的原始映像。8如权利要求7所述的计算机系统,。
5、其中管理处理器在将原始映像添加到系统固件储存库之前标识系统固件储存库不具有在其中存储的原始映像。9如权利要求7所述的计算机系统,其中管理处理器确定应该以替代映像更新系统固件、使用分布式文件系统协议从系统固件储存库获得替代映像并且以替代映像更新系统固件。10如权利要求9所述的计算机系统,其中管理处理器确定系统固件的新映像未能引导计算机系统。11一种维持系统固件映像的方法,其包括响应于以新映像更新计算机的系统固件的请求而使用计算机的管理处理器在计算机和远程存储系统之间建立网络连接;管理处理器使用分布式文件系统协议标识由远程存储系统存储的系统固件储存库;管理处理器在系统固件的更新之前将系统固件的原始。
6、映像添加到系统固件储存库;以及以新映像更新系统固件。12如权利要求11所述的方法,进一步包括权利要求书CN104081376A2/2页3管理处理器确定系统固件储存库不具有已经在其中存储的原始映像的副本。13如权利要求11所述的方法,进一步包括确定应该以替代映像更新计算机的系统固件;管理处理器使用分布式文件系统协议标识在远程存储系统上的系统固件储存库中的替代映像;以及以替代映像更新计算机的系统固件。14如权利要求13所述的方法,其中确定应该更新计算机的系统固件的步骤包括标识计算机未能使用新映像引导,并且其中替代映像包括原始映像。15如权利要求13所述的方法,其中在系统固件储存库中的每个映像包括指。
7、示这样的映像是否已经成功地引导过计算机的标记,并且其中替代映像的标记指示替代映像已经成功地引导过计算机。权利要求书CN104081376A1/4页4使用分布式文件系统协议远程维持系统固件映像背景技术0001计算机系统包括非易失性存储器来存储当上电或“引导”时执行的第一代码。该非易失性存储器可以被称为“固件”。固件的代码可以提供固件接口,诸如基本输入/输出系统(BIOS)、统一可扩展固件接口(UEFI)等等。固件的代码的至少一部分可以是可更新的。在固件中的可更新代码的当前状态被称为“映像(IMAGE)”。因此,可以以新的映像替代固件的当前映像。固件更新过程可以涉及对固件的非易失性存储器进行擦除和。
8、重新编程。0002在固件更新之后,计算机系统可能未能引导。例如,固件的新映像可能在更新过程期间被破坏,和/或可以包括阻止计算机适当地引导和/或操作的错误或者“臭虫”。在这样的情况下,计算机系统的用户可以利用已知用来引导计算机系统的替代映像来更新固件,替代映像诸如在更新到新映像之前存在的原始映像。然而,经常的情况是,原始映像不再容易地可获得,其已经由新映像替代。因此,用户必须执行附加的工作来定位替代映像并且再次执行更新过程。附图说明0003关于以下的图描述了发明的某些实施例图1是根据示例实施的计算机系统的框图。0004图2是描绘了根据示例实施的、保存在计算机上的系统固件映像的方法的流程图。000。
9、5图3是根据示例实施的联网的计算机系统的框图。0006图4是描绘了根据示例实施的维持系统固件映像的方法的流程图。0007图5是描绘了根据示例实施的恢复系统固件映像的方法的流程图。具体实施方式0008描述了使用分布式文件系统协议远程维持系统固件映像。在实施例中,在固件更新到新的映像的情况下保存计算机系统的系统固件映像。在更新期间,计算机的管理处理器标识系统固件的原始映像。然后管理处理器通过网络接口建立到远程存储系统的网络连接。管理处理器使用分布式文件系统协议将系统固件的原始映像发送到远程存储系统。以这种方式,由远程存储系统保存系统固件的原始映像。许多计算机系统可以将固件映像存储到远程存储系统,使。
10、得产生系统固件储存库。固件储存库可以包括系统固件映像的许多不同的版本(例如提供在先版本的日志)。如果在系统固件更新之后计算机未能引导或者否则适当地操作,则管理处理器可以使用分布式文件系统协议从远程存储系统获得替代固件。可以以替代映像自动地或者通过用户交互更新系统固件。在用户交互的情况下,用户可以搜寻或者“浏览”系统固件储存库来选择期望的替代映像。0009在某些情况下,计算机系统可以包括用于系统固件的较大的非易失性存储器,以便存储多于一个映像(例如已知的工作映像)用于冗余。然而,非易失性存储器具有针对存储明确数量的映像的具体容量。此外,每个计算机的较大的非易失性存储器是更昂贵的。本说明书CN10。
11、4081376A2/4页5文描述的实施例提供可以在多个计算机系统之中共享的中央系统固件储存库。不存在针对单独的计算机来存储系统固件的在先映像用于冗余的需要。进一步地,远程存储系统可以具有用于存储任何数量的固件映像的基本上无限的容量。可以参考以下示例实施理解发明的实施例。0010图1是根据示例实施的计算机系统100的框图。计算机系统100包括中央处理单元(CPU)102、管理处理器104、各种支撑电路106、存储器108、网络接口112、各种输入/输出(IO)电路120、系统固件114和互连电路101。互连电路101可以提供总线、桥等等来促进在计算机系统100的部件之中的通信。CPU102可以包。
12、括本领域已知的任何类型的微处理器。支撑电路106可以包括高速缓存、电源、时钟电路、数据寄存器等等。存储器108可以包括随机访问存储器、只读存储器、高速缓存存储器、磁读/写存储器等等或者这样的存储器设备的任何组合。网络接口112可以包括电路以使用各种协议来促进通信,各种协议诸如传输控制协议/因特网协议(TCP/IP)或者以太网上的相似类型的传输/互联网层协议或者相似类型的链路层协议。0011管理处理器104可以包括任何类型的微处理器、微控制器、微计算机等等。管理处理器104提供在计算机系统100的系统管理环境和包括CPU102、支撑电路106、存储器108、网络接口112、IO电路120和/或系。
13、统固件114的硬件部件之间的接口。在示例中,管理处理器104耦合到固件110(被称为“MP固件”)。MP固件110可以包括存储当由管理处理器104执行时提供操作环境(OE)118的代码的非易失性存储器。OE118可以执行各种系统管理功能,诸如监视温度、监视和控制风扇速度、监视功率状态、监视操作系统(OS)状态等等。如本文描述的那样,OE118也可以用于建立与远程存储系统的网络连接以便存储和取回系统固件映像。而且,OE118可以用于更新系统固件114。在某些实施中,管理处理器104可以被称为基板(BASEBOARD)管理控制器(BMC)。管理处理器104和其功能与CPU102和其功能分离。001。
14、2系统固件114可以包括存储用于由CPU102的执行的代码的非易失性存储器。代码的可更新的部分可以提供用于CPU102的固件接口并且被称为系统固件114的映像116。固件接口可以是BIOS、UEFI等等。系统固件114也可以包括被称为“引导代码”的、在引导或重置时由CPU102首先执行的代码,并且可以包括被称为“闪”代码的、用于更新系统固件114的映像116的代码(“引导/闪122”)。如本文使用的术语“非易失性存储器”可以指任何类型的非易失性存储器。示例包括只读存储器(ROM)、电可擦除和可编程ROM(EEPROM)、闪速存储器、铁电随机访问存储器(FRAM)等等,以及这样的设备的组合。00。
15、13图2是描绘了根据示例实施的保存在计算机上的系统固件映像的方法200的流程图。可以参考在图1中示出的计算机100理解方法200。方法200在步骤202处开始,其中标识将以新映像更新系统固件114。在示例中,管理处理器104可以标识将被更新的映像116。在一个示例中,在管理处理器104上执行的OE118用于调用用于更新映像116的过程,因此提供映像116将被更新的指示。在另一示例中,可以由执行引导/闪代码122的CPU102调用更新过程。在这样的示例中,引导/闪代码122可以包括向在管理处理器104上执行的OE118告知即将发生的更新过程。例如,引导/闪代码112可以在开始更新过程之前调用OE。
16、118的应用编程接口(API)。0014在步骤204处,标识系统固件114的原始映像。在示例中,已经标识将发生更新,说明书CN104081376A3/4页6管理处理器104的OE118可以从系统固件114获得与映像116相关联的标识符。该标识符用来标识系统固件114的原始映像(例如版本标识符)。0015在步骤206处,建立到远程存储系统的网络连接。在示例中,管理处理器104的OE118实施网络协议栈用于建立通过网络接口112的网络通信。例如,OE118可以提供TCP/IP栈用于通过TCP/IP网络与远程存储系统通信。0016在步骤208处,使用分布式文件系统协议将系统固件114的原始映像发送到。
17、远程存储系统。在示例中,管理处理器104的OE118可以获得映像116的副本。OE118可以使用分布式文件系统协议来将原始映像通过建立的网络连接存储到远程存储系统。示例分布式文件系统协议包括网络文件系统(NFS)、公共因特网文件系统(CIFS)(例如服务器消息块(SMB)等等。在另一示例中,分布式文件系统协议包括基于云的协议。例如,OE118可以调用应用编程接口(API)来使用基于云的协议分配存储、存储映像并且从远程存储系统取回映像。0017以这种方式,计算机100可以在更新到新映像之前保存系统固件114的原始映像。将原始映像远程地存储在存储系统上。类似于计算机100的若干计算机可以将系统固件。
18、的映像保存到远程存储系统,由此建立在远程存储系统上的系统固件储存库。在某些示例中,固件储存库仅存储唯一(UNIQUE)的系统固件映像。在这样的情况下,方法200可以包括在步骤206和208之间的步骤207。在步骤207处,做出远程存储系统是否已经存储原始映像的副本的确定。在示例中,管理处理器104的OE118可以使用分布式文件系统协议来基于在步骤204中获得的标识符针对原始固件搜索远程存储系统。如果远程存储系统已经存储原始映像,则方法200可以进行到步骤210,其中不执行操作(即不需要原始映像的备份)。否则,方法200进行到步骤208,如上文描述的那样。0018图3是根据示例实施的联网的计算机。
19、系统300的框图。系统300包括计算机101、至少一个其他计算机302和远程存储系统304。远程存储系统304可以包括各种类型的任何数量的存储设备,诸如硬盘驱动器、固态驱动器(SSD)、NAND闪存驱动器和相似类型的持久性存储设备。远程存储系统304存储系统固件储存库(“储存库306”)。储存库306包括多个系统固件映像(“固件映像308”)用于由计算机系统101和计算机系统302使用。在示例中,储存库306存储唯一的固件映像(例如固件映像308中的每个都是不同的版本)。计算机101可以在对系统固件的每个更新之前在储存库306中保存系统固件的原始映像,如上文描述的那样。同样地,计算机系统302。
20、可以将系统固件映像保存到储存库306。0019图4是描绘了根据示例实施的维持系统固件映像的方法400的流程图。可以参考图1和3理解方法400。方法400在步骤402处开始,其中响应于以新的映像更新计算机101的系统固件的请求,在计算机(例如计算机101)和远程存储系统304之间建立网络连接。计算机可以使用其管理处理器建立网络连接,如上文描述的那样。在步骤404处,计算机101使用分布式文件系统协议标识在远程存储系统304上的储存库306。类似于步骤402,计算机系统101可以使用其管理处理器来使用分布式文件系统协议定位储存库306。0020在步骤406处,计算机101在以新映像更新系统固件之前。
21、将系统固件的原始映像添加到储存库306。在示例中,如果原始映像不是已经存储在储存库306中,则计算机101才将这样的原始映像添加到储存库306。计算机101可以使用其管理处理器来使用分布式文件系统协议促进原始映像到远程存储系统304的传送。在步骤408处,计算机101以新说明书CN104081376A4/4页7映像更新其系统固件。0021在某些情况下,在更新到新的固件映像之后,需要替代映像。例如,计算机可能未能以新的固件映像引导。在另一示例中,计算机可以引导,但是未能以新的固件映像适当地操作或者如预期的那样操作。在这样的情况下,计算机或者计算机的用户可以确定应该以已知是可引导的替代映像更新系统。
22、固件。0022图5是描绘了根据示例实施的恢复系统固件映像的方法500的流程图。可以参考图1和3理解方法500。方法500在步骤502处开始,其中计算机(例如计算机101)或者计算机的用户确定应该以替代映像更新系统固件。例如,参考图1的计算机101,管理处理器104的OE118可以确定计算机101未能引导。在另一示例中,用户可以注意到计算机101没有适当地操作或者如预期的那样操作。0023在步骤504处,标识在远程存储304的储存库306中的替代映像。在示例中,管理处理器104上的OE118可以用于选择替代映像。OE118可以自动地选择替代映像。例如,OE118可以选择从其引导计算机101的先前。
23、映像。固件映像308中的每个可以包括指示这样的映像是否已经成功引导过的标记。OE118可以自动地选择已经在计算机上成功引导过的固件映像。在另一示例中,用户可以与OE118交互来取回在储存库306中的可能的固件映像的列表。用户可以使用图形用户接口(GUI)或者命令行接口(CLI)指示OE118。以这种方式,OE118可以标识替代映像。0024在步骤506处,以替代映像更新系统固件。在示例中,在管理处理器104上执行的OE118可以调用更新过程来以替代映像更新在系统固件114上的映像116。0025可以在计算机可读介质中实现上文描述的方法用于配置计算系统来执行所述方法。可以跨多个物理设备(例如计算。
24、机)分发计算机可读介质。计算机可读介质可以例如并且在没有限制的情况下包括任何数量的以下内容仅举几例,包括盘和带存储介质的磁存储介质、诸如压缩盘介质(例如CDROM、CDR等等)和数字视频盘存储介质的光存储器介质、全息存储器、包括诸如闪速存储器、EEPROM、EPROM、ROM的基于半导体的存储器单元的非易失性记忆存储器介质、铁磁数字存储器、包括寄存器、缓冲器或者高速缓存、主存储器、RAM等等的易失性存储介质。其他新的和各种类型的计算机可读介质可以用于存储本文讨论的计算机可读代码。0026在上述描述中,记载了许多细节来提供对本发明的理解。然而,本领域技术人员应理解,可以在没有这些细节的情况下实现本发明。虽然关于有限数量的实施例公开了本发明,但是本领域技术人员将理解来自其的许多修改和变型。所附权利要求书意图覆盖如落入本发明的真正精神和范围之内的这样的修改和变型。说明书CN104081376A1/5页8图1说明书附图CN104081376A2/5页9图2说明书附图CN104081376A3/5页10图3说明书附图CN104081376A104/5页11图4说明书附图CN104081376A115/5页12图5说明书附图CN104081376A12。