用于维护固件的备份副本的方法和系统的制作方法

文档序号:7652875阅读:138来源:国知局
专利名称:用于维护固件的备份副本的方法和系统的制作方法
技术领域
本发明涉及计算机系统,具体来说,涉及用于维护固件的备份副本的方法和系统。
背景技术
刀片服务器系统已为大家所熟知。刀片服务器系统通常包括多个服务器,或“刀片”,其中,每一个刀片通常都包括处理器、存储器、存储器、网络连接等等。常规刀片服务器系统所存在的一个问题是,单个刀片可能会随着时间的流失而发生故障。一个常规解决方案是如此设计刀片,以便它们可以进行热交换。因此,发生故障的刀片可以同新刀片交换。此外,自动备份和恢复系统已为大家所熟知,可以在刀片或刀片的固件突然发生故障的情况发挥作用。
常规自动备份和恢复系统所存在的问题是,给定刀片的任何固件的备份副本通常是与刀片一起装运的(即,最初安装在刀片上的)代码的相同版本。因此,如果刀片服务器系统发生灾难性的故障,固件的备份副本就可能是过时的。令人遗憾的是,没有已知的解决方案可以验证给定硬件设备的备份固件是否有用。这是因为固件的更新的版本通常没有被备份。此外,也没有机制可用来跟踪安装在给定刀片上的固件的可信赖性。
相应地,所需要的是用于维护固件的备份副本的方法和系统。本发明就是为了适应这样的需要。

发明内容
说明了用于维护固件的备份副本的方法和系统。具体来说,本发明的实施例提供了一种方法,包括监视至少一个固件组件的执行,如果至少一个固件组件在预先定义的时间段内以预先定义的可靠性标准执行,则生成至少一个固件组件的备份副本。根据这里所说明的方法和系统,如果多服务器系统的给定服务器发生故障,至少一个固件组件的可信赖的备份副本可用。


图1是根据本发明的多服务器系统的分解透视图。
图2是根据本发明的图1的多服务器系统的背部的分解透视图。
图3是根据本发明的多服务器系统的管理子系统的方框图。
图4是显示了根据本发明的用于维护固件的备份副本的方法的流程图。
图5是显示了根据本发明的另一个实施例的用于维护固件的备份副本的方法的流程图。
具体实施例方式
本发明涉及计算机系统,具体来说,涉及用于维护固件的备份副本的方法和系统。提供了下面的描述,以使精通本技术的普通人实现并使用本发明,下面的描述是在专利申请以及其要求的上下文中提供的。对优选实施例以及这里所描述的一般性原理和特点的各个修改,对那些精通本技术的人是显而易见的。如此,本发明不仅限于所显示的实施例,而是根据与这里所描述的原理和特点一致的最广阔的范围。
说明了根据本发明的用于维护固件的备份副本的方法和系统。根据本发明,在多服务器系统的管理模块接收到服务器的固件组件已经更新的通知之后,管理模块监视更新的固件组件的执行。如果更新的固件组件在预先定义的时间(例如,一个星期)内以预先定义的可靠性标准执行,则管理模块指示服务器或通知诸如系统管理员之类的用户生成更新的固件组件的备份副本。在开发固件组件时可以确定预先定义的可靠性标准,并可以取决于由固件开发人员或工程师认为可靠的东西。结果,在服务器发生故障的情况下,更新的固件组件的可信赖的备份副本可用。为比较详细地描述本发明的特点,请结合附图参阅下面的描述。
虽然是在刀片服务器系统的上下文中描述这里所说明的本发明的,但是,本发明也可以适用于其他多服务器系统类型,并仍然在本发明的精神和范围内。
图1是根据本发明的多服务器系统100的分解透视图。如图1所示,主底盘102封装了系统100的所有组件。在一个实施例中,系统100是刀片服务器系统(例如,BladeCenter系统)。最多14个服务器刀片104(这里还称为服务器、存储器服务器,或存储器刀片)被插入到底盘102的正面中的14个插槽中。某些刀片104可以被“热交换”,而不会影响系统100中的其他刀片104的操作。服务器刀片104a可以使用任何微处理器技术,只要它符合机械的和电的接口,以及系统100的功率和冷却要求。
中平面电路板106大致被定位于底盘102的中间,并包括两行连接器108和108′。14个插槽中的每一个都包括一对中平面连接器,例如,108a和108a′,一个位于另一个的上方,每一对中平面连接器,例如,108a和108a′都匹配每一个服务器刀片104a的背部边缘中的一对连接器(未显示)。
图2是根据本发明的图1的多服务器系统的背部的分解透视图,其中,类似的组件以类似的参考编号标识。请一起参看图1和2,第二底盘202也封装了用于冷却、电源、管理以及开关的各种组件。第二底盘202被滑进和闩锁到主底盘102的背部。
如图1和2所示,两个可选地可热插拔的鼓风机204a和204b使刀片系统组件冷却。四个可选地可热插拔的电源模块206为服务器刀片及其他组件提供电源。一个或多个管理模块MM1和MM2(208a和208b)可以是可热插拔的组件,提供诸如控制、监视、警告、重新启动和诊断之类的基本管理功能。管理模块208还提供管理共享资源所需的其他功能,如多路复用键盘/视频/鼠标(KVM)以为单个刀片服务器104提供本地控制台,配置系统100,以及开关模块210(每一个都也都称为开关210)。
管理模块208与系统100的所有关键组件进行通信,包括开关210、电源206,以及鼓风机204模块以及刀片服务器104本身。管理模块208检测这些组件中的每一个组件是否存在,以及状态。当安装管理模块时,第一模块,例如,MM1(208a)将承担有源管理角色,而第二模块MM2(208b)将充当待机模块。
第二底盘202还封装了多达四个开关模块SM1到SM4(210a-210d)。开关模块的主要用途是在服务器刀片(104a-104n)、管理模块(208a和208b)和外部网络基础架构(未显示)之间提供互连性。取决于应用场合,外部接口可以被配置为满足带宽和功能的各种要求。
虽然是在特定数量的组件类型(例如,最多14个服务器刀片、2个鼓风机、4个电源模块、2个管理模块、4个开关模块等等)的上下文中描述本发明的此实施例的,但是,本发明可以适用于任意数量的服务器刀片、鼓风机、电源模块、管理模块、开关模块等等,并仍然在本发明的精神和范围内。
图3是根据本发明的多服务器系统300的管理子系统的方框图。图3包括一个或多个管理模块302(每一个模块都具有一个或多个闪速存储器设备304),一个或多个服务器310a-310d,每一个服务器都具有底板管理控制器(BMC)固件312a-d,分别存储在一个或多个闪速存储器设备316a-d中的BIOS 314a-d。在一个实施例中,多服务器系统300是诸如BladeCenter系统之类的刀片服务器系统。下面将参考图4和5描述多服务器系统300的操作。在一个实施例中,闪速存储器设备304和316a-d用于存储固件,固件可以被定义为与硬件一起装运的“编程指令”。虽然是在固件的上下文中描述本发明的某些实施例的,但是,本发明也可以适用于软件,并仍然在本发明的精神和范围内。例如,在一个实施例中,存储在闪速存储器设备304中的编程指令可以包括固件和软件两者。
图4是显示了根据本发明的用于维护固件的备份副本的方法的流程图。请一起参看图3和4,从步骤402开始,在该步骤中,管理模块302监视固件组件的执行。在一个实施例中,管理模块302可以与每一台服务器310协作以判断任何给定新更新的固件组件的可信赖性。根据本发明,固件组件可以是管理模块的固件、BMC 312的固件,或BIOS 314。
在一个实施例中,预先定义的可靠性标准可以基于由熟悉管理模块302和服务器310之间的通信的固件开发人员或工程师在内部(即,在开发固件组件时)确定的可靠性测量。在给定固件组件的操作过程中,返回代码可以指出固件故障/损坏。例如,管理模块302可以定期从服务器310的BMC 312请求电压读数。给定BMC固件将不会正确地运转,如此,可能会被信任,如果响应请求,BMC 312返回显而易见在正常工作电压范围之外的值,而且返回具有“成功代码”的值。这将导致指示显著的固件故障的警告或消息错误。在一个实施例中,在开发固件时可以创建备份策略,以便如果给定固件组件(例如,BMC固件)在预先定义的时间段内(例如,一个星期,一个月等等)未遇到任何显著的固件可靠性故障,则该固件组件被视为“可信赖的”。预先定义的时间将取决于最终用户/系统管理员的应用环境和/或系统管理策略。请再次参看图4,在步骤404中,如果固件组件在预先定义的时间段内以预先定义的可靠性标准执行,管理模块302使固件组件的备份副本被生成。在一个实施例中,管理模块302可以预先被配置为在备份策略中定义的时间段结束时启动。优选情况下,给定固件组件被其服务器自动地备份,但是,也可以由诸如最终用户或系统管理员之类的用户进行备份。下面将参考图5比较详细地描述这些备份过程。
图5是显示了根据本发明的另一个实施例的用于维护固件的备份副本的方法的流程图。请一起参看图3和5,从步骤502开始,在该步骤中,管理模块302从服务器310接收固件更新通知。例如,给定服务器310(例如,刀片2)上的BMC固件可能已经更新到版本2.0,而备份副本中的版本是版本1.0。接下来,在步骤504中,管理模块302将服务器310添加到监视列表中。接下来,在步骤506中,管理模块302监视管理模块302和服务器310之间的警告和消息交换。在一个实施例中,在服务器310被插入到刀片服务器系统300的底盘之后,或在新的BMC固件被插入服务器310的BMC 312之后,管理模块302交换多个消息。此外,管理模块302可以维护某些警告和消息错误的记录,其中有一些可以(在内部)在备份策略中标识为对于判断BMC固件的可信赖性比较关键。接下来,在步骤508中,管理模块302判断任何警告或消息错误是否指示显著的固件故障。如果是,则在步骤510中,管理模块302从监视列表中删除服务器310,然后在步骤512中,通知用户(例如,最终用户或系统管理员),固件组件将不会被备份,因为监视过程已经检测到固件组件运转异常。如果没有显著的固件故障,则在步骤514中,管理模块302判断预先定义的时间段是否已经过期。如果没有过期,则在步骤506中,管理模块302再一次监视管理模块302和服务器310之间的警告和消息交换。如果没有警告或消息错误指示显著的固件故障并且管理模块302判断预先定义的时间已经过期,则在步骤516中,管理模块302判断备份策略被设置为自动还是人工备份。如果备份策略被设置为自动备份,则在步骤518中,管理模块302传输使固件自动地被备份的消息。在一个实施例中,消息被传输到服务器310,其中,消息包含服务器310的自动地将主要BMC固件(现在是“可信任的”)复制到备份区域的指令。接下来,在步骤520中,管理模块302通过管理事件日志或任何其他合适的通知,通知用户,固件组件已经被备份。如果备份策略被设置为人工备份,则在步骤522中,管理模块302传输使固件被人工地备份的消息。在一个实施例中,消息是传输到用户(例如,最终用户或系统管理员)的通知,指出了固件是可信赖的并且可以被人工地备份。
在一个实施例中,优选情况下,备份副本存储在服务器310中、BMC 312中、闪速存储器设备316或服务器310上的任何其他合适的位置。在其他实施例中,也可以远程存储备份副本(例如,在管理模块302中或任何其他合适的本地或远程位置)。在一个实施例中,服务器310如在框502中通知管理模块302,并重复该过程。
虽然是在更新的BMC固件的上下文中描述图5的特定实施例的,但是,本发明也可以适用于其他固件组件类型,并仍然在本发明的精神和范围内。例如,上文参考图5所描述示例也可以适用于更新的BIOS固件,甚至适用于管理模块302的更新的固件。例如,如果更新BIOS固件,则上文参考图5所描述的过程也适用于BIOS固件。在一个实施例中,过程可以与图5中所描述的过程不同之处在于,BMC 310可以通过与BIOS进行通信来监视更新的BIOS固件的执行。BMC 310也可以与管理模块进行通信,以确定BIOS固件的预先定义的时间。因此,一旦由备份策略指定的预先定义的时间过期,如果没有记录显著的警告或错误消息,则管理模块302指示BIOS 314生成更新的BIOS固件的备份副本,并将备份副本存储在BIOS 314上的备份位置,存储在闪速存储器设备316上,或存储在任何合适的本地或远程位置。
在另一个示例中,如果管理模块302的固件已经被更新,则上文参考图5所描述的过程适用于管理模块固件。在一个实施例中,过程可以与图5中所描述的过程不同之处在于,管理模块302将不会接收到固件更新通知,因为管理模块将察觉到这样的更新。此外,管理模块302可以自我监视其自己的固件的执行以确定其可信赖性。例如,管理模块302通过与一个或多个服务器310交换消息并根据管理模块固件的备份策略监视预先定义的时间段内的警告和消息错误来做到这一点。因此,一旦预先定义的时间过期,如果没有记录显著的警告或错误消息,则管理模块302生成更新的管理模块固件的备份副本,并将它存储在闪速存储器设备304中,或存储在任何合适的本地或远程位置。
在一个实施例中,如上文所描述的,备份BMC、BIOS,以及管理模块的固件的过程可以集成到一个过程中,以便三个固件组件的备份可以同步。这就保证了创建可信任的备份环境。此外,虽然是在上文所描述的三个固件组件的上下文中描述本发明的实施例的,但是,本发明也可以适用于其他固件组件类型和任意数量的固件组件,并仍然在本发明的精神和范围内。
根据这里所说明的系统和方法,本发明提供了很多优点。例如,本发明的实施例提供了更新的固件组件的可信赖的备份副本,以便如果由于关键固件组件的损坏而使多服务器系统的一个或多个服务器发生故障的话,特定发生故障的设备的固件组件的可信赖的和有用的备份副本可用。本发明的实施例还在预先定义的时间段之后生成固件组件的备份副本,以确保更新的固件组件是可信赖的。
说明了用于维护固件的备份副本的方法和被统。根据本发明,在多服务器系统的管理模块接收到服务器的固件组件已经更新的通知之后,管理模块监视更新的固件组件的执行。如果更新的固件组件在预先定义的时间(例如,一个星期)内以预先定义的可靠性标准(例如,无显著的固件故障)执行,则管理模块指示服务器或通知诸如系统管理员之类的用户生成更新的固件组件的备份副本。结果,在服务器发生故障的情况下,更新的固件组件的可信赖的备份副本可用。
根据所显示的实施例描述了本发明。那些精通本技术的普通人员将轻松地认识到,可以对实施例进行修改,任何修改都将在本发明的精神和范围内。例如,可以使用硬件、软件、包含程序指令的计算机可读取的介质,或其组合来实现本发明。根据本发明编写的软件将以某种形式的计算机可读取的介质(如存储器或CD-ROM)存储,或者通过网络进行传输,并由处理器执行。因此,计算机可读取的介质可以包括计算机可读取的信号,可以通过网络进行传输。相应地,在不偏离所附的权利要求的精神和范围的情况下,可以作出许多修改。
权利要求
1.一种用于维护固件的备份副本的方法,所述方法包括监视至少一个固件组件的执行;以及如果所述至少一个固件组件在预先定义的时间段内以预先定义的可靠性标准执行,则生成所述至少一个固件组件的备份副本。
2.根据权利要求1所述的方法,进一步包括从服务器接收固件更新通知;以及向监视列表中添加所述服务器。
3.根据权利要求1所述的方法,其中,执行监视包括监视管理模块和服务器之间的警告和消息交换;以及基于所述预先定义的可靠性标准,判断是否有任何警告或消息错误指示显著的故障。
4.根据权利要求1所述的方法,进一步包括将所述至少一个固件组件的备份副本存储在管理模块或服务器上。
5.根据权利要求1所述的方法,其中,所述生成至少一个固件组件的备份副本包括传输下列消息中的一个向服务器传输的使所述服务器备份所述至少一个固件组件的消息,向用户传输的指出所述至少一个固件组件是可信且可备份的消息。
6.根据权利要求1所述的方法,其中,所述至少一个固件组件是(BMC)固件、基本输入/输出系统(BIOS)固件以及管理模块(MM)固件中的一个。
7.一种多服务器系统,包括至少一个管理模块;以及耦接到所述管理模块的多个服务器,其中,每一个服务器都包括一个或多个固件组件,其中,所述至少一个管理模块监视至少一个固件组件的执行,其中,如果所述至少一个固件组件在预先定义的时间段内以预先定义的可靠性标准执行,则所述至少一个管理模块生成所述至少一个固件组件的备份副本。
8.根据权利要求7所述的系统,其中,所述至少一个管理模块进一步从服务器接收固件更新通知,并将所述服务器添加到监视列表中。
9.根据权利要求7所述的系统,其中,所述至少一个管理模块进一步监视管理模块和服务器之间的警告和消息交换,并基于所述预先定义的可靠性标准,判断是否有任何警告或消息错误指示显著的故障。
10.根据权利要求7所述的系统,其中,所述至少一个管理模块进一步将所述至少一个固件组件的备份副本存储在管理模块或服务器上。
11.根据权利要求7所述的系统,其中,所述至少一个管理模块进一步传输下列消息中的一个向服务器传输的使所述服务器备份所述至少一个固件组件的消息,向用户传输的指出所述至少一个固件组件是可信且可备份的消息。
12.根据权利要求7所述的系统,其中,所述至少一个固件组件是(BMC)固件、基本输入/输出系统(BIOS)固件以及管理模块(MM)固件中的一个。
全文摘要
说明了用于维护固件的备份副本的方法和系统。具体来说,本发明的实施例提供了一种方法,包括监视至少一个固件组件的执行,如果所述至少一个固件组件在预先定义的时间段内以预先定义的可靠性标准执行,则生成所述至少一个固件组件的备份副本。根据这里所说明的系统和方法,如果多服务器方法的给定服务器发生故障,可信赖的备份副本可用。
文档编号H04L12/24GK101071392SQ20071010230
公开日2007年11月14日 申请日期2007年4月27日 优先权日2006年5月12日
发明者泰克·艾切伦, 玛丽亚·A.·雷兹克, 迪帕·斯里尼瓦萨恩, 埃里玛·维拉 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1