定义、可视化和管理高可用性灾难恢复环境中复合服务群组的系统和方法

文档序号:6352143阅读:127来源:国知局
专利名称:定义、可视化和管理高可用性灾难恢复环境中复合服务群组的系统和方法
技术领域
本发明总体上涉及数字计算机系统,更具体地是涉及多层应用程序的管理。
背景技术
信息驱动商业。当今的公司前所未有地依赖于联机的、频繁存取的、不断变化的数据以运营它们的业务。限制这种数据的可利用性的意外事件会严重地破坏商业活动。另夕卜,自然灾害或任何其他来灾难源导致的任何永久性数据损失可能会对商业的持续生存能力产生严重的负面影响。因此,当灾害来袭时,公司必须准备好消除或最小化数据损失,并利用可使用的数据进行快速恢复。
公司已经开始依赖于高可用性集群来提供最重要的服务并存储它们最重要的数据。通常,存在不同类型的集群,例如像计算集群、存储集群、可扩展集群以及类似的集群。高可用性集群(也称为HA集群或故障转移集群)是计算机集群,实施这些集群的主要目的是高度利用这些集群所提供的服务。它们通过拥有冗余的计算机或节点进行操作,然后在系统组件失效时使用这些计算机或节点来提供服务。一般情况下,如果具有特定应用程序的一个服务器崩溃,该应用程序将不可利用,直到某人修复了该崩溃的服务器。HA集群通过检查硬件/软件故障并立即在另一个系统上重新启动该应用程序来补救这种状况,这个过程无需行政干预,称为故障转移。作为这个过程的一部分,在启动节点上的应用之前集群软件可以配置该节点。例如,可能需要导入并安装适当的文件系统,可能必须配置网络硬件,并且还可能需要运行一些支持应用程序。HA集群经常用于重要的数据库、在网络上共享文件、商业应用程序和客户服务,例如互联网商业网站。HA集群实现方式试图将冗余性嵌入到集群中以消除单点故障,因此包括多种网络连接体和数据存储器,数据存储器是通过基于存储区域网或互联网协议的存储器以多种方式连接的。公司必须最小化数据损失并在灾难来袭时快速地实施DR(灾难恢复)。例如,洪水、飓风、地震等会大面积地破坏服务和基础设施。复制技术主要用于数据分配和DR。周期复制是用于最小化数据损失并提高数据可用性的一种技术,在该技术中数据的时间点拷贝被复制并存储在一个或多个远程站点或节点上。当出现站点迁移、储存数据的一个或多个物理磁盘发生故障、或者与这种磁盘相连的节点或主数据处理系统发生故障时,可以利用远程复制的数据拷贝。代表商业服务的多层应用程序常常需要作为HA/DR (高可用性/灾难恢复)的一个单一单元来管理。通常,多层架构是指一种客户端-服务器架构,在该架构中描述、应用程序处理以及数据管理在逻辑上是独立的进程。例如,将中间件用于用户和数据库之间的服务数据请求的应用程序采用了多层架构。代表商业服务的多层应用程序需要作为HA/DR的一个单一单元来管理。例如,体现商业服务功能的不同应用程序和进程需要作为一个单一单元在不同集群站点之内或之间联机或脱机、转接、故障转移或回切。

发明内容
本发明的实施方案有助于集群之内和/或之间的多层商业服务的方便定义、可视化和管理,以提供HA/DR (高可用性/灾难恢复)特性。在一个实施方案中,本发明实施为一种用于定义和管理基于集群的计算机系统的复合服务群组的方法。该方法包括在一个基于集群的计算机系统上实例化多个应用程序单元,其中这些应用程序单元实施一个商业服务。该方法进一步包括接收一个复合服务群组定义,其中一个复合服务群组从该多个应用程序单元中枚举实施该商业服务的若干应用程序单元,并且包括产生该复合服务群组的一个固定状态。然后根据该固定状态利用该复合服务群组使该商业服务联机或脱机。在一个实施方案中,该复合服务群组包括层级依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化。·
在一个实施方案中,该复合服务群组包括顺序依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化。在一个实施方案中,该复合服务群组定义了一个边界,该边界控制实施该商业服务的若干应用程序和该多个应用程序单元中的其他应用程序单元之间的通信。在一个实施方案中,该复合服务群组为实施该商业服务的若干应用程序单元封装依存关系、约束条件或系统布局策略。在一个实施方案中,该固定状态可视地指示实施该商业服务的若干应用程序单元的每一个的个体状态。在一个实施方案中,该复合服务群组包括在一个第一集群和一个第二集群之间进行故障转移的一个单元,其中该复合服务群组的应用程序单元作为一个整体从该第一集群故障转移至该第二集群。在一个实施方案中,该复合服务群组用于在一个主站和一个辅站之间建立一个复制处理以实现高可用性或灾难恢复。在一个实施方案中,该复合服务群组用于通过一个命令行接口或一个图形用户接口提供实施该商业服务的若干应用程序单元的管理控制。在一个实施方案中,实施该商业服务的若干应用程序单元的至少一个是虚拟机应用程序单元。在一个实施方案中,本发明实施为一种计算机可读存储媒质,在其上存储有计算机可读指令,如果由计算机系统执行,这些指令使得该计算机系统执行一种方法,该方法包括在一个基于集群的计算机系统上实例化多个应用程序单元,其中这些应用程序单元实施一个商业服务。该方法进一步包括接收一个复合服务群组定义,其中一个复合服务群组从该多个应用程序单元中枚举实施该商业服务的若干应用程序单元,并且包括产生该复合服务群组的一个固定状态。该方法进一步包括根据该固定状态利用该复合服务群组使该商业服务联机,其中该复合服务群组用于提供实施该商业服务的若干应用程序单元的管理控制。在另一个实施方案中,本发明实施为一种计算机系统,包括一个计算机系统,该系统具有连接到计算机可读存储媒质并执行计算机可读代码的一个处理器,该代码使得该计算机系统执行一个复合服务群组管理器模块;接收一个复合服务群组定义,其中一个复合服务群组从该多个应用程序单元中枚举实施该商业服务的若干应用程序单元,并且其中该多个应用程序单元在一个基于群组的计算机系统上实例化;产生该复合服务群组的一个固定状态。该计算机可读代码进一步使得该计算机系统利用该复合服务群组在一个主站和一个辅站之间建立一个复制处理,并且根据该固定状态使该商业服务联机。前述内容是一个概述并因此必然包含细节的简化、概括和省略;因此本领域的熟练技术人员将会认识到此概述只是示例性的并且不用于任何形式的限制。仅由权利要求定义的本发明的其他方面、创新性特征以及优点在以下的非限定性详细描述中将变得明显。


本发明在附示中通过实例而并非通过限制进行说明,在附图中相似的参考号指代相似的元素。·
图I展示的示意图描绘了根据本发明一个实施方案的基于HA/DR多集群的计算系统。图2展示了根据本发明一个实施方案的用于基于集群的计算机系统环境的一个示例性单站点故障转移场景。图3展示了根据本发明一个实施方案的用于基于集群的计算机系统环境的一个示例性两站点故障转移场景。图4展示了根据本发明一个实施方案的多个应用程序单元的集合,这些应用程序单元提供一个或多个商业服务。图5展示了根据本发明一个实施方案的将这些应用程序单元组成一个复合服务群组的方式。图6展示了根据本发明一个实施方案的一个主站和一个辅站,其中为进行HA/DR已经完全复制了 CSG。图7展示了根据本发明一个实施方案的一个主站和一个辅站,其中为进行HA/DR已经部分地复制了 CSG。图8展示了根据本发明一个实施方案的一个主站和一个辅站,其中为进行HA/DR已经完全复制了包括虚拟机和真实应用程序二者的CSG。图9展示了根据本发明一个实施方案的一个第一集群和一个第二集群,其中为进行HA/DR已经完全复制了包括虚拟机和真实应用程序二者的CSG。图10展示了根据本发明一个实施方案的一种处理的多个步骤的流程图,该处理用于在基于集群的计算机系统上执行商业服务,同时通过CSG提供HA/DR。图11展示了根据一个实施方案的一个示例性计算机系统。图12描绘根据本发明一个实施方案的一种计算机系统,该计算机系统适于执行某种功能。
具体实施例方式尽管已经结合一个实施方案描述了本发明,但不希望将本发明限制于本文阐述的具体形式。相反的是,本发明意在涵盖可以合理地包含在所附权利要求定义的本发明范围内的这些替代形式、修改形式以及等效形式。在以下的详细描述中,已经给出了很多具体细节,例如特定的方法顺序、结构、元件以及连接体。然而应当理解的是,这些以及其他具体细节不一定用于实施本发明的实施方案。在其他情况下,众所周知的结构、元件或连接体已经省略,或并未更详细地描述,目的是避免不必要地混淆本说明。说明书中对“一个实施方案”或“一种实施方案”的引用意在表不结合该实施方案所描述的具体特征、结构或特性包含在本发明的至少一个实施方案中。说明书中不同位置上出现的短语“在一个实施方案中”不一定都指代相同的实施方案,也不是与其他实施方案相互排斥的独立或替代的实施方案。另外,所描述的各种特征可能由一些实施方案来展示,而其他实施方案未展示。类似地,所描述的各种要求可能是一些实施方案的要求,而非其他实施方案的要求。
随后给出的部分详细说明是针对在计算机存储器中的数据位上操作的程序、步骤、逻辑块、处理以及其他符号表示而给出的。这些描述和表示是数据处理领域中熟练技术人员所使用的向本领域其他熟练技术人员最有效传递他们工作的本质的方法。本文的过程、计算机执行的步骤、逻辑块、处理过程等通常被设想为是前后一致的步骤顺序或产生所需结果的指令。这些步骤是那些需要对物理量进行物理操作的步骤。通常,尽管不是必要的,但这些量采取计算机可读存储媒质的电或磁信号的形式,并且能够在计算机系统中进行存储、传输、组合、比较以及在其他方面进行操作。已经证明有时将这些信号称为位、值、元素、符号、字符、术语、编号等是很方便的,主要是出于习惯用法的原因。然而,应记住,所有这些或类似术语与合适的物理量相关联并且仅是应用到这些量的方便的标签。除非另有说明,如从以下讨论显而易见的是,应认识到在整个本发明中,利用术语例如“处理”或“访问”或“写入”或“存储”或“复制”等的讨论是指计算机系统或相似电子计算装置的动作和处理,这些装置将计算机系统的寄存器和存储器以及其他计算机可读媒质中表示为物理(电子)量的数据处理并转换为计算机系统存储器或寄存器或其他这类信息存储、传输或显示装置中的相似表示为物理量的其他数据。本发明的实施方案有助于集群之内和/或之间的多层商业服务的方便定义、可视化和管理,以便提供HA/DR (高可用性/灾难恢复)特性。这些系统和方法引入了 CSG (复合服务群组)商业服务的概念,这种服务建立在HA/DR集群软件之上。在一个实施方案中,本发明在集群中展现了一个容器对象。该容器对象包括所有相关应用程序。例如,该容器对象代表一个或多个商业服务或应用程序(例如,运行在物理机或虚拟机上),该商业服务或应用程序可以作为一个单一单元在多个集群站之内或之间定义、可视化并且联机、脱机、故障转接、切换、回切。在一个实施方案中,促进了商业服务的固定状态可视性和自动化(例如,在多层应用中)。在一个实施方案中,典型的操作环境对商业服务而言包含HA/DR复制处理功能的自动化处理。根据本发明的实施方案的CSG为应用程序提供适合的容器,该容器封装复杂的应用程序依存关系、约束条件以及系统布局策略。以下的图I讨论典型的基于集群的计算机系统环境。图2和图3展示了两个示例故障转移场景,这两个方案用于在基于集群的计算机系统环境中提供HA/DR服务。图4展示了 CSG功能特性的概览。
现在参见图1,图I展示的示意图描绘了根据本发明一个实施方案的基于HA/DR多集群的计算系统。如图I所示,展示了 3个集群101至103。集群102至103各自包括一个两节点集群。集群101包括一个四节点集群。组成节点的每一个被显示为连接至一个对应的存储装置(例如,磁盘驱动器等),并且集群101被显示为连接至SAN (存储区域网络)。每个集群的节点通过局域网105至107彼此通信。这些局域网依次连接至互联网110。尽管图I展示了两个节点和四个节点的集群,但应当理解的是,在具有几百或几千个节点的分布式计算机系统和/或基于云的计算机系统中,本发明的实施方案可以容易地改变规模并发挥作用。类似地,应当理解的是,尽管图I展示了包含这些集群的多个物理节点,但图I的一个或多个节点可以实施为在一个或多个虚拟机上实例化的来宾实例/应用程序(例如,如以下图10所描绘的)。因此,图I展示了典型的HA/DR多集群计算机系统环境的基本布局。如上所述,高可用性集群是一种计算机集群,它主要通过向用户和/或应用程序提供高可用性的服务和有保证的灾难恢复来发挥作用。为了提供集群内的HA,当一个集群的一个或多个节点可能 失效时,使用每个集群101至103的多个冗余节点提供服务(例如,集群内的故障转移)。为了向集群灾难恢复提供集群,多个集群101至103可以实施在地理上分离的位置上并且采用周期复制技术来提供有保证的灾难恢复。为了从故障集群中恢复,应用程序的整个群组可以从一个集群向另一个集群进行故障转移,以最小化应用服务的中断并最小化数据损失的风险。图I还展示了在集群101至103的每一个中包含多个复合服务群组管理器121至123。复合服务群组管理器121至123实施本发明的实施方案的多层商业服务功能的定义、可视化和管理。在图I的实施方案中,在每个群组中实例化至少一个复合服务群组管理器,然而,为了提供冗余性、可靠性等,复合服务群组管理器可以在给定集群的每个节点上实例化。图2展示了根据本发明一个实施方案的基于集群的计算机系统环境的示例性单一站点故障转移场景。如图2所描述,主站201包括2个集群210和211。在图2的实施方案中,可以配置集群210至211为彼此提供HA/DR故障转移保护。在该实例中,集群210至211都可以是主站。然而,集群210可以位于园区内的一个建筑物上,而集群211位于该园区的另一个建筑物中。在不同建筑物上的物理分离提供了一定程度的HA/DR,即使两个集群在地理上并未相隔较远(例如,在不同区域上相距几百英里)。类似地,两个集群可以位于同一个建筑物内的不同楼层上,因此仍提供一定程度的HA/DR (例如,在这种情况下一个集群位于地下室,而另一个位于不同的楼层)。尽管位于同一个建筑物内,集群的物理分离仍提供重要的HA/DR保护(例如,防止灭火器启动、未授权的进入等)。尽管将集群210至211展示为两个分离的集群,但应当注意的是,可以将集群210至211实施为两个子集群。在这种实施方案中,将一个单一较大集群分为两个子集群,这两个子集群各自可以为对方提供HA/DR保护。图3展示了根据本发明一个实施方案的基于集群的计算机系统环境的示例性两站点故障转移场景。如图3所描述,主站301通信性地连接至辅站302。主站和辅站301至302包括各自的集群310至311。在图3的实施方案中,将集群310至311配置用于为它们各自的站点提供HA/DR故障转移保护。在这种实施方案中,集群310至311位于地理上分散的主站和辅站上。在地理上相隔较远位置上的物理分离提供了极高程度的HA/DR保护。它们相隔较远的位置提供了大范围事件的灾难恢复保护,这些事件可以在较大区域上影响服务并破环基础设施(例如,飓风、地震、海嘯等)。图4展示了根据本发明一个实施方案的应用程序单元的集合,这些应用程序单元提供一个或多个商业服务。如图4所示,应用程序单元以相对它们彼此的相互依赖关系来展示。图4所示的方式是图4下部的应用程序为图4上部的应用程序单元提供组成功能和支持。例如,应用程序单元401至403各自向应用程序单元404提供支持功能。应用程序404和应用程序405向顶层应用程序410提供支持功能。类似地,应用程序421和应用程序422向顶层应用程序430提供支持功能。箭头450代表在两个顶层应用程序410和430之间的进程间通信。因此,应用程序单元401至410体现了多层应用,其中这些应用程序单元各自需要实施一个商业服务的整体功能的多个组成部分。例如,这种商业服务可以是基于网络的零 售点的购买事务处理商业服务。类似地,应用程序单元421至430包括一个第二商业服务。该第二商业服务与应用程序单元421至430提供的商业服务不同并且是相分离的。在图4的实施方案中,两个商业服务之间的通信只出现在高层应用程序单元410和430上。应当注意的是,如本文所用,应用程序单元是一种包含性术语,该术语是指实施不同功能部分的不同处理和应用程序的范围,这些不同的功能部分构成了整个商业服务。应用程序单元可以是在物理机器(例如,数据库应用、Web服务器等)上执行的应用程序。应用程序单元可以是虚拟机应用程序单元,例如虚拟机上的来宾实例,或在物理机器上执行的整个虚拟机。应用程序单元可以是不同的平台(例如,MIPS、x86、Itanium等)。应用程序单元可以是不同的操作系统(例如,Linux、Solaris、Windows等)。这些应用程序单元各自共同实现整个商业服务的多层架构,例如其中这些应用程序单元被实施为物理上或逻辑上分离的具有通用标准化接口的进程/应用程序。图5展示了根据本发明一个实施方案的将多个应用程序单元组成一个复合服务群组570的方式。在图5所示的方式中,本发明的实施方案实现了一种CSG商业服务,该CSG商业服务代表集群中的一个容器对象。如上所描述,容器对象(例如,CSG 570)包含了为商业服务提供功能的所有相关应用程序,在这种情况中是应用程序单元401至410。根据本发明实施方案的CSG 570提供了适合的容器以便封装复杂的应用程序依存关系、约束条件和系统分布策略。例如,在CSG 570执行购买事务处理商业服务的操作场景中,可以将商业服务的应用程序单元401至410作为一个单一单元在多个集群站点之内或之间进行定义、可视化并且联机、脱机、故障转接、切换、回切。这种单一单元就是CSG 570。CSG 570的这种单一单元方式极大地促进了商业服务的HA/DR处理功能的自动化。一旦定义了 CSG 570,包括CSG570的应用程序单元的复制和重复可以方便地自动化进行,从而确保了高度的HA/DR保护。因此,CSG 570包括一个故障转移单元。包括CSG 570的应用程序单元的每一个可以或不可以作为一个整体一起被复制和/或失效/故障恢复。定义CSG
定义CSG包括给一个对象(例如,表数据结构)一个唯一的名称。在一个实施方案中,这种对象包括一个枚举列表,该列表唯一地描述了哪些应用程序单元组成了给定的商业服务。CSG的唯一名称使得其他进程或系统管理员能够容易地并且可辨识地操作和/或管理CSG。例如,典型地名称可以是提供商业服务的园区(例如,斯坦福大学、山景城等)或商业服务所实施的功能(例如,图书销售、儿童服装销售等)。枚举列表描述了组成商业服务的多个应用程序单元之间存在的层级关系。枚举列表描述了可能存在的任何顺序依存性。枚举列表所获取的层级关系表示可以执行哪个应用程序单元的哪个初始化以及哪个应用程序单元的哪个初始化需要顺序地执行。例如,应用程序单元404的功能依赖于应用程序401至404的启动。类似地,应用程序单元410的功能依赖于应用程序404至405的初始化。应用程序401至403的初始化可以并行出现,而应用程序410的初始化必须等候应用程序405的初始化以及应用程序404的最终初始化。另外,跨越通信线路450的CSG的边界表示顶层应用程序单元410和430之间的通信停止,直到所有支持应用程序单元401至405已经初始化,从而使得应用程序单元410能够完全初始化。·应当注意的是,权限可以与定义一个新的CSG、警告一个已有CSG、删除一个已有CSG等的处理相关联。例如可以建立认证处理,该认证处理要求根据指定的权限等级进行认证。这种认证处理是为了确保系统管理员具有足够的权限来执行这种动作。可视化CSG显示器可以用于指示包括一个CSG的多个应用程序单元的固定状态。该固定状态可以是通过命令行接口传递的一个列表。该固定状态可以通过⑶I来可视地指示,该⑶I可以可视地指示包含该CSG的多个应用程序单元的每一个的个体状态。在一个实施方案中,固定状态可以可视地指示某种状态,该状态表示应用的当前可用性。在一个实施方案中,标记和/或视觉指示器可以指示CSG是否是脱机的、部分联机的或联机的。只有当CSG的全部应用程序单元完全可用时它是联机的。如果CSG的至少一个应用程序单元不能完全可用时CSG是部分联机的。如果它完全不可用,则存在至少一个其他应用程序单元,该单元是部分或完全可用的。当CSG的所有应用程序单元是完全不可用的,它是脱机的。管理CSG在一个实施方案中,管理CSG包括能够启动CSG、停止CSG、在不同站点之间切换CSG等这种管理是通过引用CSG名称来进行。典型地通过一个命令行接口或⑶I由系统管理员来实施这种管理。如以上所描述,可以要求系统管理员根据指定的权限等级来建立认证(例如,用户名和密码)以便执行这种动作。利用命令行接口或GUI,系统管理员可以执行引用该CSG的一个单一命令使整个CSG联机、使整个CSG脱机等。示例件CSG特件和功能的描述以下是根据本发明实施方案的某些CSG特性和功能的概述。A) CSG是为多个应用程序提供控制的第一类对象,该对象构成了由系统管理员指定的商业服务。因此典型的CSG生命周期包括I)定义/创建第一类CSG对象,该第一类CSG对象由所指定的应用程序单元列表组成。这些应用程序单元可以对不是这种CSG的一部分的其他应用程序单元具有依赖性。
2)对以下列表修改CSG对象a)应用程序单元的列表;b)它可以故障转移/切换到的集群/站点的列表;c)虚拟机的列表。3)删除CSG对象。4)在需要的站点/集群内使CSG对象联机/脱机或将CSG对象切换至需要的站点
/集群。5)清理在给定的集群/站点上出现的CSG故障。
6)接管给定的集群/站点上的CSG。7)使集群/站点上的固定CSG状态可视化。B)以下是某些与众不同的CSG特性I) CSG是跨平台的并且CSG对象可以跨越不同平台上的应用层。2)CSG是集群范围的全局实体一它并不逃逸至该集群中的特定系统或与其相互关联。3)启动多层应用程序(使CSG联机)包括最优地将该应用程序的多个部分置于服从一组约束条件的集群内的不同系统上。C)由于相关的应用程序集合在一个CSG中,可以如下所示保持并显示商业服务的固定状态1)CSG只具有三个基本状态,这些状态表示应用程序的当前可用性(脱机的、部分联机的和联机的)。a)只有当CSG的全部应用程序单元完全可用时它是联机的。b)如果CSG的至少一个应用程序组件不完全可用,它是部分联机的一它可以是部分可用的而不是完全不可用的。如果它是完全不可用的,则存在至少一个其他应用程序组件,该组件部分或完全可用。c)当CSG的所有应用程序组件是完全不可用的,它是脱机的。2)存在主CSG状态的两种修饰符(标记)a)警示标记一 CSG内的一个应用程序组件的不可用性可能是有目的的并且是某一既定政策和计划的一部分。但它同样可以是无意的并且是硬故障的结果,底层的高可用性提供商不能从硬故障完全恢复应用程序。因此,对于多层应用程序的当前或未来可用性可能会受损害的这种场景,我们在CSG状态中使用辅助的状态标示器一 “警示”标记。因此其中所有应用程序组件都出现故障并且随处下线的CSG将具有‘脱机I警示,的状态。另一方面,其所有的应用程序组件都有目的地脱机的CSG将具有‘脱机’的状态。b)挂起标记一在某些时间点上,CSG中的一个或多个应用程序组件可能从一个状态过渡到另一个状态。为了表示这个过程,我们使用‘挂起’标记。因此联机的但具有向脱机状态过渡的一些应用程序组件的CSG将具有‘联机I挂起’的状态。以下是固定CSG状态的可能值ο联机一 CSG中的所有应用程序单元都联机。ο部分联机一 CSG中的一些应用程序单元脱机,而另一些处于联机或部分联机状态。或者,没有应用程序单元脱机,一些或所有应用程序单元是部分联机的,而剩下的(如果存在的话)是联机的。ο脱机一 CSG中所有的应用程序单元是脱机的。ο联机I挂起一 CSG中所有的应用程序单元都是联机的,但组份应用程序单元的一个或多个处于向不同状态过渡期间。ο部分联机I挂起一与部分联机相同,但一些应用程序单元处于向不同状态过渡期间。ο部分联机I警示一与部分联机相同,但一些应用程序单元出现故障并且不能够上线。O部分联机I警示I挂起一与部分联机相同,但一些应用程序单元出现故障或不能够上线,同时CSG中其余的应用程序单元中的一个或多个处于向不同状态过渡期间。
O脱机I挂起一与脱机相同,但一些应用程序单元可以处于向不同状态过渡期间。ο脱机I警示一以下条件之一为真所有的应用程序单元都出现故障;所有的应用程序单元都脱机或出现故障;所有的应用程序单元都脱机并且它们中的一些不能够上线。O脱机I警示I挂起一与脱机相同(警示,但CSG中的一些应用程序单元处于向不同状态过渡期间)。图6至图9各自描绘了根据本发明实施方案的复合服务群组的一个主站和一个辅站之间不同HA/DR复制状态的实例。可能有多于两个的站点也参与向复合服务群组提供HA/DRo现在参见图6,图6展不了根据本发明一个实施方案的一个主站601和一个辅站602,其中已经为进行HA/DR复制了 CSG。如图6所描述,主站包括节点10至40,每一个节点如所示运行应用程序。复制技术用于将数据和OS镜像复制到所示节点50至80上的第二站点602。如上所描述,主站和辅站可以在地理上分隔的位置上实施,以便提供极高程度的HA/DR保护。它们相隔较远的位置提供了大范围事件的灾难恢复保护,这些事件可以在较大区域上影响服务并破环基础设施(例如,飓风、地震、海嘯等)。图7展示了根据本发明一个实施方案的主站701和辅站702,其中已经为进行HA/DR部分复制了 CSG。如图7所描述,主站包括节点10至40,每一个节点如所示运行应用程序。然而,复合服务群组701的应用程序并未完全复制到复合服务群组702。在此情况下,如果故障转移至复合服务群组702,部分复制提供了保持复合群组701的某些核心功能的选择。可以存在很多不同的情况使得仅故障转移核心功能而非全部功能更有利。可以存在一些场景,其中数量较少的应用程序单元可提供给定商业服务的大部分功能。在这种情况下,仅提供由少量应用程序单元具有的核心功能的故障转移是具有成本效益的。这一点可以减少在主站和辅站之间复制所占用的时间量。这一点可以增加主站和辅站之间复制的频率。另外,仅提供核心功能的故障转移可以降低与辅站相关的成本(例如,硬件和软件资源)以及主站和辅站之间的带宽。图8展示了根据本发明一个实施方案的一个主站801和一个辅站802,其中为进行HA/DR已经完全复制了包括虚拟机和真实应用程序的CSG。如图8所描述,主站包括节点10至40,每一个节点如所示运行虚拟机、真实应用程序以及来宾应用程序。在图8的实施方案中,复制技术用于在所示的节点50至80的辅站802上完全复制虚拟机、真实应用程序以及来宾应用程序。如以上所描述,应用程序单元是包含性术语,该术语是指实施不同功能部分的不同处理和应用程序的范围,这些不同的功能部分构成了整个商业服务。应用程序单元可以是在物理机器(例如数据库应用程序、Web服务器等)上执行的应用程序。应用程序单元可以是虚拟机上的来宾实例,或在物理机器上执行的整个虚拟机。应用程序单元可以是不同的平台(例如,MIPS、x86、Itanium等)。应用程序单元可以位于不同的操作系统(例如,Linux、Solaris、Window等)上。因此,图8根据本发明一个实施方案形象地描绘了可以聚集在一个CSG中的不同类型的应用程序单元。图9展示了根据本发明一个实施方案的第一集群901和第二集群902,其中为进行HA/DR已经完全复制了包括虚拟机和真实应用 程序的CSG。如以上所描述,一个应用程序单元可以在不同的平台(例如,Linux、Solaris、Window等)上实例化。该应用程序单元可以是虚拟机上的来宾实例,或在物理机器上执行的整个虚拟机。集群901至902可以同时位于主站上。例如,如以上所描述,集群901可以位于园区的一个建筑物上,而集群902位于该园区的另一个建筑物中。可替代地,集群901至902可以位于地理上分离的主站和辅站上。如以上所描述,在地理上相隔较远位置上的物理分离提供了极高程度的HA/DR保护。图9形象地描绘了开关910a至910b,如图所示该开关为每个集群提供了通信连通性。开关910提供了如图所示的数据存储阵列911a至911b的连接(例如,存储区域网络等)。复制服务920为集群901至902之间的数据冗余提供了周期复制功能。因此图9根据本发明的一个实施方案形象地描绘了不同类型的应用程序单元,这些单元可以与数据存储器和复制服务一起汇集在一个CSG中。图10展示了根据本发明一个实施方案的一种处理1000的多个步骤的流程图,该处理用于在基于集群的计算机系统上执行商业服务,同时通过CSG提供HA/DR。如图10所描绘,处理1000展示了初始化CSG、建立周期性复制并且管理商业服务上的操作步骤。处理1000开始于步骤1001,其中商业服务的多个应用程序单元在集群计算机系统上实例化。如以上所描述,应用程序单元是包含性术语,该术语是指实施不同功能部分的不同处理和应用程序的范围,这些不同的功能部分构成了整个商业服务。应用程序单元可以是在物理机器(例如,数据库应用、Web服务器等)上执行的应用程序。应用程序单元可以是虚拟机应用程序单元,例如虚拟机器上的来宾实例,或在物理机器上执行的整个虚拟机。在步骤1002,接收到包括多个应用程序单元的CSG定义(例如,从系统管理员),这些应用程序单元包括商业服务。如以上所描述,在一个实施方案中,CSG包括枚举列表,该列表唯一地描述了哪些应用程序单元组成了给定的商业服务。CSG的唯一名称使得其他进程或系统管理员能够容易地并且可辨识地操作和/或管理CSG。枚举列表描述了组成商业服务的应用程序单元之间存在的层级关系。枚举列表描述了可能存在的任意顺序依存关系。在步骤1003,产生了 CSG的固定状态。如以上所描述,固定状态可以可视地表示某些状态,这些状态表示应用程序的当前可用性。在一个实施方案中,标记和/或可视指示器可以指示CSG是否是脱机、部分联机或联机的。固定状态可以由GUI可视地表示,该GUI可以可视地表示包括该CSG的应用程序单元的每一个的个体状态。在步骤1004,为进行HA/DR,使用CSG建立主站和辅站之间的复制处理。如以上所描述,CSG包括故障转移单元。包括CSG的多个应用程序单元的每一个共同作为一个整体被复制和/故障转移。随后在步骤1005,CSG用于管理商业服务并通过CSG命令使商业服务联机。如以上所描述,管理CSG包括能够启动CSG、停止CSG、在不同站点之间切换CSG等。这种管理是通过引用CSG名称来进行的。典型地这种管理通过命令行接口或⑶I由系统管理员来实施。图11展示了根据一个实施方案的示例性计算机系统1100。计算机系统1100描绘了一个种基本计算系统的多个组件,该系统为上述实施方案提供某些基于硬件的和基于软件的功能的执行环境。例如,计算机系统1000可以是CSG管理器123在其上实例化的一个系统(例如,从图I实例化的)。可以将计算机系统1100实施为例如服务器计算机系统、工作站计算机系统、桌面计算机系统、或膝上计算机系统。相似地,计算机系统1100可以实施为一种手持装置。计算机系统1100典型地包括至少某种形式的计算机可读媒质(例如,计算机可读存储媒质1101)。计算机可读媒质可以是很多不同类型的可利用媒质,该媒质可以由计算机系统1100进行存取并包括但不限于计算机存储媒质。 在其最基本的配置中,计算机系统1100典型地包括处理单元1103和计算机可读取存储媒质1101。根据所使用的计算机系统1100的确切配置和类型,存储器1101可以是易失性存储器(例如,像DRAM等)、非易失性存储器(例如,像ROM、闪存等)或这两种形式的某种组合。类似地,存储器1101可以包括其他装置,例如固态装置,例如像基于磁盘的媒质、光媒质等。另外,计算机系统1100可以包括其他大存储系统(例如,可移除存储器1105和/或不可移除存储器1107 ),例如磁或光盘或磁带。类似地,计算机系统1100可以包括输入装置1111和/或输出装置1109 (例如,像显示器)。计算机系统1100可以进一步包括利用有线的或无线的媒质连接至其他装置、计算机、网络、服务器等的通信连接1113。由于所有这些装置在本领域是众所周知的,无需对其进行详细讨论。应当进一步注意的是,计算机系统1100可以具有由分布式计算机系所代替的功能的一些、大部分或全部,该分布式计算机系统具有大量的分布计算节点,这种情况是计算机系统1100的功能部分地或全部地利用一个云计算环境而执行。图12描绘了根据本发明一个实施方案的适于执行某种功能的计算机系统1210的方框图。计算机系统1210包括总线1212,该总线将计算机系统1210的主要子系统相互连接,如中央处理器1214、系统存储器1217(通常是RAM,但是还可以包括ROM、闪存RAM、或类似的存储器)、输入/输出控制器1218、外部音频装置(如经由音频输出接口 1222的扬声器系统1220)、外部装置(如经由显示适配器1226的显示屏1224)、串行端口 1228和1230、键盘1232 (与键盘控制器1233连接)、存储接口 1234、可操作用于接收软盘1238的软盘驱动器1237、可操作用于与光纤通道网络1290相连接的主机总线适配器(HBA)接口卡1235A、可操作用于连接到SCSI总线1239上的主机总线适配器(HBA)接口卡1235B、以及可操作用于接收光盘1242的光盘驱动器1240。还包括鼠标1246 (或其他点击装置,经由串行端口1228连接至总线1212)、调制解调器1247 (经由串行端口 1230连接至总线1212)、以及网络接口 1248 (直接连接至总线1212)。如前所述,总线1212允许中央处理器1214与系统存储器1217之间的数据通信,该系统存储器可以包括只读存储器(ROM)或闪存(均未示出)、以及随机存取存储器(RAM)(未示出)。RAM通常是加载操作系统和应用程序的主存储器。在图12的实施方案中,系统存储器1217实例化CSG管理器模块123,该模块执行以上描述的CSG HA/DR功能。除其他代码之外,该ROM或闪存可以包含基本输入输出系统(BIOS),该系统控制基本的硬件操作,如与外围部件的交互。与计算机系统1210共同驻留的多个应用程序通常存储在一种计算机可读媒质上,如硬盘驱动器(例如,固定盘1244)、光盘驱动器(例如,光盘驱动器1240)、软盘单元1237、或者其他存储媒质,并且可以通过该计算机可读媒质来访问这些应用程序。此外,当通过网络调制解调器1247或接口 1248来访问时,应用程序可以是根据应用程序和数据通信技术进行调制的电子信号的形式。如计算机系统1210的其他存储器接口一样,存储器接口 1234可以连接至标准计算机可读媒质用于信息的存储和/或检索,例如固定盘驱动器1244。固定盘驱动器1244可以是计算机系统1210的一部分或可以是分离的并且可以通过其他接口系统来访问。调制解调器1247可以通过一个电话链路提供到远程服务器上的直接连接、或者通过互联网服务提供商(ISP)提供到互联网的直接连接。网络接口 1248可以通过一个直接网络链路提供到一个远程服务器的直接连接、或者通过一个POP (存在点)提供到互联网的直接连接。网 络接口 1248还可以使用无线技术提供此类连接,包括数字蜂窝电话连接、蜂窝数字包数据(⑶PD)连接、数字卫星数据连接或类似的连接。许多其他装置或子系统(未示出)可以以类似的方式(例如,文档扫描仪、数码照相机等等)进行连接。相反,实施本披露并不要求图12中示出的所有装置都存在。装置和子系统可以以图12中所示的不同方式相互连接。图12中所示的计算机系统的操作在本领域中是众所周知的并且在本专利申请中不做详细讨论。实施本披露的代码可以存储在计算机可读存储媒质上,如系统存储器1217、固定盘1244、光盘1242或软盘1238中的一个或多个。计算机系统1210上提供的操作系统可以是MS-DOS 、MS-WINDOWS 、OS/2 、UNIX 、Linux 或另一种已知的操作系统。另外,就本文描述的信号而言,本领域熟练技术人员将认识到,信号可以从第一模块直接传递到第二模块,或可以在模块之间修改(例如,放大、减弱、延迟、锁存、缓冲、反转、滤波或以其他方式进行修改)信号。尽管以上所述实施方案的信号的特征为从一个模块向下一个模块传输,但只要信号的信息和/或功能方面在模块之间进行传输,本披露的其他实施方案就可以包括修改的信号以替代这种直接传输的信号。在某种程度上,在第二模块上输入的信号可以概念化为来源于第一信号的第二信号,该第一信号输出自第一模块,这是由于所涉及的电路的物理限制(例如,不可避免地存在一些衰减和延迟),因此,如本文所用,源自第一信号的第二信号包括第一信号或第一信号的任意修改形式,是由于电路限制还是由于经过其他电路元件并不会改变第一信号的信息和/或最终功能方面。为了解释的目的,已经参照具体实施方案对前述说明作出了描述。但是,这些示意性的说明并不旨在穷举或者将本发明限制在所披露的准确形式。鉴于以上教导,许多修改和变形都是可能的。为了最好地解释本发明的原理及其实际应用,选择并说明了这些实施方案,从而使得本领域的其他技术人员能够最好地利用本发明,以及针对预期的具体用途而作了各种适当修改的不同实施方案。
权利要求
1.一种用于定义和管理基于集群的计算机系统的复合服务群组的方法,包括 在一个基于集群的计算机系统上实例化多个应用程序单元,其中这些应用程序单元实施一个商业服务; 接收一个复合服务群组定义,其中一个复合服务群组从该多个应用程序单元中枚举实施该商业服务的若干应用程序单元; 产生该复合服务群组的一个固定状态;并且 根据该固定状态利用该复合服务群组使该商业服务联机或脱机。
2.如权利要求I所述的方法,其中该复合服务群组包括层级依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化。
3.如权利要求I所述的方法,其中该复合服务群组包括顺序依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化。
4.如权利要求I所述的方法,其中该复合服务群组定义了一个边界,该边界控制实施该商业服务的若干应用程序和该多个应用程序单元中的其他应用程序单元之间的通信。
5.如权利要求I所述的方法,其中该复合服务群组为实施该商业服务的若干应用程序单元封装依存关系、约束条件或系统布局策略。
6.如权利要求I所述的方法,其中该固定状态可视地指示实施该商业服务的若干应用程序单元的每一个的个体状态。
7.如权利要求I所述的方法,其中该复合服务群组包括在一个第一集群和一个第二集群之间进行故障转移的一个单元,其中该复合服务群组的应用程序单元作为一个整体从该第一集群故障转移至该第二集群。
8.如权利要求I所述的方法,其中该复合服务群组用于在一个主站和一个辅站之间建立一个复制处理以实现高可用性或灾难恢复。
9.如权利要求I所述的方法,其中该复合服务群组用于通过一个命令行接口或一个图形用户接口提供实施该商业服务的若干应用程序单元的管理控制。
10.如权利要求I所述的方法,其中实施该商业服务的若干应用程序单元中的至少一个是一个虚拟机应用程序单元。
11.一种计算机可读存储媒质,在其上存储有计算机可读指令,如果由计算机系统执行,这些指令使得该计算机系统执行一种方法,该方法包括 在一个基于集群的计算机系统上实例化多个应用程序单元,其中这些应用程序单元实施一个商业服务; 接收一个复合服务群组定义,其中一个复合服务群组从该多个应用程序单元中枚举实施该商业服务的若干应用程序单元; 产生该复合服务群组的一个固定状态;并且 根据该固定状态利用该复合服务群组使该商业服务联机,其中该复合服务群组用于提供实施该商业服务的若干应用程序单元的管理控制。
12.如权利要求11所述的计算机可读存储媒质,其中该复合服务群组包括层级依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化,并且包括顺序依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化。
13.如权利要求12所述的计算机可读存储媒质,其中该复合服务群组为实施该商业服务的若干应用程序单元封装依存关系、约束条件或系统布局策略。
14.如权利要求11所述的计算机可读存储媒质,其中该固定状态可视地指示实施该商业服务的若干应用程序单元的每一个的个体状态。
15.如权利要求11所述的计算机可读存储媒质,其中该复合服务群组包括在一个第一集群和一个第二集群之间进行故障转移的一个单元,其中该复合服务群组的应用程序单元作为一个整体从该第一集群故障转移至该第二集群。
16.如权利要求11所述的计算机可读存储媒质,其中该复合服务群组用于在一个主站和一个辅站之间建立一个复制处理以实现灾难恢复。
17.一种计算系统,包括 一个计算机系统,该计算机系统具有连接到计算机可读存储媒质并执行计算机可读代码的一个处理器,该代码使得该计算机系统 执行一个复合服务群组管理器模块; 接收一个复合服务群组定义,其中一个复合服务群组从该多个应用程序单元中枚举实施该商业服务的若干应用程序单元,并且其中该多个应用程序单元在一个基于群组的计算机系统上实例化; 产生该复合服务群组的一个固定状态; 利用该复合服务群组在一个主站和一个辅站之间建立一个复制处理;并且 根据该固定状态使该商业服务联机。
18.如权利要求17的计算机系统,其中该复合服务群组包括层级依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化,并且包括顺序依存信息,该信息控制实施该商业服务的若干应用程序单元的每一个的初始化。
19.如权利要求18的计算机系统,其中该复合服务群组为实施该商业服务的若干应用程序单元封装依存关系、约束条件或系统布局策略。
20.如权利要求17所述的方法,其中该复合服务群组包括在一个第一集群和一个第二集群之间进行故障转移的一个单元,其中该复合服务群组的应用程序单元作为一个整体从该第一集群故障转移至该第二集群。
全文摘要
在此披露了一种用于定义和管理基于集群的计算机系统的复合服务群组的方法。该方法包括在一个基于集群的计算机系统上实例化多个应用程序单元,其中这些应用程序单元实施一个商业服务。该方法进一步包括接收一个复合服务群组定义,其中一个复合服务群组从该多个应用程序单元中枚举实施该商业服务的若干应用程序单元,并产生该多个复合服务群组的一个固定状态。然后根据该固定状态,利用该复合服务群组将该商业服务作为一个单一单元来启动(联机)/停止(脱机)/迁移/故障转移/故障回切。
文档编号G06F11/20GK102918506SQ201080066536
公开日2013年2月6日 申请日期2010年12月15日 优先权日2010年3月12日
发明者A·L·伽瓦利, A·穆克吉, A·H·兰加瑞, K·桑达瑞林伽玛, S·S·凯帕 申请人:赛门铁克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1