用于动态群集代码管理的方法和系统的制作方法

文档序号:6558015阅读:159来源:国知局
专利名称:用于动态群集代码管理的方法和系统的制作方法
技术领域
本发明涉及管理群集中的代码更新。
背景技术
在某些计算环境中,多个主机系统可与诸如IBM企业存储服务器(ESS)的控制单元进行通信,为通过接收请求的ESS进行管理的存储设备中的数据提供对存储设备的存取通道,所述存储设备诸如通过一条或多条逻辑路径互连的硬盘驱动器。(IBM和ESS是IBM的注册商标)。互连驱动器可以被配置为直接存取存储设备(DASD)、独立磁盘冗余阵列(RAID)、简单磁盘捆绑(JBOD)等。控制单元(也称之为群集)可以包括重复的和冗余的处理节点(也被称为处理联合体(processing complex)),以允许一旦一个节点失败而将故障切换(failover)到留存的处理联合体。处理联合体可以访问诸如输入/输出(I/O)适配器、存储适配器和存储设备的共享资源。
处理联合体可以执行各种处理操作,诸如输入/输出操作。为了更新由服务器群集的处理联合体执行的软件或其它代码,一个处理联合体可以是停用的(quiesced),致使诸如那个处理联合体的输入/输出操作的处理操作由失效转移操作中的服务器群集的其它处理联合体接管。所述停用的处理联合体的代码然后可以被更新。在更新特定处理联合体的代码后,那个处理联合体在故障恢复(failback)操作后可以恢复执行输入/输出或其它处理操作。这个更新程序对于服务器节点的剩余处理联合体来说是可重复的。
每个处理联合体的资源可以被分为许多逻辑分区(LPAR),其中计算机的处理器、存储器、和硬件资源被分为多个环境。每个环境能用它自己的操作系统和应用程序独立地操作。处理联合体的逻辑分区通过能将单一机器分为许多个具有它们自己的系统资源集合的逻辑服务器的能力,增加了单个服务器上的工作量管理的灵活性。每个分区中的资源可以以各种数目和组合方式进行组合。而且,可创建的逻辑硬件分区的数目依赖于硬件系统。
动态逻辑分区(DLPAR)通过提供在无需重新启动的情况下能使处理联合体的资源逻辑地连接到逻辑分区的操作系统以及使处理联合体的资源逻辑地脱离逻辑分区的操作系统的能力来扩展LPAR的能力。该资源分配不仅可在激活逻辑分区时而且在分区运行的同时发生。处理器、存储器、I/O适配器和其它分区资源可被释放到“自由池(free pool)”中、可从该自由池获得、或者以各种数目或组合方式直接地在处理联合体内从一个分区移到另一个分区。然而,每个分区通常具有至少一个处理器、存储器、与引导设备相关联的I/O适配器、以及网络适配器。
LPAR资源从处理联合体中的一个硬件分区移到另一分区的移动可以由主管模块管理。为了传送分区资源,主管模块能够将网络请求发送到“拥有”分区资源的逻辑分区,要求该逻辑分区释放特定的分区资源并且使其处于停用状态。以这种方式,分区资源停止并被置于管理程序(hypervisor)模块的控制下。主管模块可以向管理程序发送命令,指示它将分区资源从前一逻辑分区重新分配到另一逻辑分区。此外,主管模块能将网络请求发送到其它逻辑分区,指示它从管理程序模块获得分区资源并且将其配置成由该其它逻辑分区使用。

发明内容
服务器群集的第一处理联合体中的第一逻辑分区在软件代码的第一级别被操作。在同一处理联合体中的第二逻辑分区中的软件代码被更新至第二级别。这些处理操作由在软件代码的第二级别操作的第二逻辑分区承担。将描述和要求其他实施例。


图1说明了实施例可以实现的计算环境。
图2说明了在处理联合体的逻辑分区中更新软件代码的操作。
图3是处理联合体中的源逻辑分区和目标逻辑分区的示意图。
图4说明了在处理联合体的逻辑分区中更新软件代码的附加操作。
具体实施例方式
图1说明了其中使用本描述的方案的计算环境的一个例子。一个或多个主机2向控制单元或群集6传达针对存储系统4的输入/输出(I/O)任务或请求,其中群集6管理对存储系统4的访问。在一个实施例中,群集6由两个处理节点或联合体8a、8b组成,每个包括处理器10a、10b和存储器12a、12b。每个处理器10a、10b能包括可用作为相关联的处理联合体8a、8b的处理资源的一个或多个中央处理单元(CPU)。
每个处理联合体8a、8b包括主管模块14a、14b。主管模块14a、14b包括管理和调整在联合体8a、8b中执行的一个或多个逻辑分区16a、16b的操作的代码。每个逻辑分区16a、16b分别地执行操作系统18a、18b和设备驱动器20a、20b。逻辑分区包括将处理器10a、10b分成逻辑独立处理系统,每个都具有它们自己的操作系统18a、18b和设备驱动器20a、20b。多个逻辑分区可以在每个处理联合体中执行,由用于那个联合体的主管模块管理。
在所说明的实施例中,逻辑分区16a以存储在处理联合体8a的非易失性存储器21a中的数据结构维持状态信息。该状态信息标识群集6的各种状态机的各种状态。群集状态信息的同步副本被类似地由逻辑分区16b以存储在处理联合体8b的非易失性存储器21b中的数据结构维持。该状态信息便于控制处理操作,诸如由代表主机2的群集6的逻辑分区16a、16b执行的输入/输出操作。逻辑分区16a、16b相互之间可以交换状态信息,以便于各个有效(active)分区保持关于群集操作的当前状态信息。此外,逻辑分区在非易失性存储器21a、21b中保持其它数据结构,其便于响应于例如从诸如输入/输出任务的主机2中接收的任务而执行处理操作。每个逻辑分区16a、16b也具有通向高速缓冲存储器23a、23b的存取通道,用于存储用于执行从主机2所接收的处理任务的数据。
每个设备驱动器20a、20b在逻辑分区16a、16b中的操作系统18a、18b(设备驱动器20a、20b其中执行)和外部设备之间提供接口,该外部设备诸如主机适配器22a、22b、...22n和设备适配器24a、24b、...24n。主机适配器22a、22b...22n使得处理联合体8a、8b能与主机2通信,并且设备适配器24a、24b、...24n使得处理联合体8a、8b能与存储系统4通信。因而,处理联合体8a、8b共享诸如适配器22a、22b、...22n和24a、24b、...24n的设备。变量“n”用于表示元件的整数实例,并且当与不同元件使用时可以指示不同或同样的整数值。例如,22n和24n可以指示主机适配器22n和设备适配器24n的同样或不同的数量。
处理联合体8a、8b通过组织(fabric)30a与主机适配器22a、22b...22n通信,并且通过组织30b与设备适配器24a、24b...24n通信。组织30a、30b可以包括一个或多个在处理联合体8a、8b与适配器之间提供通信路径的接口。路径包括使得能通过光纤与共享适配器通信的光纤30a、30b中的硬件。在一个实施例中,光纤可以包括光纤信道判优循环(Fibre Channel arbitrated loop)构造、串行循环架构或诸如周边元件扩展接口(PCI)的总线接口。每个处理联合体8a、8b可以被分配为适配器22a、22b...22n、24a、24b...24n的一部分,并且在初始化期间,处理联合体8a、8b负责初始化向适配器提供通信路径的光纤30a、30b的部分,该适配器被指派给该处理联合体。例如,如果处理联合体8a被指派适配器22a、22b、24a、24b,则处理联合体8a将初始化并且配置光纤30a、30b的、在处理联合体8a和适配器22a、22b、24a、24b之间提供通信路径的部分。同样,如果处理联合体8b被指派适配器22c(未示出)...22n以及24c(未示出)...24n,则处理联合体8b将初始化并且配置光纤30a、30b的该部分以及使得处理联合体8b与适配器22c...22n和24c...24n之间能通信的路径。配置光纤30a、30b包括在光纤硬件(例如光纤信道循环硬件、串行循环构造硬件或总线接口硬件)中设置寄存器,以及执行其它与初始化和发现相关的操作。每个单独的适配器22a、22b...22n、24a、24b...24n可以由处理联合体8a、8b共享。
与管理程序模块26a、26b连接的主管模块14a、14b保持设备/逻辑分区(LPAR)指派,所述指派标识适配器22a、22b...22n、24a、24b...24n对于每个处理联合体8a、8b中的逻辑分区16a、16b的每个指派,以使得在特定适配器22a、22b...22n、24a、24b...24n和处理联合体8a、8b之间的通信由在被指派给特定适配器22a、22b...22n、24a、24b...24n的逻辑分区16a、16b中执行的设备驱动器20a、20b来处理。
每个处理联合体8a、8b可以在分开的功率边界(power boundary)上。处理联合体8a、8b可以被指派为处理被指向配置在存储器系统4中的特定卷(volume)的I/O请求。处理联合体8a、8b经由设备适配器24a、24b...24n,通过设备网络(未示出)与存储器系统4通信,所述的设备网络可以包括局域网(LAN)、存储区域网(SAN)、总线接口、串行接口等。此外,处理联合体8a、8b通过使处理器能互连的连接28通信,以管理关于诸如共享适配器22a、22b...22n、24a、24b...24n的共享设备所执行的配置操作。在可选择的实施例中,可以只有一个连接所有适配器22a、22b...22n、24a、24b...24n的光纤,即,光纤30a、30b可以是单个互连光纤或诸如30a、30b所示的两个光纤或多于两个光纤的一部分。
群集6可以包括诸如企业存储服务器、存储控制器等的任何类型的服务器,或用于管理对于所附接的存储系统4的I/O请求的其它设备,其中存储系统可以包括一个或多个诸如互连硬盘驱动(例如,被配置为DASD、RAID、JBOD等)、磁带、电子存储器等的本领域内公知的存储设备。主机2可以通过诸如局域网(LAN)、存储区域网(SAN)、广域网(WAN)、无线网络等的网络(未示出),经由适配器22a、22b...22n与群集6通信。换句话说,主机2可以通过诸如周边元件扩展接口(PCI)总线或串行接口的总线接口与群集6通信。此外,群集6也可以是例如总服务器群集,而不只是存储子系统或存储控制器。例如,这两个服务器可以是诸如Lotus Notes的运行着较高可利用的群集应用程序的IBM pSeries服务器。
依据本描述的一个方面,图2说明了群集操作的一个例子,其中群集的处理联合体的代码可以由处理联合体在处理操作中以能减少中断的方式而更新。在一个操作中,群集在群集的第一节点或处理联合体、作为源的第一逻辑分区和作为目标的同一处理联合体中的第二逻辑分区中操作(框200)。图3是示例地说明操作作为源逻辑分区的处理联合体8a的第一逻辑分区16a1的群集6的例子的框图。此外,处理联合体8a的第二逻辑分区16a2被作为目标逻辑分区而操作。
如这里所使用的,源逻辑分区是至少能初始地执行从主机2所接收的处理任务的功能性地操作逻辑分区。此外,源逻辑分区是资源可以从此处被移走的逻辑分区。相反地,目标逻辑分区是可以被赋予资源的逻辑分区。在图3的实施例中,处理联合体8b的第三逻辑分区16b1可以作为源逻辑分区被操作,并且处理联合体8b的第四逻辑分区16b2可以作为目标逻辑分区被操作。
在所说明的实施例中,源逻辑分区16a1、16b1代表主机2执行处理操作。例如,逻辑分区16a1可以从或向诸如存储系统4的共享资源读取或写入数据。每个有效逻辑分区16a1、16b1能访问诸如包括主机适配器22a、22b...22n的一个或多个输入/输出适配器300a、300b...300n的共享资源,以从主机2接收处理任务。这些处理任务和它们的相关的处理数据可以被暂时地存储在指派给各自的逻辑分区16a1、16b1的非易失性存储器21a、21b和高速缓冲存储器23a、23b中。
逻辑分区16a1、16a2可访问的输入/输出适配器300a、300b...300n还包括设备适配器24a、24b...24n,以将输出数据从主机2写入至存储系统4和依据被执行的特定处理操作从存储系统4接收、读出输入数据以转送至主机2。为了执行这些处理操作,逻辑分区16a1、16b1可以每个被分配相关的处理联合体8a、8b的分区资源的实质部分。从而,例如源逻辑分区16a1可以被分配主要的CPU资源、存储器资源和处理联合体8a的其它动态分配分区资源。分配给任何一个源逻辑分区的动态分配分区资源的百分比可取决于处理联合体中的源和目标逻辑分区的数目以及每个源逻辑分区的相关工作负载。
每个源逻辑分区16a1、16a2也包括用于执行处理操作的软件代码302a1、302b1。软件代码302a1、302b1代表操作系统代码、应用软件代码、固件代码或用于引导部分或更多逻辑分区的操作的任何其它代码。在这个例子中,软件代码302a1、302b1是由名称“级别1.0”描述的代码的特定版本或级别。
在另一操作中,新软件代码302a2、302b2可以被安装(框204)在诸如目标逻辑分区16a2、16b2的目标逻辑分区上。在这个例子中,新软件代码302a2、302b2是代码级别1.0的更新或较新版本或级别。这个代码的更新的或较新的版本或级别是由名称“级别1.1”表示的。
在所说明的实施例中,当软件代码302a2、302b2正在被更新时,目标逻辑分区16a2、16b2可以不代表主机2执行处理操作。从而,目标逻辑分区16a2、16b2可以不访问包括高速缓冲存储器23a、23b和相关的处理联合体8a、8b的非易失性存储器21a、21b的共享资源。例如,在代码更新期间,由于目标逻辑分区16a2、16b2不从主机2接收处理任务,所以每个目标逻辑分区16a2、16b2可以不访问共享主机适配器22a、22b...22n。从而,处理任务和它们的相关处理数据可以不存储在分配给目标逻辑分区的存储器中。
同样地,在所说明的实施例中,目标逻辑分区16a2、16b2可以不访问共享资源输入/输出适配器300a、300b...300n的设备适配器24a、24b...24n,并且可以不将输出数据从主机2写入到存储系统4。目标逻辑分区16a2、16b2可以不从存储系统4接收、读出输入数据以转送至主机2。
在本例中由于目标逻辑分区在代码更新期间可以不执行诸如输入/输出操作的处理操作,因此,在更新代码之前,目标逻辑分区16a2、16b2可以每个被分配相关联的处理联合体8a、8b的分区资源的相对小的部分。从而,例如,目标逻辑分区16a2可以适当地被分配单个CPU(或单个CPU的小部分)、少量的存储器资源和处理联合体8a的其它动态分配分区资源,以保持目标逻辑分区。例如,目标逻辑分区16a2可以被分配足够的存储器以保持操作系统的操作,而可以需要很小或不需要额外的操作存储器。
在所说明的实施例中,源逻辑分区16a1将状态信息保持在非易失性存储器21a的数据结构中。这个状态信息涉及群集6的各种状态机的各种状态。群集状态信息的同步副本可以类似地由源逻辑分区16b1保持在非易失性存储器21b的数据结构中。这些状态信息的收集便于控制由代表主机2的群集6的活动的逻辑分区16a1、16b1执行的处理操作。逻辑分区16a1、16b1可以相互之间交换状态信息,以便于每个活动分区保持关于群集操作的当前状态信息。此外,源逻辑分区可以保持数据结构,其便于响应于从主机2接收的处理任务而执行处理操作。
通过比较,目标逻辑分区16a2、16b2可以不执行用于主机2的I/O操作,并且可以不在代码更新期间保持关于那些I/O操作的数据结构。类似地,在代码更新期间,目标逻辑分区16a2、16b2可以不与其它逻辑分区交换群集状态信息。
可知的是,在某些实施例中,目标逻辑分区16a2、16b2可以执行有限的I/O操作,并可以受限地访问共享资源300。在某些实施例中,目标逻辑分区16a2、16b2可以保持有限的群集状态数据结构和有限的I/O操作数据结构。这些有限数量的数目可以依据特定应用而不同。然而,在许多实施例中,由目标逻辑分区16a2、16b2承担的操作、保持的数据结构、利用的分区或共享资源相比于更多活动源逻辑分区而可以充分地少。
在将目标逻辑分区16a2的软件代码302a2更新至更高级别(级别1.1)之后,处理联合体8a的源逻辑分区16a1和目标逻辑分区16a2可以为目标逻辑分区16a2做准备,以从事处理操作。例如,诸如高速缓冲存储器23a和非易失性存储器21a的处理联合体8a的节点资源的控制可以被扩展(框206)至目标逻辑分区16a2和源逻辑分区16a1。诸如由I/O适配器300a...300b所代表的共享资源的其它节点资源可以被扩展(框206)至目标逻辑分区16a1。
在所说明的实施例中,目标逻辑分区16a2可以从源逻辑分区16a2中获得关于包括主机适配器22a、22b...22n和设备适配器24a、24b...24n的高速缓冲存储器23a、非易失性存储器21a和共享资源300a...300b的配置数据。一旦逻辑分区16a2收到适当信息的同步副本,则逻辑分区16a2可以配置高速缓冲存储器23a、非易失性存储器21a、和共享资源300a...300b,以允许目标逻辑分区16a2使用这些资源。
在另一操作中,源逻辑分区16a1的分区资源可以被降低(框208)而产生对于目标逻辑分区16a2可用的附加分区资源以执行处理操作。在所说明的实施例中,分区资源的动态再分配可以通过模块14a、26a被实现。
从而,在这个例子中,当完成软件代码302a2的更新时,目标逻辑分区16a2将消息传送至管理模块14a。响应于此,主管模块14a能向“拥有”特定分区源的源逻辑分区16a1发送网络请求,指示源逻辑分区16a1释放特定分区资源并且将它放回停用状态。以这种方式,分区资源可以在管理程序模块26a的控制下被停止和被放置。
在另一操作中,分配给目标逻辑分区的分区资源可以被扩展(框210)。在这个例子中,主管模块26a能向管理程序模块26a发送命令,指示它将来自于资源逻辑分区16a1的停用分区资源重分配给目标逻辑分区16a2以扩展目标逻辑分区的能力。此外,主管模块14a能向逻辑分区16a2发送网络请求,指示它从管理程序模块26a获得停用分区资源,并且将它配置为由逻辑分区16a2使用。
这些降低分配给诸如逻辑分区16a1的源逻辑分区的分区资源并且扩展分配给诸如逻辑分区16a2的目标逻辑分区的分区资源的操作可以为了适当多的分区资源被执行,以适当地重分配逻辑分区16a1、16a2之间的I/O工作负载。例如,当逻辑分区16a2获得诸如附加处理和存储器资源的分区资源时,可以由逻辑分区16a2承担的处理操作工作负载量增加。
一旦目标逻辑分区已获得足够的资源,处理操作工作负载的部分可以从源逻辑分区16a1被传送(框212)至目标逻辑分区16a2。在一个这样的传送的实施例中,源逻辑分区16a1中的处理操作可以被暂停(框300,图4)。此外,目标逻辑分区16a2可以从源逻辑分区16a1请求传送(框402)群集状态信息的副本,从而目标逻辑分区能开始将它自己的群集状态信息的同步副本保持在非易失性存储器21a的数据结构中。目标逻辑分区16a2可以从源逻辑分区16a1获得的附加信息包括不可操作的主机2的列表,和由群集6执行I/O操作的主机2的列表。此外,逻辑分区16a2能保持由群集6执行I/O操作中使用的数据结构的同步副本。当接收该信息时,处理操作可以被目标逻辑分区16a2恢复(框404)。依赖于特定应用,这可以包括目标逻辑分区16a2的功能代码302a2的热启动。
在一个实施例中,处理操作也可以被源逻辑分区16a1恢复。然而,因为使用软件代码302a1的先前版本(级别1.0)操作源逻辑分区16a1,因此源逻辑分区16a1的处理操作可以被减少或除去。结果,逻辑分区16a1的分区资源可以被进一步减少(框216,图2),以再次获得可用于逻辑分区16a2的附加分区资源来执行处理操作。此外,诸如由I/O适配器300a...300b代表的共享资源的附加节点资源可以被传送至目标逻辑分区16a2。从而,例如,由逻辑分区16a1控制的剩余的主机适配器22a、22b...22n和设备适配器24a、24b...24n可以被目标逻辑分区16a2控制或访问。
在另一操作中,分配给目标逻辑分区16a2的分区资源可以扩展(框218)来进一步增加目标逻辑分区16a2的容量以执行处理操作。在所说明的实施例中,分区资源的动态重新分配可以由如上所述的模块14a、26a实现。由目标逻辑分区16a2和源逻辑分区16a1控制的分区资源的作为结果的比例共享可以依据特定应用而不同。例如,如果源逻辑分区16a1是要停用的且不用于处理操作,则由源逻辑分区16a1控制的分区资源可以被降低为最小。
在另一实施例中,源逻辑分区16a1的软件代码可以以如目标逻辑分区16a2同样的方式被更新。因此,在暂停源逻辑分区16a1中的处理操作后,软件代码302a1可以被从级别1.0更新到级别1.1。同时,在所更新的级别1.1上,由操作软件代码302a2的目标逻辑分区16a2担任处理操作。一旦逻辑分区16a1的软件代码302a1被更新为级别1.1,分配给逻辑分区16a1的共享资源和分区资源可以如上所讨论的被扩展。依据特定的应用,处理操作的工作负载可以被逻辑分区16a1、16a2共享,两个都以所更新的软件代码操作,或一个逻辑分区可以是停用的。
处理联合体8b的目标逻辑分区16b2的软件代码302b2可以以如上关于目标逻辑分区16a2所描述的方式同样的方式被从级别1.0更新至级别1.1。目标逻辑分区16b2的软件可以在与目标逻辑分区16a2的软件更新的相同时间或不同时间发生。同样地,处理联合体8b的源逻辑分区16b1的软件代码302b1可以在目标逻辑分区16b2的软件更新后,以如上关于源逻辑分区16a1所描述的方式同样的方式从级别1.0更新为级别1.1。
附加实施例细节所描述的操作可以被实现为使用标准编程和/或工程技术的方法、装置或制造产品,以产生软件、固件、硬件、或其任何组合。这里所使用的术语“制造产品”指的是在有形介质实现中的代码或逻辑,其中所谓的有形介质可以包括硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、应用特定集成电路(ASIC)等)或诸如磁存储介质(例如,硬盘驱动、软盘、磁带等)的计算机可读介质、光学存储器(CD-ROM、光盘等)、易失性和非易失性存储设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)。计算机可读介质中的代码由处理器访问和执行。其中代码或逻辑被编码的有形介质也可以包括通过空间或诸如光纤、铜线等传送媒介传播的传送信号。其中代码或逻辑被编码的传送信号还可以包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。其中代码或逻辑被编码的传输信号能通过发送站被发送并且通过接收站被接收,其中传输信号中被编码的代码或逻辑可以被解码或存储在接收和发送站或设备的硬件或计算机可读介质中。此外,“制造产品”可以包括被嵌入、处理和执行的硬件和软件组件的组合。当然,本领域中的技术人员将认识到,在不背离本发明的范围的情况下,可以对本配置做出各种修改,并且制造产品可以包括任何本领域内所公知的信息承载介质。
术语“一实施例”、“实施例”、“多个实施例”、“所述实施例”、“所述多个实施例”、“一个或多个实施例”、“某些实施例”和“一个实施例”意味着“本发明的一个或多个(而不是全部)实施例”,除非有特别说明。
术语“包括”、“包含”、“具有”和其变体意味着“包括但不限制于”,除非有特别说明。
所列举的项目列表不暗示项目的任何或全部被互斥地排除,除非有特别的说明。
术语“一”、“一个”和“所述”意味着“一个或多个”,除非有特别说明。
彼此通信的设备不必彼此连续地通信,除非有特别说明。此外,彼此通信的设备可以直接或通过一个或多个中间物间接地通信。
具有彼此通信的多个元件的实施例的描述并不暗示所有这样的元件都是需要的。相反,描述了可选择的各种元件,以说明本发明的广泛的各种可能的实施例。
此外,虽然以连续的次序描述了处理操作、方法操作、算法或其他等,但是这样的处理、方法和算法可以被配置为以改变的次序工作。换句话说,所描述的操作中的任何顺序或次序都并不必然地指示以那个次序执行操作的必要。在实际中,可以以任何次序执行此处所描述的处理的操作。此外,某些操作可被同时执行。
当此处描述单个设备或产品时,很显然可以使用多于一个的设备/产品(不管它们是否协作)来代替单个设备/产品。类似地,当此处描述多于一个的设备或产品(不管它们是否协作)时,很显然可以使用单个设备/产品来代替多于一个的设备/产品。
设备的功能和/或特征可以被替换地包含在并未明确描述为具有这样的功能/特征的一个或多个其他设备中。因此,本发明的其他实施例不需要包括设备自身。
某些实施例可以针对由人或自动处理集成计算机可读代码把计算指令配置到计算系统的方法,其中,与计算系统组合的代码能够执行所述实施例的操作。
所述图2、4的操作示出了以某次序发生的某些事件。在可替换的实施例中,某些操作可以以不同的次序被执行、修改和去除。此外,操作可以被添加到上述逻辑中,并且仍然符合上述实施例。另外,这里所述的操作可以连续地发生,或者某些操作可以被并行执行。此外,可以由单个处理单元或分布式处理单元执行操作。
某些操作被描述为在逻辑分区间以对等的方式发生。其他操作被描述为被主管硬件或软件完成。可知的是,可以以对等的方式或以主管的方式或以所述方式的组合来完成操作。
例如,被执行的处理操作已经被描述为包括输入/输出操作。可知的是,其他类型的处理操作可以代表主机或作为服务器而被执行。
上面将服务器群集描述为具有两个处理联合体,其每个在正常操作中具有源逻辑分区和目标逻辑分区。可知的是,在其他实施例中,服务器群集可以具有单个处理联合体或多于两个的处理联合体,并且每个处理联合体可以具有多于一个的源或目标逻辑分区。
出于说明和描述的目的而提出上述各种实施例的描述。并不意欲穷举或限制本发明为在所公开的具体形式。可以根据上述讲解的各种修改和变化。
权利要求
1.一种方法,包括在服务器群集的第一处理联合体中的第一逻辑分区中执行处理操作,其中,所述第一逻辑分区使用处于第一级别的软件代码进行操作;当在第一逻辑分区中继续执行处理操作时,将所述第一处理联合体的第二逻辑分区中的软件代码从所述第一级别更新为第二级别;以及在所述第二逻辑分区中的所述软件更新之后,在第二逻辑分区中执行处理操作,其中所述第二逻辑分区使用处于第二级别的软件代码进行操作。
2.根据权利要求1的方法,还包括当在第一逻辑分区中继续执行处理操作时,将分区资源从所述第一逻辑分区传送至所述第二逻辑分区。
3.根据权利要求1的方法,其中,所述分区资源包括处理、存储器和高速缓冲存储器资源。
4.根据权利要求3的方法,还包括在启动第二逻辑分区中的处理操作的所述执行之前,将群集状态信息从所述第一逻辑分区传送至所述第二逻辑分区。
5.根据权利要求4的方法,还包括在将群集状态信息从所述第一逻辑分区传送至所述第二逻辑分区之前,暂停第一逻辑分区中的处理操作的所述执行。
6.根据权利要求5的方法,还包括当在第一逻辑分区中继续执行处理操作时,将输入/输出适配器的控制从所述第一逻辑分区传送至所述第二逻辑分区。
7.根据权利要求6的方法,其中,所述输入/输出适配器包括网络适配器和存储器适配器。
8.根据权利要求7的方法,还包括在第一逻辑分区中的处理操作的所述执行的所述暂停之后,当在第二逻辑分区中继续执行处理操作时,将附加输入/输出适配器的控制从所述第一逻辑分区传送至所述第二逻辑分区。
9.根据权利要求1的方法,还包括在所述服务器群集的第二处理联合体中的第三逻辑分区中执行处理操作,其中,所述第三逻辑分区使用处于所述第一级别的软件代码进行操作;当在第三逻辑分区中继续执行处理操作时,将所述第二处理联合体的第四逻辑分区中的软件代码从所述的第一级别更新为所述第二级别;以及在所述第四逻辑分区中所述软件更新之后,在第四逻辑分区中执行处理操作,其中,所述第四逻辑分区使用处于所述第二级别的软件代码进行操作。
10.一种系统,包括服务器群集,具有拥有第一逻辑分区的第一处理联合体,所述的第一逻辑分区具有适合于存储处于第一级别的软件代码的存储器和适合于使用处于所述第一级别的软件代码在所述第一逻辑分区中执行处理操作的逻辑;所述第一处理联合体还具有第二逻辑分区,该第二逻辑分区拥有适合于存储处于所述第一级别的软件代码的存储器和适合于使用处于所述第一级别的软件代码在所述第二逻辑分区中执行处理操作的逻辑;其中,所述第一处理联合体具有当所述第一逻辑分区逻辑继续执行第一逻辑分区中的处理操作时适合于将在所述第二逻辑分区中的所述软件代码从所述第一级别更新至第二级别的逻辑;以及其中,所述第二逻辑分区逻辑还适合于在所述第二逻辑分区中的所述软件更新之后,执行第二逻辑分区中的处理操作,其中所述第二逻辑分区逻辑使用处于所述第二级别的软件代码来进行操作。
11.根据权利要求10的系统,其中,所述第一逻辑分区具有分区资源,并且其中所述处理联合体逻辑还适合于当所述第一逻辑分区逻辑在第一逻辑分区中继续执行处理操作时将分区资源从所述第一逻辑分区传送至所述第二逻辑分区。
12.根据权利要求10的系统,其中,所述分区资源包括处理、存储器和高速缓冲存储器资源。
13.根据权利要求12的系统,其中,第一逻辑分区逻辑还适合于保持群集状态信息,并且其中第二逻辑分区逻辑还适合于在启动第二逻辑分区中的处理操作的所述执行之前从所述第一逻辑分区中接收和保持群集状态信息。
14.根据权利要求13的系统,其中,第一逻辑分区逻辑还适合于在通过所述第二逻辑分区接收到群集状态信息之前,暂停第一逻辑分区中的处理操作的所述执行。
15.根据权利要求14的系统,其中,所述第一处理联合体包括输入/输出适配器,并且其中所述第一处理联合体逻辑还适合于在处理操作在第一逻辑分区中继续的同时,将输入/输出适配器的控制从所述第一逻辑分区传送至所述第二逻辑分区。
16.根据权利要求15的系统,其中,所述输入/输出适配器包括网络适配器和存储器适配器。
17.根据权利要求16的系统,其中,所述第一处理联合体逻辑还适合于在第一逻辑分区中的处理操作的所述执行的所述暂停之后,在处理操作在第二逻辑分区中继续的同时,将附加的输入/输出适配器的控制从所述第一逻辑分区传送至所述第二逻辑分区。
18.根据权利要求10的系统,其中,服务器群集还具有第二处理联合体,该第二处理联合体具有第三逻辑分区,所述第三逻辑分区具有适合于存储处于所述第一级别的软件代码的存储器和适合于使用处于所述第一级别的软件代码在所述第三逻辑分区中执行处理操作的逻辑,所述第二处理联合体还具有第四逻辑分区,所述第四逻辑分区具有适合于存储处于所述第一级别的软件代码的存储器和适合于使用处于所述第一级别的软件代码在所述第四逻辑分区执行处理操作的逻辑;其中,所述第二处理联合体具有适合于在所述第三逻辑分区逻辑在第三逻辑分区中继续执行处理操作的同时将所述第四逻辑分区中的所述软件代码从所述第一级别更新为所述第二级别的逻辑;以及其中,所述第四逻辑分区逻辑还适合于在所述第四逻辑分区中的所述软件更新之后,在第四逻辑分区中执行处理操作,其中,所述第四逻辑分区逻辑使用处于所述第二级别的软件代码进行操作。
19.一种制造产品,包括能被系统执行而执行操作的代码,其中,所述系统具有服务器群集,该服务器群集具有第一处理联合体,所述第一处理联合体具有第一逻辑分区,该第一逻辑分区具有适合于存储处于第一级别的软件代码的存储器,所述第一处理联合体还具有第二逻辑分区,该第二逻辑分区具有适合于存储处于所述第一级别的软件代码的存储器,并且其中,所述系统执行的操作包括权利要求1-9的任何一个中的步骤。
20.一种用于部署计算指令的方法,包括将计算机可读代码集成到系统中,其中,所述系统具有服务器群集,该服务器群集具有第一处理联合体,所述第一处理联合体具有第一逻辑分区,该第一逻辑分区具有适合于存储处于第一级别的软件代码的存储器,所述第一处理联合体还具有第二逻辑分区,该第二逻辑分区具有适合于存储处于所述第一级别的软件代码的存储器,并且其中,与所述系统组合的代码能够使得该系统执行权利要求1-9的任何一个中的步骤。
全文摘要
以软件代码的第一级别操作服务器群集的第一处理联合体中的第一逻辑分区。在同一处理联合体中的第二逻辑分区内的软件代码被更新到第二级别。处理操作由以软件代码的第二级别操作的第二逻辑分区所承担接受。将描述和要求其他的实施例。
文档编号G06F9/46GK1892605SQ20061007327
公开日2007年1月10日 申请日期2006年4月7日 优先权日2005年6月28日
发明者威廉·J·阿姆斯特朗, 迈克尔·H·哈通, 许育诚, 格伦·R·怀特威克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1