管理异构高可用性集群的方法和服务器的制作方法

文档序号:7965469阅读:201来源:国知局
专利名称:管理异构高可用性集群的方法和服务器的制作方法
技术领域
本发明一般地涉及使用异构服务器环境的企业数据中心。具体地说,本发明涉及由所述企业数据中心实现的用来保护所述异构服务器环境中的服务和数据的高可用性技术。
背景技术
图1示出了实现异构服务器环境的三(3)个企业数据中心20,所述异构服务器环境包括四(4)个同构高可用性集群21。每个集群21使用在企业数据中心20间均匀分布的三(3)个服务器节点22和三(3)个同构高可用性集群管理器(“HOCM”)23。每个管理器23都安装在关联的服务器节点22上,并且包括用于根据特定的集群管理协议来接收集群管理命令的应用编程接口模块(“APIM”)24。可从市场上购买的管理器23的实例包括但不限于由IBM,Microsoft,Veritas,Hewlett-Packard MCSG以及Linux出售的集群管理器。
企业数据中心20位于物理上或逻辑上不同的地点。这样,使用集群21的管理器23来保护不同地点间的该集群21内的服务器节点22上的服务和数据。具体地说,集群21的管理器23将协作地检测该集群21内的某一服务器节点22的问题,由此根据一个或多个来自管理员的集群管理命令将与所述问题服务器节点22关联的资源(例如,存储设备)传送给该集群21内某一保持运行的服务器节点22。此外,集群21的管理器23将协作地帮助该集群21内的某一服务器节点22出于人工维护目的而脱机,由此根据一个或多个来自管理员的集群管理器命令将与所述脱机服务器节点22关联的资源传送给该集群21内某一保持运行的服务器节点22。
在此异构服务器环境中完全地实现同构高可用性集群21的缺点是,在某一企业数据中心20出现问题(例如,自然灾害)或需要对某一企业数据中心20进行人工维护的情况下,图示的异构服务器环境的管理员不得不人工管理受影响的数据中心20上的每个单独的服务器节点22(通过其关联的应用编程接口模块24)。这种对受影响的数据中心20上的每个单独的服务器节点22的人工管理是困难而耗时的,因为每个应用编程接口模块24为故障转移和高可用性集群管理实现不同的集群管理协议。
例如,假设数据中心20(1)是活动的,数据中心20(2)是非活动的,并且由于维护原因,管理员不得不执行从数据中心20(1)到数据中心20(2)的故障转移切换,则管理员必须根据用于集群21(1)中的服务器节点22(1)(1)和服务器节点22(1)(2)的不同集群管理协议来执行个别的集群管理命令,根据用于集群21(2)中的服务器节点22(2)(1)和服务器节点22(2)(2)的不同集群管理协议来执行个别的集群管理命令,根据用于集群21(3)中的服务器节点22(3)(1)和服务器节点22(3)(2)的不同集群管理协议来执行个别的集群管理命令,以及根据用于集群21(4)中的服务器节点22(4)(1)和服务器节点22(4)(2)的不同集群管理协议来执行个别的集群管理命令。进一步假设用于每组命令的相等持续时间T和每组命令的顺序执行,管理员用以完成从数据中心20(1)到数据中心20(2)的故障转移切换的持续时间等于4xT。显然,此过程将涉及相当的复杂度并消耗相当的时间。
因此,计算机行业的难题是促进减少异构服务器环境中高可用性/故障转移实现的复杂度和持续时间。

发明内容
本发明提供了克服上述缺点的新的并且独特的异构高可用性集群管理器。
本发明的一种形式是包括计算机可用介质的计算机程序产品,所述计算机可用介质有形地包含至少一个可由计算机执行的指令的程序以完成以下操作接收第一集群管理协议中的第一集群管理命令;将所述第一集群管理命令转换成第二集群管理协议中的第二集群管理命令;以及将所述第二集群管理命令发送到异构集群管理组中的节点。
本发明的第二种形式是服务器,所述服务器使用处理器以及存储有所述处理器可操作的指令的存储器,所述指令被执行以完成以下操作接收第一集群管理协议中的第一集群管理命令;将所述第一集群管理命令转换成第二集群管理协议中的第二集群管理命令;以及将所述第二集群管理命令发送到异构集群管理组中的节点。
本发明的第三种形式是一种方法,所述方法包括接收第一集群管理协议中的第一集群管理命令;将所述第一集群管理命令转换成第二集群管理协议中的第二集群管理命令;以及将所述第二集群管理命令发送到异构集群管理组中的节点。
当结合附图阅读时,从以下对本发明的各种示出的实施例的详细说明,本发明的上述形式和其他形式、目标和方面以及特征和优点都将变得更加显而易见。详细的说明和附图只是本发明的例示,而不是限制由所附权利要求或其等同物所定义的本发明的范围。


图1示出了本领域公知的示例性异构服务器环境;图2示出了根据本发明的异构服务器池的一个实施例;图3示出了根据本发明的示例性异构服务器环境;图4示出了根据本发明的异构高可用性集群管理器的一个实施例;图5示出了表示根据本发明的异构服务器环境登记方法的一个实施例的流程图;图6示出了表示根据本发明的集群管理协议登记方法的一个实施例的流程图;图7示出了图6中所示的流程图在图3中所示的示例性异构服务器环境的上下文中的示例性执行;图8示出了根据本发明的扩展标记语言映射文件的一个实施例;
图9示出了表示根据本发明的异构集群管理组登记方法的一个实施例的流程图;图10示出了表示根据本发明的集群管理命令执行方法的一个实施例的流程图;图11示出了图9中所示的流程图在图3中所示的示例性异构服务器环境的上下文中的示例性执行;以及图12示出了图10中所示的流程图在图3中所示的示例性异构服务器环境的上下文中的示例性执行。
具体实施例方式
图2示出了本发明的异构高可用性服务器池,其包括X个异构集群管理服务器节点30(其中X≥1),以及Y个同构高可用性集群25(其中Y≥2),且每个同构高可用性集群25包括Z个同构高可用性服务器节点22(其中Z≥1)。
每个同构高可用性集群25都结合了一个或多个安装在服务器节点22上的高可用性信息技术(“IT”)应用(未示出),用以提供特定的服务和/或数据,例如,数据库应用和Web服务器应用。
每个同构高可用性集群25还结合了同构高可用性集群管理器(“HOCM”)23,每个集群管理器23安装在关联的服务器节点22上,并且包括用于根据特定的集群管理协议来接收集群管理命令的应用编程接口模块(“APIM”)24。集群25的集群管理器23提供了一组与特定集群25的服务器节点22的不同集群管理协议一致的个别集群管理命令。具体地说,集群25(1)的集群管理器23(1)提供了一组与集群25(1)中的服务器节点22(1)(1)-22(1)(Z)的不同集群管理协议一致的个别集群管理命令,集群25(2)的集群管理器23(2)提供了一组与集群25(2)中的服务器节点22(2)(1)-22(2)(Z)的不同集群管理协议一致的个别集群管理命令,如此等等。
为了根据本发明将集群25(1)-25(Y)管理为一个或多个异构集群管理组,每个集群管理服务器节点30上都安装了本发明的异构集群管理器(“HECM”)40。每个HECM 40都用作将集中的公用接口提供给由不同集群管理器23提供的不同集群命令协议的抽象层。因而,如本领域的技术人员将理解的,HECM 40消除了将单独的集群管理命令传送到不同集群管理器23的应用编程接口模块24的需要。
实际上,本发明的HECM 40的结构配置取决于HECM 40的商业实现。例如,HECM 40可以在结构上配置为安装在关联服务器节点30上的单独和特有的硬件,也可以配置为安装在关联服务器节点30的存储器中的软件,或者配置为它们的任意组合。因此,本发明并未对本发明的HECM 40的结构配置加以任何限制或约束。因而,以下对如图4中所示的本发明的HECM40的一个实施例的描述并未限制或约束本发明的HECM 40的可能结构配置的范围。
为了便于理解图4所示的本发明的HECM 40的实施例,此处将在图3所示的使用三(3)个数据中心20和两(2)个异构集群管理组26的异构服务器环境的上下文中描述图4-9。每个异构集群管理组26包括两个不同的同构高可用性集群,且每个集群使用均匀分布在企业数据中心20间的三(3)个服务器节点22和三(3)个同构高可用性集群管理器(“HOCM”)23。具体地说,异构集群管理组26(1)具有位于数据中心20(1)的不同服务器节点22(1)(1)和22(2)(1),位于数据中心20(2)的不同服务器节点22(1)(2)和22(2)(2),以及位于数据中心20(3)的不同服务器节点22(1)(3)和22(2)(3)。类似地,异构集群管理组26(2)具有位于数据中心20(1)的不同服务器节点22(3)(1)和22(4)(1),位于数据中心20(2)的不同服务器节点22(3)(2)和22(4)(2),以及位于数据中心20(3)的不同服务器节点22(3)(3)和22(4)(3)。
参考图4,管理器40的示例性实施例包括登记模块41,命令执行模块44,以及应用编程接口模块45。登记模块41实现如图5中所示的流程图60所表示的本发明的登记方法,而命令执行模块45实现图10中所示的流程图90所表示的本发明的命令执行方法。为此,如本领域的技术人员将理解的,登记模块41维护集群管理协议记录42和异构集群管理组记录43,而命令执行模块44维护异构集群管理命令集合45以便于HECM 40用作到不同集群管理协议的集中的公用接口,所述不同集群管理协议由集群组26(1)和26(2)的服务器节点22实现,用以执行由管理API调用源50(例如,位于图3中所示的某一数据中心20处的管理工作站)生成的集群管理命令。
具体地说,命令集合45基于HECM 40为异构集群组26提供高可用性服务所需的通用核心功能性。在一个实施例中,所述通用核心功能性包括集群组功能、高可用资源功能以及服务器节点功能。所述集群组功能包括集群组创建、集群组删除、集群组修改、集群组启动、集群组停止、集群组/属性/策略定义以及集群组/属性/策略修改。所述高可用资源功能包括高可用资源创建、高可用资源删除以及高可用资源修改。所述服务器节点功能包括激活服务器节点、停用服务器节点以及切换服务器节点。基于命令集合45的通用核心功能来建立和维护记录42。
参考图4和图5,流程图60的S62阶段包括登记模块41在记录42中登记每个集群管理协议。在图3的上下文中,登记42将包括登记以下协议服务器节点22(1)的特有集群管理协议(例如,用于IBM高可用性集群微处理的协议)、服务器节点22(2)的特有集群管理协议(例如,用于Microsoft集群服务器的协议)、服务器节点22(3)的特有集群管理协议(例如,用于Veritas集群服务器的协议),以及服务器节点22(4)的特有集群管理协议(例如,用于Hewlett Packard MCSG的协议)。
图6示出了表示流程图60的S62阶段的一个实施例的流程图70。此外,参考图6,流程图70的S72阶段包括登记模块41接收同构集群管理命令,并且流程图70的S74阶段包括登记模块41将异构集群管理命令从命令集合45映射到所接收的同构集群管理命令,以及登记模块41将不同的集群命令协议分解到所接收的同构集群管理命令的映射中。
例如,如图7中所示,登记模块41能够将来自命令集合45的异构集群管理命令(“HECMC”)映射到来自管理器23的相同的同构集群管理命令(“HOCMC”),且每个HOCMC与不同的集群管理协议相一致。具体地说,HOCMC(1)-(4)可以是高可用故障转移命令且HOCMC(1)-(4)具有<组名>和<目标节点>命令实现,并且HOCMC(4)额外地具有<延迟>和<自动联机>命令实现。这样,登记模块41通过为HOCMC(4)的<延迟>和<自动联机>命令实现设置默认值(例如,分别为“0”和“Yes”)来分解集群组移动命令的不同结构,以便根据基础服务器节点22的异构集群管理分组,通过命令执行模块44来促进HOCMC(4)与一个或多个其他HOCMC(1)-(3)的同时调用执行。
再次参考图4,在一个实施例中,登记模块41可以使用具有任何结构和格式类型且通过到源50的图形用户接口(“GUI”)提供的扩展标记语言(“XML”)文件来维护记录42。例如,登记模块41可以使用图8所示的XML文件142来维护记录42。XML文件142的结构和格式基于以下映射从异构集群管理命令集合144到同构集群管理命令集合145(用于由源50通过GUI提供的Microsoft MSCS提供商产品)的映射,从异构集群管理命令集合144到同构集群管理命令集合146(用于由源50通过GUI提供的Veritas VCS提供商产品)的映射,以及其他未示出的映射。
再次参考图5,流程图60的S64阶段包括登记模块41将异构服务器环境中的每个异构集群管理组登记到记录43中。在图3的上下文中,登记43将包括登记异构集群管理组26(1)和26(2)。
图9示出了表示S64阶段的一个实施例的流程图80。此外参考图9,流程图80的S82阶段包括登记模块41定义每个异构集群管理组。在一个实施例中,每个异构集群管理组由允许所述组在其上运行的数据中心20、由所述组将在其上运行的初始数据中心以及任何其他参数和相关性来定义。例如,在图3的上下文中,异构集群管理组26(1)和26(2)都将定义为被允许在全部三(3)个数据中心20上运行且指定了初始数据中心和任何其他参数和相关性。以下是如图11中所示的示例性集群组创建命令CC26(1)和CC26(2)mkhagroup -nameclustergroup26(1)
allowedsitesdatacenter20(1)datacenter20(2)datacenter20(3)initialsitedatacenter20(1)<additional parameters and dependencies>
mkhagroup -nameclustergroup26(2)allowedsitesdatacenter20(1)datacenter20(2)datacenter20(3)initialsitedatacenter20(1)<additional parameters and dependencies>
流程图80的S84阶段包括登记模块41向每个异构集群管理组26添加服务器节点。例如,在图3的上下文中,服务器节点22(1)(1),22(1)(2),22(1)(3),22(2)(1),22(2)(2)以及22(2)(3)将被添加到异构集群管理组26(1),并且服务器节点22(3)(1),22(3)(2),22(3)(3),22(4)(1),22(4)(2)以及22(4)(3)将被添加到异构集群管理组26(2),如图9中示例性示出的。以下是如图11中所示的示例性添加节点命令ANCCC26(1)和ANCCC26(2)addnodes -groupclustergroup26(1)membersservernode22(1)(1)servernode22(1)(2)servernode22(1)(3)servernode22(2)(1)servernode22(2)(2)servernode22(2)(3)addnodes -groupclus tergroup26(2)membersservernode22(3)(1)servernode22(3)(2)servernode22(3)(3)servernode22(4)(1)servernode22(4)(2)servernode22(4)(3)流程图80的S86阶段包括登记模块41定义节点相关性、属性和策略来包括添加到特定异构集群管理组的各个服务器节点的不同运行特性。例如,在图3的上下文中,异构集群管理组26(1)的服务器节点22(1)可以是Web服务器,异构集群管理组26(1)的服务器节点22(2)可以是数据库服务器,由此所述Web服务器对所述数据库服务器的数据依赖要求数据库服务器在依赖所述数据库服务器的Web服务器之前联机。以下是示例性的相关性
cchagroup -nameclustergroup26(1)startuporderservernode22(2)servernode22(1)offline errors<additional parameters and dependencies>
在完成流程图80后,记录43将包含从每个异构集群管理组26到其各个服务器节点22的映射,如图11中示例性示出的。
此处将描述基于记录42、记录43以及命令集合45的命令执行模块44的操作。参考图4和图10,流程图90的S92阶段包括命令执行模块44通过API通信模块45从源50接收异构集群管理命令。流程图90的S94阶段包括命令执行模块44根据登记模块41执行的登记映射来将所述异构集群管理命令转换成同构集群管理命令。流程图90的S96阶段包括命令执行模块44执行将同构集群管理命令导向异构集群管理组26的适当服务器节点22的调用。
例如,在图3的上下文中,假设数据中心20(1)是活动的,数据中心20(2)是不活动的,并且出于维护原因,管理员不得不执行从数据中心20(1)到数据中心20(2)的故障转移切换,则命令执行模块44将代表数据中心20(1)和20(2)接收形式为故障转移切换的异构集群管理命令HECMC(如图12所示),将所述HECMC命令转换成映射到HECMC的HOCMC(1)-(4)命令(如图7和图12所示),以及执行将HOCMC(1)-(4)命令导向异构集群管理组26内的各个管理器23的调用(如图12所示)。
参考图2-9,在从图2中示出的异构服务器池派生的在图3中示出的异构服务器环境的上下文中说明了本发明的发明原理。实际上,本领域的技术人员将理解如何将本发明的上述发明原理应用于任何从图2中示出的异构服务器池派生的异构服务器环境。
仍参考图2-9,本领域的技术人员将理解,本发明的大量优点包括但不限于解决了本文先前描述的背景技术的缺点。具体地说,根据数据中心数量的增加,不同集群管理协议数量的增加,和/或异构集群管理组内的服务器节点的相关性、属性和策略复杂性的增加,随着异构服务器环境变得越来越复杂,本发明的优点将变得更加突出。
参考图2和4,在实际的实施例中,管理器40的模块41、44和46被实施为用传统语言编写并安装在服务器节点30的存储器中的软件模块,由此服务器节点30的处理器(多个)可以执行模块41、44和46来完成结合图5-12描述的本发明的各种操作。
参考图2,本发明的异构高可用性服务器池的一个备选实施例包括X个异构集群管理服务器节点30(其中X≥1),Y个同构高可用性集群25(其中Y≥1),且每个同构高可用性集群25包括Z个同构高可用性服务器节点22(其中Z≥2)。在此实施例中,一个或多个节点30可以设计成独立地管理同构高可用性集群25。此实施例的优点在于建立了可适合于每个同构高可用性集群25以及每个从集群25派生的异构集群管理组(例如,图3中所示的异构集群管理组26)的标准集群管理集合。
虽然此处披露的本发明的实施例当前被认为是优选实施例,但是可以做出各种更改和修改而不偏离本发明的精神和范围。在所附权利要求中指出了本发明的范围,并且旨在将所有在等同物的含意和范围内的更改包括在其中。
权利要求
1.一种方法,所述方法包括接收第一集群管理协议中的第一集群管理命令;将所述第一集群管理命令转换成第二集群管理协议中的第二集群管理命令;以及将所述第二集群管理命令发送到异构集群管理组中的第一节点。
2.如权利要求1中所述的方法,还包括登记至少一个包括所述第二集群管理协议的集群管理协议。
3.如权利要求2中所述的方法,其中登记所述至少一个集群管理协议包括将所述第一集群管理命令映射到所述第二集群管理命令以促进从所述第一集群管理命令到所述第二集群管理命令的所述转换。
4.如权利要求1中所述的方法,还包括将所述第一集群管理命令转换成第三集群管理协议中的第三集群管理命令;以及将所述第三集群管理命令发送到所述异构集群管理组中的第二节点。
5.如权利要求4中所述的方法,还包括登记多个包括所述第二集群管理协议和所述第三集群管理协议的集群管理协议。
6.如权利要求5中所述的方法,其中登记所述多个集群管理协议包括将所述第一集群管理命令映射到所述第二集群管理命令以促进从所述第一集群管理命令到所述第二集群管理命令的所述转换;以及将所述第一集群管理命令映射到所述第三集群管理命令以促进从所述第一集群管理命令到所述第三集群管理命令的所述转换。
7.如权利要求1中所述的方法,还包括登记所述异构集群管理组的每个节点以促进所述将所述第二集群管理命令发送到所述异构集群管理组中的所述第一节点。
8.一种服务器,所述服务器包括处理器;以及存储所述处理器可操作的指令的存储器,所述指令被执行以完成以下操作接收第一集群管理协议中的第一集群管理命令;将所述第一集群管理命令转换成第二集群管理协议中的第二集群管理命令;以及将所述第二集群管理命令发送到异构集群管理组中的第一节点。
9.如权利要求8中所述的服务器,其中所述指令还被执行以完成以下操作登记至少一个包括所述第二集群管理协议的集群管理协议。
10.如权利要求9中所述的服务器,其中登记所述至少一个集群管理协议包括将所述第一集群管理命令映射到所述第二集群管理命令以促进从所述第一集群管理命令到所述第二集群管理命令的所述转换。
11.如权利要求8中所述的服务器,其中所述指令还被执行以完成以下操作将所述第一集群管理命令转换成第三集群管理协议中的第三集群管理命令;以及将所述第三集群管理命令发送到所述异构集群管理组中的第二节点。
12.如权利要求11中所述的服务器,其中所述指令还被执行以完成以下操作登记多个包括所述第二集群管理协议和所述第三集群管理协议的集群管理协议。
13.如权利要求12中所述的服务器,其中登记所述多个集群管理协议包括将所述第一集群管理命令映射到所述第二集群管理命令以促进从所述第一集群管理命令到所述第二集群管理命令的所述转换;以及将所述第一集群管理命令映射到所述第三集群管理命令以促进从所述第一集群管理命令到所述第三集群管理命令的所述转换。
14.如权利要求8中所述的服务器,其中所述指令还被执行以完成以下操作登记所述异构集群管理组的每个节点以促进所述将所述第二集群管理命令发送到所述异构集群管理组中的所述第一节点。
15.一种包括计算机可用介质的计算机程序产品,所述计算机可用介质有形地包含至少一个可由计算机执行的指令的程序以完成权利要求1-7中的任一权利要求中的操作。
全文摘要
一种异构高可用性集群管理器,所述集群管理器实现包括以下操作的方法接收第一集群管理协议中的第一集群管理命令;将所述第一集群管理命令转换成第二集群管理协议中的第二集群管理命令;以及将所述第二集群管理命令发送到异构集群管理组中的第一节点。为了促进从所述第一集群管理命令到所述第二集群管理命令的转换,向所述管理器登记所述第二集群管理协议,由此将所述第一集群管理命令映射到所述第二集群管理命令。
文档编号H04L12/28GK1925406SQ20061010629
公开日2007年3月7日 申请日期2006年7月19日 优先权日2005年8月31日
发明者R·沃拉夫卡, M·S·拉亚坎尼马里奥因 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1