CN101251815A - 用于恢复计算系统的系统和方法 - Google Patents

用于恢复计算系统的系统和方法 Download PDF

Info

Publication number
CN101251815A
CN101251815A CNA2008100812598A CN200810081259A CN101251815A CN 101251815 A CN101251815 A CN 101251815A CN A2008100812598 A CNA2008100812598 A CN A2008100812598A CN 200810081259 A CN200810081259 A CN 200810081259A CN 101251815 A CN101251815 A CN 101251815A
Authority
CN
China
Prior art keywords
software code
system software
computing system
computing
code
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.)
Granted
Application number
CNA2008100812598A
Other languages
English (en)
Other versions
CN101251815B (zh
Inventor
伊茨哈克·戈德堡
约塔姆·梅迪尼
肯尼思·纳金
什米尔·瓦什迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101251815A publication Critical patent/CN101251815A/zh
Application granted granted Critical
Publication of CN101251815B publication Critical patent/CN101251815B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

提供了用于将计算系统恢复到与安装在计算系统上的第一系统软件代码相关联的第一操作状态的系统和方法。所述方法包括:在计算系统继续以第一操作状态操作的同时将第二系统软件代码安装在计算系统上。激活第二系统软件代码、并去激活第一系统软件代码,以使计算系统以第二操作状态操作。如果第二系统软件代码的激活使计算系统以不希望的方式操作,则激活第一软件代码、并去激活第二系统软件代码,以使计算系统返回到第一操作状态。

Description

用于恢复计算系统的系统和方法
技术领域
本发明一般涉及安装在计算系统上的恢复代码,特别涉及用于如果较新版本的安装不成功、则回复较旧版本的安装代码的系统和方法。
背景技术
在计算系统中,经常存在升级系统软件的需要。通常,通过在系统硬件上安装新的软件代码来执行升级。在某些系统中,实现了恢复点,使得如果升级失败,则软件代码可被恢复到已知的先前功能状态。
不幸的是,在大多数情况下,如果升级不成功,则典型地,系统关闭,并且需要人为干涉,以将系统恢复到旧代码等级,使得系统能够继续适当地运行。
在某些系统中,可通过将系统代码恢复到先前已知的功能状态,而将系统自动复原。在该方式中,系统可能能够恢复或者继续其操作状态,而不需要人为干预。然而,恢复处理通常使系统性能降级、或者完全中断系统的操作。
在计算系统的连续和不中断的运行至关重要的计算环境中,上述复原方案是不能接受的,因为在系统的操作中的任何停工期(downtime)或降低的性能均将引起依靠系统的无缝操作的企业(enterprise)的严重损失。
因此,需要在升级系统软件、或由于不成功的升级过程而恢复系统软件时能够避免任何系统停工期或性能降级的方法和系统。
发明内容
本公开针对这样的系统和相应的方法,其有助于当系统升级不成功时自动复原计算系统,而不导致计算系统的操作的任何中断、或性能的降级。
为了总结的目的,在此描述了本发明的某些方面、优点和新颖特征。应理解,不是根据本发明的任一特定实施例都可获得所有的这些优点。因此,可以获得或优化一个优点或一组优点、而不获得如在此教导或建议的全部优点的方式,实现或执行本发明。
根据一个实施例,提供了一种用于将计算系统恢复到与安装在计算系统上的第一系统软件代码相关联的第一操作状态的方法。所述方法包括:在计算系统继续以与第一系统软件代码相关联的第一操作状态操作的同时,将第二系统软件代码安装在计算系统上,其中,第一系统软件代码被存储在存储介质的第一分区上,并且,第二系统软件代码被存储在存储介质的第二分区上。
在一些实施例中,该方法还包括:激活第二系统软件代码,并且去激活第一系统软件代码,以使计算系统以第二操作状态操作;以及响应于确定第二系统软件代码的激活使计算系统以不希望的方式操作,激活第一软件代码,并且去激活第二系统软件代码,以使计算系统返回到第一操作状态。
在一个实施例中,激活第二系统软件代码包括:将系统配置从第一设置改变为第二设置,以使计算系统切换到执行存储在第二分区的第二系统软件代码、而不是存储在第一分区的第一系统软件代码。
优选地,该计算系统包括第一控制器单元和第二控制器单元。第一控制器单元执行第二系统软件代码、而不是第一系统软件代码,以激活第二软件代码。第二控制器单元执行第一系统软件代码,并且确定第二系统软件代码的激活是否使计算系统以不希望的方式操作。第二控制器单元响应于确定第二系统软件代码的激活成功,执行第二系统软件代码、而不是第一系统软件代码。
在一个实施例中,所述计算系统为集群系统,其中,所述第一和第二控制器单元被包括在该集群系统的第一和第二节点中。在另一实施例中,所述计算系统至少包括第一控制器单元和第二控制器单元,其中,激活第二系统软件代码并去激活第一系统软件代码包括:从第二分区重引导(reboot)第一控制器单元,同时保持第二控制器单元可操作。优选地,激活第一系统软件代码并去激活第二系统软件代码包括:从第一分区重引导第一控制器单元,同时保持第二控制器单元可操作。
在某些实施例中,安装第二系统软件代码包括:将第二操作系统代码存储在第一分区上;以及将第二系统代码存储在第一分区上。在另一实施例中,从第二分区重引导第一控制器单元包括:通过第一控制器加载并执行安装在第二分区上的第二操作系统;以及将安装在第二分区上的第二操作系统与在该系统上执行的第一系统软件代码集成。在一个实施例中,确定第二系统软件代码的激活是否使计算系统以不希望的方式操作包括:确定集成第二系统软件尚未成功。
根据本发明的另一方面,提供了一种用于将计算系统恢复到与安装在计算系统上的第一系统软件代码相关联的第一操作状态的系统。所述系统包括:逻辑单元,用于在计算系统继续以第一操作状态操作的同时,将第二系统软件代码安装在该计算系统上,其中第一系统软件代码被存储在存储介质的第一分区上,并且,第二系统软件代码被存储在存储介质的第二分区上。
所述系统还可包括:用于激活第二系统软件代码并且去激活第一系统软件代码、以使计算系统以第二操作状态操作的逻辑单元;以及用于响应于确定第二系统软件代码的激活使计算系统以不希望的方式操作而激活第一系统软件代码并去激活第二系统软件代码、以使计算系统返回到第一操作状态操作的逻辑单元。
根据另一实施例,提供了一种包括具有计算机可读程序的计算机可用介质的计算机程序产品。当在计算机上执行该计算机可读程序时,该计算机可读程序使计算机执行上述动作,以管理集群环境中的一个或多个节点。
以下参考附图更详细的提供了一个或多个以上公开的实施例和某些改变。但是,本发明不限于任何公开的特定实施例。
附图说明
图1图解了根据本发明的一个实施例的、其中多个计算系统相互连接的网络环境。
图2图解了根据一个实施例的、其中网络中的一个或多个计算系统监视一个或多个计算系统的成功的软件升级的示例网络环境的框图。
图3图解了根据一个实施例的、将系统恢复到先前已知的操作状态的方法的流程图。
图4A和图4B是根据一个或多个实施例的、其中可运行本发明的系统的硬件和软件环境的框图。
具体实施方式
本公开针对有助于升级在计算系统上执行的系统软件的系统和对应的方法。在一个实施例中,本发明的系统包括其包括并行或分布式网络环境的集群(cluster)计算环境,所述网络环境具有相互连接的计算系统的集合。
在集群中的多个计算系统可被共同用作单个、一致的计算资源,使得在网络中的所有计算系统可共享整个系统的工作负载。也就是,在每个计算系统执行其自身的专用系统软件的同时,将每个计算系统配置为:还参与执行分配到网络中其他计算机的任务。
因而,如果一个计算系统变为不可用,则由于其他参与的计算机将管理该不可用的计算系统的工作负载,所以,在集群的操作中将不存在中断。集群中的各个计算系统可被称为集群节点或节点。
IBM TotalStorageProductivity Center和IBM BladeCenter示例系统提供这样的网络化集群环境,其中可由集群环境中的多个节点共享该系统的工作负载。其中值得注意的是,在以示例方式、将本发明的一个或多个实施例描述为可应用于集群计算环境的同时,本发明的范围不应被理解为限于这些示例实施例。
在下文中,阐述了大量的特定细节,以提供本发明的各种实施例的全面描述。可不需要这些特定细节、或者通过一些细节改变而实践某些实施例。在一些例子中,较不详细地描述某些具体特征,以便不混淆本发明的其他方面。不应将与每个元件或特征相关联的细节等级理解为:将一个特征的新颖性或重要性量化为超过其他特征。
参考图1,根据一个实施例,网络环境10包括在网络40中的多个计算系统。在网络40中的每个计算系统在逻辑上被表示为节点(例如,节点12、14和16)。节点中的一个或独立的控制器系统(未示出)被配置为监视网络中多个计算系统的状态,使得如果关闭、或者在物理上从网络40移除计算系统,则可(优选为实时地)检测到该计算系统的状态。
如上所提出的,根据一个实施例,可在集群计算环境中实现网络40。在一些实施例中,可实现网络40,以连接在并行网络、串行网络、分布式网络或其组合中的多个节点。在特定实施例中,网络连接协议用于实现网络40的物理和逻辑基础结构,其中,所述网络连接协议允许节点用作计算资源的单个、一致的集群。
在一个实施例中,计算控制器系统观察连接到网络40的每个节点的状态,使得在节点变为不可用的情况下,一个或多个其他节点可接管不可用节点的工作负载。优选地,在网络40中,每个节点可与其他节点通信。关于每个节点的状态信息可包括:与由节点代表的计算系统是否由于例如在物理上与网络40断开连接、关闭、或其他不可操作的方式而造成已经变得不可用的有关信息。
在某些实施例中,在集群中的一个或多个节点被分配执行公共任务、或通过网络40连接到共享资源30。共享资源30可包括例如共享盘的多个装置,其中,所述共享盘例如包括由分布式文件系统管理的文件的数据块。在一些实施例中,共享资源30包括硬盘驱动器、磁带驱动器、光盘驱动器、软盘驱动器、快闪存储器、其他类型的数据存储介质的至少一个、或其组合。
共享资源30还可包括数据存储空间和文件数据空间,使得集群中的每个节点可访问存储在数据存储空间中的数据、或者存储在文件数据空间上的对象。在某些实施例中,集群中的单独节点可能不具有到共享资源30的直接访问途径,并因而可与连接到网络40的服务器系统(未示出)通信,以访问在共享资源30上可用的数据或服务。
例如,为了访问共享资源30上的可用文件,节点12可联系服务器系统,以获得对文件内容的访问。服务器系统可为被实现为集群的一部分的虚拟服务器或连接到网络40的另一计算系统中的一个。在一个实施例中,除了组成所请求文件的所有数据块的地址以外,服务系统还向节点12通知所需的锁定信息。一旦节点12对文件保持锁定并且知道一个或多个数据块地址,则节点12可访问文件内容。
由于在网络环境10中的多个节点可用作单个并且一致的计算资源,所以,在某些实施例中,当升级在一个计算系统上的系统软件时,也升级在一个或多个其他计算系统上的系统软件。该升级处理允许整个集群从较旧代码等级移动到较新代码等级。
为了确保集群的健壮操作,优选地,一次升级一个用于每个节点的系统软件,使得如果对于新代码等级的升级不成功,则如在下面更详细地提出的那样,对于一个节点,在网络40中的一个或多个其它节点可监视升级处理,并且将升级不成功的节点回复到旧代码等级。值得注意的是,在图1的网络环境10中的所图解的计算系统为性质上的示例。也就是,除了节点12、14、16以及共享资源30之外,网络环境10还可包括附加或更少的元件,而不减损本发明的范围或者在此公开的原理。
参考图2,节点12和14通过网络40连接,使得在节点12中的控制器(例如,处理器、微处理器等)被配置为监视节点14的状态,并且节点14中的控制器被配置为监视节点12的状态。在一个实施例中,节点12和14各自包括专用的存储介质,用于它们的系统软件100的可执行代码驻留在该存储介质上。在可选实施例中,用于节点12和14的系统软件100可驻留在共享存储介质(未在图2中示出)上。
在下文中,以示例方式将网络环境40描述为可应用于两个节点12和14。但是,应当注意,该示例描述是为了简明的目的,并且本发明的范围不应被理解为局限为两个节点,这是因为,网络40可包括可基于关于节点12和14而公开的相同或类似原理操作的多个相互连接的节点。
在一个实施例中,在节点12的操作系统400上执行系统软件100。例如,与操作系统400相关联的可执行代码、以及系统软件100可被存储在节点12的存储介质的分区(partition)A上。如图3所示,在一个实施例中,在启动升级处理之前,节点12的控制器将用于操作系统400和系统软件100的可执行代码(例如,旧代码)从分区A加载到存储器中,并且执行旧代码,以使与节点12相关联的计算系统在旧代码等级上操作(S310)。如在此公开的,代码等级指计算系统的操作状态。
为了将系统软件100(和/或操作系统400)升级到新代码等级,在一个实施例中,优选地,将新的可执行代码安装到节点12的存储介质的分区B上(S320)。分区A和分区B优选地驻留在节点12的存储介质上,使得可关于不同的分区定义来访问每个分区(例如,在引导处理期间)。一旦新的可执行代码被安装到分区B上,便激活新的软件代码(S330)。
取决于实现,用于新软件代码的激活处理可包括改变特定的系统设置,使得被存储在分区B上的操作系统代码被加载到节点12的存储器中。一旦操作系统400在节点12上运行,节点12的控制器便尝试将安装在分区B上的新的可执行代码(即,系统代码)集成到该系统中。
在示例性实施例中,节点14的控制器(未示出)被配置为执行监视软件700,以监视系统软件100从旧代码等级升级到新代码等级,并确定升级处理是否已经成功(S340)。为了完成升级,新系统代码需要被成功地集成到该系统中(例如,与在网络40中的多个节点的一个或多个上运行的代码兼容)。
如果升级不成功(例如,由于未完全集成到该系统中的新系统节点),则将用于节点12的系统设置回复到它们在升级前的状态,使得系统软件100可退回到旧代码等级(S310)。也就是,在升级过程失败的情况中,通过重新启动节点12、以及加载并执行存储在节点12的分区A上的旧代码,将节点12的代码等级恢复到先前已知的操作状态。
在另一方面,如果在节点14上运行的监视软件700确定升级已经成功(即,在分区B上的新的可执行代码被成功地集成到系统中),则节点12的控制器继续执行存储在节点12的分区B上的新的软件代码(S350)。存储在分区B上的新的软件代码的执行构成系统软件100从旧代码等级到新代码等级的成功升级。
一旦节点12已经被成功升级,便可对升级网络40中的其它节点采用相同或类似的升级过程。例如,可将新代码安装到节点14的分区B上。在激活新代码后,例如,在节点12上运行的监视软件可监视代码14从旧代码等级到新代码等级的成功升级,使得如果升级失败,则节点14回复到执行节点14的分区A上的旧软件代码。在某些实施例中,在需要回复到旧代码等级或旧数据的情况下,监视软件还跟踪在激活新代码后、对数据和数据结构做出的改变。
有利地,配置本发明的集群系统,使得在第一节点(例如节点12)的升级处理期间,网络40中的一个或多个其它节点(例如节点14)接管第一节点的工作负载。因而,即使集群系统的性能可能在升级处理期间降级,也使由于不成功的升级而造成的升级的节点的可能变为完全不可用的机会最小。这是因为,在较差的情况下,未成功升级的节点可通过驻留在分区A上的旧代码而被安全地重引导。
在一个或多个实施例中,可在已经去激活(deactivate)旧的可执行代码之前或之后执行新的可执行代码。取决于实现的旧的可执行代码的去激活可包括:中断执行节点12上的旧的可执行代码和/或完全重启节点12,以从节点12的存储器中去除旧的可执行代码。
但是,在可替换实施例中,在更新处理不成功、并且存在回复到旧代码等级的需要的情况下,可保持在节点12的存储器中加载旧的可执行代码的至少一部分。以此方式,可通过执行存储在存储器中的旧的可执行代码、或者可替换地从节点12的分区A加载旧的可执行代码,而快速恢复旧代码等级。
在此将一个或多个实施例描述为可应用于安装或升级系统软件的可执行代码,例如,该可执行代码控制计算系统的操作。可执行代码包括多个文件库和可执行目录。在特定实施例中,系统软件升级包括开机(bootstrap)操作,例如,使系统关闭、清除其存储器以及通过利用从存储介质的可启动区读取数据来加载存储器而重启。
在支持并发(concurrent)代码加载过程的计算环境中实现本发明的某些实施例,其中在计算系统的存储介质上安装新的固件或软件,而不中断在其操作环境中的计算系统的操作。但是,值得注意的是,和与处理的每个状态相关联的附图标记无关地,可在任意操作环境中、并且以任意顺序或并发地执行以上过程和各个操作。
在不同的实施例中,本发明可完全以硬件形式或者完全以软件形式、或者硬件和软件元件的组合实现。例如,节点12、14和16可包括受控的计算系统环境,其可主要以硬件组件和软件代码方式呈现,其中执行所述软件代码以执行获得本发明的系统所预期的结果的处理。
参考图4A和4B,根据示例实施例的计算系统环境包括硬件环境1110和软件环境1120。硬件环境1110包括提供软件的执行环境的机器和设备;并且,软件提供用于硬件的执行指令。
针对特定的逻辑/功能关系来描述在图解的硬件元件上执行的软件元件。但是,应当注意,以软件实现的各个方法也可通过被配置和编程的例如ASIC(特定用途集成电路)、FPGA(现场可编程门阵列)和DSP(数据信号处理器)的处理器,而以硬件实现。
将软件环境1120划分为两类,包括系统软件1121和应用软件1122。系统软件1121包括例如操作系统(OS)的控制程序、以及指示硬件如何运行并处理信息的信息管理系统。
在示例实施例中,监视软件700被实现为在一个或多个硬件环境上执行的应用软件1122,以监视系统软件从旧代码等级到新代码等级的成功升级。应用软件1122可包括但不限于程序代码、数据结构、固件、驻留软件、微码或其它形式的可通过控制器或处理器读取、分析或执行的信息或例程(routine)。
在可替换实施例中,发明可以计算机程序产品实现,其中可从提供由计算机或任意指令执行系统使用或与其相关的程序代码的计算机可用或计算机可读介质,访问所述计算机程序产品。为了该描述的目的,计算机可用或计算机可读介质可为:可包括、存储、通信、传播或传递由指令执行系统、设备或装置(例如计算机)所使用、或与其相关的程序的任意设备。
计算机可读介质可为电、磁、光、电磁、红外线或者半导体系统(或设备或装置)或传播介质。计算机可度介质的例子包括半导体或固态存储器、磁带、可拆卸计算机盘、随机存取存储器(RAM)、只读存储器(ROM)、固定磁盘和光盘。光盘的当前例子包括致密盘只读存储器(CD-ROM)、致密盘读/写(CD-R/W)、以及数字视频盘(DVD)。
参考图4A,应用软件1122的实施例可被实现为在数据处理系统上执行的计算机可读代码形式的计算机软件,其中所述数据处理系统例如为:包括通过系统总线1100耦接到一个或多个存储器元件的处理器1101的硬件环境1110。例如,存储器元件可包括本地存储器1102、存储介质1106和高速缓冲存储器1104。处理器1101从存储介质1106将可执行代码加载到本地存储器1102。高速缓冲存储器1104提供临时存储以减少为了执行而从存储介质1106加载代码的次数。
例如,用户接口装置1105(例如,键盘、定点装置等)和显示屏1107可直接、或通过中间的I/O控制器1103而耦接到计算系统。例如网络适配器的通信接口单元1108也可耦接到计算系统,以使数据处理系统能够通过中间的私有或公共网络、而与其它数据处理系统或远程打印机或存储装置通信。有线或无线调制解调器和以太网卡是网络适配器的若干示例类型。
在一个或多个实施例中,硬件环境1110可不包括以上全部组件,或包括用于附加功能或用途的其它组件。例如,硬件环境1110可为膝上型计算机,或被实现为嵌入式系统的其它便携式计算装置,如机顶盒、个人数据助理(PDA)、移动通信单元(例如,无线电话)或者其它具有信息处理、数据存储或通信能力的类似硬件平台。
在一些实施例中,通信接口1108通过发送和接收承载代表各种类型的信息(包括程序代码)的数字数据流的电、电磁或光信号,而与其它系统通信。可通过远程网络(例如因特网)、或者可替换地通过载波上的传送,而建立通信。
参考图4B,系统软件1121可包括在从存储介质1106加载到本地存储器1102后被执行的一个或多个计算机程序。在客户端-服务器架构中,系统软件1121可包括客户端软件和服务器软件。例如,在本发明的一个实施例中,在客户端系统12上执行客户端软件,而在服务器系统20上执行服务器软件。
软件环境1120还可包括用于访问在本地或远程计算网络上可用数据的浏览器软件1126。此外,软件环境1120可包括用于接收用户命令和数据的用户界面1124(例如,图形用户界面(GUI))。请注意,上述硬件和软件架构和环境是为了示例的目的,并且,本发明的一个或多个实施例可以任意类型的系统架构或处理环境而被实现。
还应当理解,逻辑代码、程序、模块、处理、方法和执行每个方法中各个步骤的顺序完全为了示例。如上所述,除非相反地指明,否则,在本发明中,取决于实现,可以任意顺序或并行执行步骤。此外,逻辑代码不与任意特定编程语言相关,并且不限于任意特定编程语言,并且可包括在分布式、非分布式或多处理环境中的一个或多个处理器上执行的一个或多个模块。
本领域的技术人员将理解,可配置上述优选实施例的各种应用和修改而不背离本发明的范围和精神。因此,应理解,在所附权利要求的范围内,可除了如在此具体描述的而实践本发明。

Claims (20)

1.一种用于将计算系统恢复到与安装在计算系统上的第一系统软件代码相关联的第一操作状态的方法,所述方法包括:
在计算系统继续以第一操作状态操作的同时,将第二系统软件代码安装在该计算系统上;
激活第二系统软件代码、并去激活第一系统软件代码,以使该计算系统以第二操作状态操作;以及
如果第二系统软件代码的激活使该计算系统以不希望的方式操作,则激活第一系统软件代码、并去激活第二系统软件代码,以使该计算系统返回到第一操作状态。
2.如权利要求1所述的方法,其中,激活第二系统软件代码包括:将系统配置从第一设置改变为第二设置,以使计算系统切换到执行第二系统软件代码。
3.如权利要求1所述的方法,其中,所述计算系统还包括:
第一控制器单元,其执行第二系统软件代码,以激活第二软件代码;以及
第二控制器单元,其执行第一系统软件代码,并且确定第二系统软件代码的激活是否使计算系统以不希望的方式操作。
4.如权利要求3所述的方法,其中,所述第二控制器单元响应于确定第二系统软件代码的激活成功,而执行第二系统软件代码。
5.如权利要求3所述的方法,其中,所述计算系统为集群系统,其中,所述第一和第二控制器单元被包括在该集群系统的第一和第二节点中。
6.如权利要求1所述的方法,其中,所述计算系统还包括:
存储在存储介质的第一分区上的第一系统软件代码、以及存储在存储介质的第二分区上的第二系统软件代码;
第一控制器单元和第二控制器单元;并且
激活第二系统软件代码、并去激活第一系统软件代码包括:从第二分区重引导第一控制器单元,同时保持第二控制器单元可操作。
7.如权利要求6所述的方法,其中,激活第一系统软件代码、并去激活第二系统软件代码包括:从第一分区重引导第一控制器单元,同时保持第二控制器单元可操作。
8.如权利要求6所述的方法,其中,安装第二系统软件代码包括:
将第二操作系统代码存储在第二分区上;以及
将第二系统代码存储在第二分区上。
9.如权利要求8所述的方法,其中,从第二分区重引导第一控制器单元包括:
通过第一控制器加载并执行安装在第二分区上的第二操作系统;以及
将安装在第二分区上的第二系统软件与在系统上执行的第一系统软件代码集成。
10.如权利要求9所述的方法,其中,确定第二系统软件代码的激活是否使计算系统以不希望的方式操作包括:
确定集成第二系统软件尚未成功。
11.一种用于将计算系统恢复到与安装在计算系统上的第一系统软件代码相关联的第一操作状态的系统,所述系统包括:
逻辑单元,用于在计算系统继续以第一操作状态操作的同时,将第二系统软件代码安装在计算系统上;
第一控制器,用于激活第二系统软件代码、并去激活第一系统软件代码,以使计算系统以第二操作状态操作;以及
第二控制器,用于确定第二系统软件代码的激活使计算系统以不希望的方式操作,所述第二操作器根据确定第二系统软件代码的激活使计算系统以不希望的方式操作,而激活第一系统软件代码,并去激活第二系统软件代码。
12.如权利要求11所述的系统,其中,激活第二系统软件代码包括:将系统配置从第一设置改变为第二设置,以使计算系统切换到执行第二系统软件代码。
13.如权利要求11所述的系统,其中,所述第二控制器响应于确定第二系统软件代码的激活成功,而执行第二系统软件代码。
14.如权利要求11所述的系统,其中,所述计算系统为集群系统,并且,分别在所述集群系统的第一和第二节点中包括所述第一和第二控制器单元。
15.一种用于管理在集群中的节点的计算机程序产品,所述产品包括计算机可用介质,该计算机可用介质具有当在计算机上执行时使计算机进行以下操作的计算机可读程序:
在计算系统继续以第一操作状态操作的同时,将第二系统软件代码安装在计算系统上;
激活第二系统软件代码、并去激活第一系统软件代码,以使计算系统以第二操作状态操作;以及
如果第二系统软件代码的激活使计算系统以不希望的方式操作,则激活第一系统软件代码、并去激活第二系统软件代码,以使计算系统返回到第一操作状态。
16.如权利要求15所述的产品,其中,激活第二系统软件代码包括:将系统配置从第一设置改变为第二设置,以使计算系统切换到执行第二系统软件代码。
17.如权利要求15所述的计算机程序产品,其中,所述计算系统还包括:
第一控制器单元,其执行第二系统软件代码,以激活第二软件代码;以及
第二控制器单元,其执行第一系统软件代码,并且确定第二系统软件代码的激活是否使计算系统以不希望的方式操作。
18.如权利要求17所述的计算机程序产品,其中,所述第二控制器单元响应于确定第二系统软件代码的激活成功,而执行第二系统软件代码。
19.如权利要求17所述的计算机程序产品,其中,所述计算系统为集群系统,其中,所述第一和第二控制器单元被包括在该集群系统的第一和第二节点中。
20.如权利要求15所述的计算机程序产品,其中,将第一系统软件代码存储在存储介质的第一分区上,并且将第二系统软件代码存储在存储介质的第二分区上。
CN2008100812598A 2007-02-21 2008-02-20 用于恢复计算系统的系统和方法 Expired - Fee Related CN101251815B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/677,538 US7783921B2 (en) 2007-02-21 2007-02-21 Code recovery system and method
US11/677,538 2007-02-21

Publications (2)

Publication Number Publication Date
CN101251815A true CN101251815A (zh) 2008-08-27
CN101251815B CN101251815B (zh) 2012-05-30

Family

ID=39707731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100812598A Expired - Fee Related CN101251815B (zh) 2007-02-21 2008-02-20 用于恢复计算系统的系统和方法

Country Status (2)

Country Link
US (1) US7783921B2 (zh)
CN (1) CN101251815B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495351B2 (en) * 2010-10-13 2013-07-23 International Business Machines Corporation Preparing and preserving a system configuration during a hot upgrade
US9032053B2 (en) * 2010-10-29 2015-05-12 Nokia Corporation Method and apparatus for upgrading components of a cluster
US9674105B2 (en) 2013-06-19 2017-06-06 International Business Machines Corporation Applying a platform code level update to an operational node
US10237342B2 (en) 2014-09-17 2019-03-19 Dh2I Company Coordinated and high availability storage access
US9652215B2 (en) * 2014-12-30 2017-05-16 Microsoft Technology Licensing, Llc Application installation/uninstallation across multiple systems
EP3376391A1 (en) * 2017-03-17 2018-09-19 Ricoh Company Ltd. Information processing apparatus, updating method, and carrier means

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6195695B1 (en) * 1998-10-27 2001-02-27 International Business Machines Corporation Data processing system and method for recovering from system crashes
US6324692B1 (en) * 1999-07-28 2001-11-27 Data General Corporation Upgrade of a program
GB0020488D0 (en) 2000-08-18 2000-10-11 Hewlett Packard Co Trusted status rollback
US7178056B2 (en) 2001-12-04 2007-02-13 Intel Corporation Rolling software upgrades for fault tolerant systems
US20030149970A1 (en) 2002-01-23 2003-08-07 Vedvyas Shanbhogue Portable software for rolling upgrades
US7000229B2 (en) * 2002-07-24 2006-02-14 Sun Microsystems, Inc. Method and system for live operating environment upgrades
US7024581B1 (en) * 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US7340638B2 (en) * 2003-01-30 2008-03-04 Microsoft Corporation Operating system update and boot failure recovery
CN100421071C (zh) * 2005-03-18 2008-09-24 上海华为技术有限公司 用于远程设备系统软件的升级方法
CN100395707C (zh) * 2006-02-07 2008-06-18 华为技术有限公司 升级程序的方法

Also Published As

Publication number Publication date
US20080201694A1 (en) 2008-08-21
US7783921B2 (en) 2010-08-24
CN101251815B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
CN108616382B (zh) 升级网卡固件的方法、装置、网卡和设备
US7703091B1 (en) Methods and apparatus for installing agents in a managed network
CN102782656B (zh) 管理应用程序可用性的系统和方法
JP4467624B2 (ja) ソフトウェアアップデート管理プログラム、ソフトウェアアップデート管理装置、およびソフトウェアアップデート管理方法
CN105468717B (zh) 数据库操作方法和装置
US20090144720A1 (en) Cluster software upgrades
CN104823160A (zh) 虚拟机-保留主机更新
CN103608798A (zh) 集群文件服务
CN101251815B (zh) 用于恢复计算系统的系统和方法
CN105229613A (zh) 协调分布式系统中的故障恢复
US10430082B2 (en) Server management method and server for backup of a baseband management controller
CN108880898B (zh) 主备容器系统切换方法及装置
US11366682B1 (en) Automatic snapshotting for recovery of instances with local storage
US20160103744A1 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
US11768672B1 (en) Systems and methods for user-controlled deployment of software updates
EP1943593B1 (en) Methods and apparatus for automatically multi-booting a computer system
US11782694B2 (en) Pipeline rolling update
JP4322240B2 (ja) 再起動方法、システム及びプログラム
US8499080B2 (en) Cluster control apparatus, control system, control method, and control program
CN113434340B (zh) 服务器及缓存集群的故障快速恢复方法
JP5387767B2 (ja) 実行中のプログラムの更新技術
US12093724B2 (en) Systems and methods for asynchronous job scheduling among a plurality of managed information handling systems
CN116360865A (zh) 集群管理方法、设备及计算系统
CN112912848B (zh) 一种丛集作业过程中的电源请求管理方法
JP2020177489A (ja) 制御方法、制御プログラム、および情報処理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120530