配置、监视和/或管理包括虚拟机的资源组的制作方法

文档序号:6657104阅读:255来源:国知局
专利名称:配置、监视和/或管理包括虚拟机的资源组的制作方法
技术领域
本发明涉及计算机系统中的配置、监视和/或管理资源组。
背景技术
服务器、存储装置、及其它计算机装置通常经网络互相连接,并允许这些装置和多个终端用户之间的通信。在一些网络化系统中,采用可用性监视来确保应用程序和/或其它计算机系统资源的可用性。因此,保存用户的应用程序的服务器的失效不必定意味着应用程序的终止。而是,应用程序可被再定位到网络上的另一运行服务器,从而确保应用程序可用性。
通常,如果终端用户没有察觉到任何失效或严重的性能降级,则应用程序被视为“可用”。除了其它优点以外,具有高可用性监视的计算网络允许对失效和/或指定事件进行自动响应。高可用性解决方案确保在应用级、机器级等因失效而受影响的资源可被再定位到网络内的运行系统。此外,高可用性解决方案还可监视和管理系统维护、负载起伏、商业工作流、及其它影响性能和可用性的因素。


在附图中,同样的附图标记代表同样的元件图1为示出自动可用性软件可于其上实施的示例性系统的框图。
图2为根据本发明的一实施例,驻留在机群上的虚拟机可通过可用性监视而于其上进行配置、监视、和/或管理的示例性系统的框图。
图3示出了图2的系统,但其中驻留在虚拟机上的几个虚拟机已通过根据本发明的一实施例的可用性监视器而被再定位到不同的结点。
图4示出了根据本发明的一实施例,机群资源被从第二计算机经网络服务接口进行配置、监视和/或管理的示例性系统的框图。
图5示出了根据本发明的一实施例的示例性系统的框图,其具有包括带用户接口的控制台和系统中结点上的多个代理的资源组配置工具,其中控制台和结点经网络服务接口进行通信。
图6为根据本发明一实施例的示例性系统的框图,其中来自第一机群的资源可被再定位到第二机群。及图7为图6的示例性系统的框图,但根据本发明的一实施例,其中来自第一机群的资源已被再定位到第二机群。
具体实施例方式
如上所述,具有多个结点(如服务器和/或其它计算机装置)的网络化计算机系统可具有提供资源(如应用程序)的高可用性的可用性监视器。除其它优点外,这样的系统还提供故障切换保护,其中资源可从不正常工作结点再定位到运行结点。更一般地,在结点失效情况的例子中,另一结点可托管一个或多个先前由不正常工作结点提供的服务,包括但不限于,应用程序的运行及对存储器和其它计算机装置的访问。服务跨网络的移动还可因不同于容错的原因而被启动。例如,为重新分布网络上的工作量、为允许硬件或软件改变、为将新装置增加到网络等。在管理网络中所涉及的决策可由管理员人工指示或由自动可用性监视器管理。
自动可用性软件监视器实施监视网络及采取行动以确保可用性所涉及的步骤。这样的软件包的例子是由马萨诸塞州Hopkinton的伊姆西公司的分部Legato提供的自动可用性管理器(AAM)。自动可用性监视器以自动方式提供可用性管理能力,其减轻了管理员经常监视网络资源的负担。这样的自动可用性监视器可响应于致命事件提供故障切换保护,并还可通过监视和管理系统维护、负载起伏及商业工作量而提供网络性能。
图1示出了由自动可用性软件管理的传统系统1000。系统1000包括机群100,机群包括多个经网络155互连的结点(如服务器)110A-110D。网络155可以是使结点110A-110D能相互通信的任何类型的网络。在图1所示的具体结构中,网络155包括集线器160和集线器及结点之间的多个网络连接155A-155D,其产生仅处理结点110A-110D之间的通信的专用网络。在其它实施方式中,网络155可处理作为较大网络的一部分的其它实体例如客户机(或终端用户)或其它结点之间的通信。在图1的例子中,系统1000还包括将终端用户170A-170F连接到结点110的另一网络165。终端用户可包括可以跨网络165使用至少一结点110的任何装置(如客户计算机)。网络165可以是提供所需连通性的任何类型的网络,包括LAN、WAN、因特网、其它类型网络、或其任何组合。将其它装置连接到机群的网络165也可用于在机群中的结点110A-110D之间建立连通性。
可用性软件可于其上运行的系统不限于图1的特定实施方式,总体上,其可以使用不同网络连接布局的多种不同系统结构进行实施。
在图1所示的结构中,机群100中的结点110A-110D可保存由客户机170A-170F访问的应用程序。这样的应用程序的例子包括字处理器、网络浏览器、数据库软件、电子邮件服务等。因而,结点110可具有任何数量的服务,例如包括网络服务器、数据库资源、或任何其它服务或功能。从终端用户170的角度,机群可被认为是单一实体,因为终端用户不在意哪一结点保存哪一应用程序。系统1000可由系统管理员管理,其可监视应用程序的状态、结点110上的工作量及其它度量从而确定怎样最好地响应事件,包括失效或性能降级。例如,特定结点上的失效可提示管理员将失效结点上保存的应用程序移到机群100中的其它运行结点。
自动可用性管理(AAM)软件已被开发来减轻对由系统管理员进行人工干预的需要,其通过对失效及其它事件提供自动响应实现,从而有助于与机群相关联的资源的管理,而不需要人工干预。例如,自动可用性监视器可安装在机群100上以监视和控制图1的机群100中的多个资源。大量实施是可能的,包括分布式AAM监视器,其包括分别安装在结点110A-D上的自动可用性代理120A-120D,每一代理用于监视和控制由代理驻留于其上的结点110A-D提供的资源。自动可用性代理可安装在部分或所有结点110上并能够执行多个功能,包括通过单边行动或与机群中的其它自动可用性代理通信而检测系统度量并基于所检测的事件调整行动,从而检测和解决机群中的问题,继而确保可用性。
在图1的实施例中所示的AAM监视器包括每一结点具有代理的分布式AAM监视器的同时,应意识到,在此描述的本发明的各方面不限于与具有这种或任何其它特定结构的AAM监视系统一起使用,而是可与其它结构一起使用,包括非分布式结构。
自动可用性监视器120可监视和维护机群100提供的资源的可用性。资源指可被监视、控制或管理的任何实体,如服务、应用进程、系统路径或逻辑地址、IP地址、结点(如存储装置或服务器)、网络信息卡(NIC)、网络设备(如路由器或网桥)、计算机别名、数据库或任何其它适当的实体。资源组可被形成从而包括一个或多个将被监视的资源及使资源能由自动可用性软件监视的基础结构(如一个或多个数据结构、指令、参数、属性等)。资源组可被创建以监视资源的集合,所述每一资源由单一结点提供或由多个结点共享。当提及自动可用性监视器执行的功能时,术语监视、管理、控制等可一起使用或互换地使用,每一个均指在此描述的功能的类型,这些不同术语之间意思上没有区别。
资源组的结构可包括但不限于定义一组将被管理的资源、响应于资源的启动和关机的规则、选择故障切换结点的程序(如在托管资源的结点失效时传送资源)、及响应于所监视度量的触发条件的指令。例如,资源组可包括在主机结点上运行的应用程序(如字处理器)、通过其收集应用程序度量的传感器、及监视传感器并报告与一个或多个规则匹配的任何条件或基于其行动的触发器。在一些实施例中,资源组的传感器和触发器监视过程及结点失效并对其起作用,一旦触发器激发,自动可用性监视器寻求缓解故障的规则。
申请人已意识到,传统的可用性管理解决方案不能够在监视的资源组内包括虚拟机。虚拟机是使包括硬件和软件的计算系统虚拟化或模仿其的软件实体。虚拟机技术使大量不同的虚拟机能在同一硬件计算系统上运行。虚拟机技术的例子如可从伊姆西公司的分部、加利福尼亚州Palo Alto的VMWare获得的VMWare ESX服务器。申请人已认识到,将自动可用性监视器结合到这样的系统中将使机群上的虚拟机具有高可用性能力。因而,本发明的一实施例使能创建包括虚拟机的资源组。
传统的AAM系统采用在多个代理或其组成部分之间通信的技术,其要求所有组成部分安装在同一网络上。申请人已意识到,采用网络服务协议用于AAM系统的组成部分之间的通信在配置和管理资源组时可提供更大的灵活性。因而,本发明的一实施例使能经网络服务协议配置和/或管理资源组。
在传统的AAM系统中,可用于管理资源组中的资源的物理结点限于机群内的结点。如在此所使用的,机群指组合在一起以形成具有标识符的机群的一个或多个结点,及信息与机群相关联,其将结点组标识为属于机群。定向到机群标识符的网络流量被发送给机群中的一个或多个物理结点。申请人已意识到,在一些情况下,可能希望使资源组的结构能使资源在两个或多个机群之间再定位。因而,本发明的另一实施例使能这样的资源组结构。
在此描述的本发明的各方面涉及配置、监视和/或管理资源组,并可连同任何类型的可用性管理器或监视器一起采用,所述可用性管理器或监视器能够连同资源组执行这三个功能之任一功能。如在此使用的,术语资源组工具用于一般地描述能够配置、监视和/或管理资源组的任何这样的工具、产品(无论软件、硬件或其结合)。这样的资源组工具的例子可包括可用性管理器或监视器,但在此描述的本发明的各方面不限于传统上谈及的、带有这样的标签的产品,而是可连同能够配置资源组、监视资源组、管理资源或前述任一组合的任何工具使用。
如上所述,虚拟机是计算机系统的抽象表示。虚拟机可指驻留在主机上的客户机环境,其中虚拟机为客户机操作系统、客户机应用程序、和/或客户机的虚拟化硬件提供设施。从在虚拟机上运行的客户机操作系统或应用程序的角度,任何与客户机硬件接口连接的低级指示看上去直接在客户机硬件上执行,但被虚拟机虚拟化并最终传给主机上的实际硬件。应意识到,虚拟机可以多种方式实施,本发明的各方面不限于与以任何特定方式实施的虚拟机一起使用。
由于多个虚拟机可驻留在一个主机上,多个客户机操作系统和应用程序可同时在一个主机上运行。例如,多个虚拟机可驻留在连到网络的任何结点上。在虚拟机上运行应用程序的用户不会察觉虚拟机及虚拟机所驻留的结点位置,而是从用户的角度,应用程序好像具有完整传统物理计算机系统的专用资源。
图2示出了实施本发明一实施例的示例性系统,其中资源组可被形成包括一个或多个虚拟机。图2的系统包括机群300,其包括经网络355互连的结点310A-310C。结点310A托管虚拟机330A-C,结点310B托管虚拟机330D,及结点310C托管虚拟机330E-F。
给定结点310可基于结点310能有效处理的负载而托管多个虚拟机330。每一虚拟机可托管客户机操作系统和应用程序。图2仅示出了机群结点,但终端用户网络也可以同样的方式连到机群310,如图1中所示,从而使每一用户能够在虚拟机330上运行应用程序。图2还呈现了网络355的具体表示,但网络不限于该具体表示,因为任何网络布局或类型(包括那些结合图1描述的网络)均可用于使机群的结点互连。在这点上,涉及形成包括一个或多个虚拟机的资源组的本发明的各方面可在具有任何类型结构的机群上实施。
根据本发明的一实施例,虚拟机具有跨机群中的物理主机结点动态再定位的潜力。为可用性目的或任何其它原因,虚拟机的再定位可被启动以在机群中的结点上重新分布工作量、预见硬件维护、部署或移动。
在图2所示的实施例中,自动可用性监视器包括分部驻留在结点310A-C上的代理320A-320C。监视器能够配置、监视和/或管理机群300中的一个或多个资源组,并可包括驻留在任何这样的资源组中的结点310上的虚拟机330。虽然在图2中未示出,监视器还可包括与代理通信并使能资源组的构造的控制台。控制台可驻留在任何适当的位置(如在机群中的结点之一上或其它地方)。涉及在资源组中包括虚拟机的本发明的各方面可根据任何结构类型的监视器实施,并不限于与具有如图2中所示那样的分布式结构或任何其它特定类型的结构的AAM系统一起使用,图2中代理320驻留在每一结点上。
虚拟机330可由代理320与任何其它资源一起进行配置、监视和/或管理。其它资源的例子包括上面公开的那些资源之任一,如服务、应用进程、系统路径或逻辑地址、IP地址、结点(如存储装置或服务器)、网络信息卡(NIC)、网络设备(如路由器或网桥)、计算机别名、数据库或等。如先前所提到的,在此描述的本发明的各方面不限于与代理驻留在所有结点上的监视器一起使用,也不限于与配置、监视和/或管理给定虚拟机的代理驻留在虚拟机所驻留的结点上的监视器一起使用。
资源组可被配置以定义与监视和/或控制包括虚拟机的资源有关的任何数量的功能。虚拟机的可用性属性可被定义以解决容错问题(如,如果结点失效时确保可用性)和/或性能问题。例如,资源组可被配置以对虚拟机的主机结点指定一个或多个性能目标或要求(如,分配给虚拟机的主机处理器使用百分比、主机结点上的存储器或存储资源等),监视器可采取行动以使那些目标或要求被满足。
例如,在一实施例中,包括虚拟机的资源组可定义虚拟机的可用性属性、初始化虚拟机的一系列操作、和/或停止虚拟机的一系列操作。监视器可从虚拟机获得信息从而以任何适当方式确定虚拟机是否正常运行,因为本发明不限于这一方面。在分析虚拟机怎样运行的基础上,由资源组定义的规则可定义响应于虚拟机的状态将执行的操作。例如,如果虚拟机在给定结点上没有按需正常运行,资源组内定义的规则可指示将虚拟机再定位到另一结点。再定位可以任何适当的方式实现,因为本发明不在这方面限制。作为例子,一些虚拟机技术(如可从VMWare获得的)可提供再定位服务,监视器有权将虚拟机从一结点再定位到另一结点。
为使能监视虚拟机,监视器(如经代理)可以任何适当的方式从虚拟机收集信息。在一实施例中,这样的信息通过使用虚拟机330A-F内的轻负载代理335A-F进行收集。轻负载代理335检测并收集关于虚拟机或其上运行的应用程序的度量,之后,这些度量可传给代理320A-C。在图2中,轻负载代理335与驻留在相同结点310上的代理320通信,如图2中的虚线通信路径所示。然而,应意识到,给定虚拟机330内的轻负载代理335A-F也可与驻留在不同结点310上的代理320通信,或与监视器的任何组成部分通信,因为本发明并不在这方面限制。
在另一实施例中,轻负载代理335A-F可经网络服务协议与一个或多个代理320通信。网络服务是标准化的平台-用于在计算机之间交换信息的独立通信协议,不需要每一计算机对另一计算机系统的性质具有直接的知识。网络服务协议可采用可扩展标记语言(XML),其是用于表示数据的跨平台的、灵活的、基于文本的标准。当前网络服务协议的实施细节对本领域技术人员是公知的。
尽管本发明的一些实施例可使用网络服务协议用于轻负载代理335和代理320之间的通信,应意识到,也可使用其它通信协议。
在一实施例中,在从轻负载代理335A-F接收所检测的度量的基础上,代理320A-C基于所建立的准许进入控制准则确定是否在虚拟机上执行操作,所述准则为资源(在该例子中为虚拟机)的运行环境和/或特征建立首选的和/或所需的标准。例如,准许进入控制准则可建立用于每一虚拟机335的主机的最小硬件要求,如托管虚拟机的物理计算机结点310上的存储量。之后,这样的准许进入控制准则使能产生给定资源如虚拟机应驻留于其上的结点310的首选列表。此外,准许进入控制准则可建立分配给虚拟机的主机资源量的准则,例如通过指定应分配给虚拟机的主机处理器使用百分比。
应意识到,上述的特定准许进入控制准则仅是例子,因为准许进入控制准则可对虚拟机或任何其它资源的运行环境和/或特征建立任何需要的准则。
与准许进入控制准则有关,监视器(如代理320A-C)可基于再定位政策管理虚拟机的移动,所述政策指明虚拟机将被再定位的条件并指导(与准许进入控制准则一起)新主机的选择。例如,经再定位政策,在虚拟机330存在的主机结点失效或性能降级的情况下,监视器(如代理320)可自动确定虚拟机330应被移到哪一结点310,从而自动确保虚拟机的可用性。
图3示出了图2的机群300,但其中虚拟机330A-330B已被再定位到结点310B,虚拟机330C已被再定位到结点310C。从结点310A再定位已由关于虚拟机内运行的应用程序的所检测度量(从轻负载代理335A-335C发送到代理320A)、结点310A的失效、或任何其它适当的触发事件触发。再定位政策可由代理320A-C用于确定每一虚拟机335A-335C再定位到其的目的地结点。
尽管图2-3中所示的具体例子涉及仅包括虚拟机的资源组,应意识到,本发明不在这方面限制,因为资源组可被配置成除虚拟机外还包括任何其它类型的资源。
传统上,用于与自动可用性监视器通信以配置资源组的用户接口必须驻留在与机群相同的网络内,网络通常部署在防火墙后以保护网络免遭经连接的公网如因特网的未授权访问。此外,在用户接口和执行机群配置、监视和/或控制的自动可用性监视器的组成部分之间的通信传统上使用特定的专用通信协议执行,其要求监视器的所有组成部分位于与被监视的机群相同的网络内(如在同一防火墙之后)并能够使用专用协议通信。这样的限制需要管理员在现场与传统的机群管理软件相互作用。
根据本发明的一实施例,采用网络服务协议用于自动可用性监视器的用户接口和其其它组成部分之间的通信从而配置、监视和/或控制资源组。
在一实施例中,提供用于自动可用性监视器的网络服务接口允许配置、监视和/或控制资源组时位置的灵活性,其中监视器可从机群网络之外进行访问,即使机群受防火墙保护也可以。例如,经网络服务接口,管理员从机群网络(即使在防火墙后保护时)外的计算机例如使用因特网与资源组配置和/或管理工具通信,从而使管理员能够无须从同一网络上的计算机访问监视器或配置工具而配置、监视、和/或控制一个或多个资源组。
在使用网络服务接口使能从机群网络外面的位置与资源组配置和/或管理工具通信的同时,应意识到,网络服务接口还可用于从同一网络上的计算机配置、监视和/或控制资源组。网络服务接口的使用使能如上所述那样以独立于平台的方式在管理员使用的计算机和资源组配置和/或管理工具之间进行通信。
在上面的讨论中,网络服务接口已被描述为使用在用户接口和资源组配置和/或管理工具之间。在一实施例中,可经网络服务接口访问的用户接口(如通过访问公众可用的站点)提供配置资源组的能力,并监视和控制先前配置的资源组。然而,应意识到,涉及经网络服务接口访问资源组的本发明的各个方面不在这方面限制,因为可经网络服务接口访问的用户接口也可提供执行与配置、监视和控制资源组有关的活动的任何子集的能力(如,使能配置但不监视或监视但不配置),这样,任何其它活动可能需要在与资源组机群相同的网络上访问。
涉及使用网络服务接口访问资源组配置和/或管理工具的本发明方面的一实施例现在将参考图4进行描述,其示出了包括机群500、计算机580和将计算机580连接到机群的网络565的计算机系统5000。机群500包括一组物理计算机结点510A-510C,其拥有资源530A-530E。如上所述,物理计算机结点510A-510C可包括任何适当的装置,如服务器、存储系统或任何其它具有一个或多个将被监视的资源的装置。物理机群经网络555互连,其可以是与上述完全一样的方式的任何布局的任何类型的网络。
网络565可以是允许机群500和计算机580之间的通信的任何类型的网络连接。在一实施例中,机群500和网络555可以是安全专用网的一部分并可由防火墙保护,在一实施例中,网络565可以是公用网(如因特网)。计算机580可以是与机群500相同的专用网的一部分,可以是由不同防火墙保护的不同专用网的一部分,可以是不受任何防火墙保护的网络,或以任何其它结构安排的网络,其提供对公用网565的访问以经网络服务接口与机群500通信。
计算机580将允许通信的用户接口通过网络565提供给配置工具,配置工具使能在机群500上配置资源组。经使用网络服务接口,计算机580通过根据网络服务协议传送和接收通信信号而与配置工具进行通信。经网络服务协议和接口的通信允许计算机580与驻留在连接到公用网565的任何计算机上的资源组配置工具相互作用。在一实施例中,配置工具,如上所述其可以是控制台,被布置在机群500中(如,在机群500的物理计算机结点510A-510C的任一或多个上)。经网络服务接口,用户可使用计算机580与配置工具通信,使用户能够配置、监视和/或控制驻留在机群500中的物理计算机结点510A-510C上的资源,其方式与用户使用传统技术从机群500内的计算机与配置工具进行通信一样。例如,用户可指示机群上资源组的配置,其通过定义将被管理的资源、用于检测度量的传感器、用于响应于资源的启动和关机的规则、用于选择故障切换结点的程序、用于响应于所检测度量的触发条件的指令等进行。
如上所述,根据本发明的一实施例,用于使能配置一个或多个资源组的配置工具的接口可为网络服务接口利用。或者,根据本发明的另一实施例,用于监视一个或多个先前配置的资源组的接口可为网络服务接口利用。此外,根据本发明的一实施例,这样的功能性被组合,使得接口可为AAM监视器或其它适当的工具利用从而使能通过网络服务接口配置和监视资源组。
用于配置和/或监视工具的网络服务接口可以任何适当的方式实现,因为本发明不在这方面限制。根据本发明的一实施例,用于配置和/或监视工具的用户接口被使得可与网站完全相同的方式在网络565上可公开访问的地址处可用。根据本发明的该实施例,之后,用户接口可由任何计算机580使用网络565和浏览器进行访问。
图5示出了本发明的另一实施例,其涉及分布式监视系统,其中监视系统的两个或多个元件之间的通信可使用网络服务接口进行引导。在图5的实施例中,监视系统包括驻留在机群600的物理计算机结点610A-610C上的代理620A-C、提供用于监视系统的用户接口以使能在机群600上配置资源组的控制台685。控制台685可以任何适当的方式实施,如使用编码在可访问计算机可读介质上并由第二计算机680中的处理器运行的指令。在一实施例中,控制台685可包括定义图形用户接口的呈现的指令,从而用户可经图形用户接口提供一个或多个配置资源组的命令。
控制台685与驻留在物理计算机结点610A-C上的代理620A-C通信。代理620A-C可以任何适当的方式实施,例如,使用编码在可访问计算机可读介质(如存储器或其它存储装置)上并由相应的物理计算机结点610A-C中的处理器运行的指令。在图5中,代理620A-C作为软件被安装在一个或多个资源630A-E也可驻留于其上的物理计算机结点610A-C上,并可配置、监视和/或控制相同结点上的资源630A-E。然而,如上所述,在此描述的本发明的实施例不限于与具有这种类型结构的监视器一起使用。例如,代理可被安装在与被配置或监视的资源所驻留的结点不同的装置上,且代理驻留于其上的装置可以是能够运行代理的任何计算装置。因而,尽管在图5中代理驻留在机群600中的每一结点上,在此描述的本发明的各方面可与采用较少代理(如每机群一个代理)的其它结构一起使用。
在一实施例中,控制台685和代理620A-C之间的通信经网络服务协议和接口完成。如上连同图4中的第二计算机580和机群500所述,网络665可以是公用网或专用网,控制台685驻留于其上的计算机680可以在与机群相同的网络中,或计算机680可以在保护机群600的防火墙的外面。由于控制台680可被布置在保护机群600及其上的代理620A-C的防火墙之外,使用网络服务接口用于控制台685和代理620之间的通信使控制台能够远离机群布置(如在另一屋子、建筑物、城市、州或国家中)。
应意识到,当控制台685和代理620A-C经网络服务接口和协议通信时,这样的通信可以任何适当的方式实施。例如,控制台685可具有适于与代理620A-C通信的代理接口,且代理接口可经网络服务协议输出,这样,代理620A-C可通过采用代理上的浏览器或其它适当技术访问控制台。此外,代理620A-C可具有适于与控制台685通信的控制台接口,用于这些代理的控制台接口可经网络服务协议输出,使得控制台685可使用控制台上的浏览器或其它适当技术访问代理。
在控制台685在上面已被描述为通过使用网络服务接口与代理620A-C通信而提供配置资源组的能力的同时,还应意识到,在本发明的一实施例中,控制台685可提供监视包括代理620A-C监视的资源的先前配置的资源组的能力,且这样的监视功能或与经控制台685配置资源组的能力同时执行,或代替经控制台685配置资源组的能力而执行。应意识到,这将使资源组能被远程地监视,而不是经连接到与机群600相同网络的计算机。
根据本发明的一实施例,将用于配置和/或监视资源组的用户接口(如图5中的控制台685)从其上资源正被监视的机群分离的能力使单一控制台接口能用于管理多个机群上的资源组,包括那些在不同专用网后面的资源组。
在传统的可用性监视和管理系统中,资源组被定义为物理结点的特定机群内的资源,可用于满足资源组的可用性要求的可用性监视系统的物理组成部分被限制为机群内的部分。在配置计算机系统时,定义机群所采用的基础结构可对希望在单一机群中组合在一起的物理组成部分的数量施加一些实际限制。定义机群的基础结构包括分配给机群的标识符(如名称)、包括在机群中的物理组成部分(如结点)的列表、及支持机群上一个或多个资源组的配置的结点间机群级通信。例如,典型的资源组被定义为,即使在资源初始驻留于其上的机群结点失效的情况下仍支持机群上一个或多个资源的持续可用性。为使机群内的结点能一起运行从而提供这样的可用性功能,传统的监视系统在机群的结点间采用机群级通信,从而机群中的结点知道其它结点的状况及在结点失效的情况下知道是否应采取行动确保资源的持续可用性。这样的机群级通信的例子可包括机群中结点之间的心跳或探询通信,使得结点可共同监视其它结点的状况及持续生存性。
如上所述,由于在支持机群时采用的基础结构,可能希望限制任何特定机群中组合在一起的物理结点的数量。例如,如果机群内的结点数量过大,支持机群的结点间机群级通信可能变得过于繁重,并耗用使机群结点互连的网络的带宽的不合需要的大百分比。因而,当使用传统的监视系统时,用户经常限制在任一机群中互连的物理结点的数量。
对希望在任一特定机群中组合在一起的结点数量进行限制的不利方面在于其对满足特定资源组的所需可用性要求而采取的行动施加不合需要的限制。例如,特定的资源组可具有一组需要的运行环境条件,其仅由需要在特定机群中组合在一起的结点的特定组内的少数结点满足。申请人已意识到,在一些情况下,可能需要配置资源组以使其能使用机群外面的物理结点或组成部分满足资源组的可用性要求。因而,根据本发明的一实施例,资源组可被配置以包括用于该组中至少一资源的再定位政策,其授权将资源再定位到不同的机群。
根据本发明的一实施例,本发明涉及允许资源组内的资源被再定位到机群之外的方面可连同本发明采用网络服务使能自动可用性监视器的组成部分之间的通信的方面一起使用,从而在再定位资源时提供更大的灵活性。例如,在特定企业内,可有多个专用网(如位于不同的地理位置),每一专用网在其自己的防火墙后保护使得它们不能使用其它通信协议直接通信。然而,每一专用网可连接到公用网(如因特网),且每一专用网可通过使用网络服务协议而进行访问。因而,根据本发明的一实施例,网络服务协议和接口可用于帮助将资源从一专用网上的机群再定位到另一专用网上的机群。
在结合本发明涉及使用网络服务接口和协议用于监视工具的组成部分之间的通信的方面有利的同时,应意识到,本发明涉及再定位机群之外的资源的方面并不在这方面限制,且可用于在多种其它情形中再定位机群之外的资源,包括将资源移到布置在相同防火墙之后的机群、或与任何适当的通信协议一起使用以在监视工具的各个组成部分之间进行通信。
图6示出了一实施例,其中系统9000包括两个机群900A和900B。机群900A包括托管资源930A-930E的物理计算机结点910A-910C。资源930A-930E由包括代理920A-C的监视系统监视。机群900B包括托管资源930F-930H的物理计算机结点910D-910E。资源930F-930H由包括代理920D-E的监视系统监视。
机群900A和900B经网络965互相连接。如上所述,网络965可以是公用网,机群900A和900B中的一个或多个布置在防火墙后面的专用网上。然而,如上所述,本发明涉及机群间再定位的方面不在这方面限制,因为网络965可以是用于连接机群900A、900B的任何类型的网络,其也可位于同一防火墙的后面。如在此使用的,术语防火墙广义地用于指保护网络组成部分免于外来访问的任何安全技术。
在所示的实施例中,包括第一机群900A中的一个或多个资源930A-E的资源组根据再定位政策进行配置,所示政策在指定条件下授权将至少一资源再定位到第二机群900B。以与上述完全一样的方式,发生再定位的指定条件可根据任何适当的准许进入控制准则进行定义,且再定位资源的目的地可根据任何适当的再定位政策指定,因为本发明不在这方面限制。
在上面所示的例子中,包括资源930A-E的资源组根据授权资源930A再定位到机群900B的再定位政策进行配置。在出现指定条件的情况下,如图7中所示,资源930A被再定位到机群900B。本发明涉及机群间再定位的方面不限于可触发再定位的任何特定条件,因为任何适当的条件均可采用,包括传统上导致资源从一结点再定位到机群内的另一结点的任何类型的条件、或配置资源组的管理员希望触发这样的再定位的任何其它事件。
资源930A的再定位可以任何适当的方式执行。如上所述,根据本发明的一实施例,网络服务接口和协议可用于机群900A和900B之间的通信以帮助资源930A的再定位。然而,应意识到,本发明不在这方面限制,任何适当的通信技术均可用于机群900A和900B之间的通信以帮助再定位。
根据本发明的一实施例,技术以对任何特定可用性监视器采用的通信协议一般的方式用于机群900A和900B之间的通信,使得即使机群由不同厂商提供的可用性监视工具配置和管理,资源也可从一机群再定位到另一机群。在这方面,申请人已意识到,在不同可用性监视器厂商使用不同的标签用于定位因而管理的资源的同时,大多数可用性监视系统具有监视和管理相同或类似类型资源的能力。因而,根据本发明的一实施例,元语言可独立于任何特定厂商使用的语言进行使用,并用于通信以帮助将资源从第一厂商提供的可用性监视器管理的第一机群再定位到第二厂商的可用性监视器管理的第二机群。
根据本发明的一实施例,XML作为元语言用于使能由不同厂商的可用性产品管理的机群之间的通信,及XML语言根据网络服务接口进行使用。可用性监视器产品通常提供用户接口,其使资源组将能被配置,XML(可扩展标记语言)语言可用于以类似的水平进行通信。
在XML(经网络服务)根据本发明的一实施例用作元语言的同时,应意识到,本发明涉及机群间再定位的方面不限于使用XML作为机群间通信的元语言,因为任何适当的语言均可使用。
例如,另一一般语言可用于帮助不同厂商提供的可用性监视产品之间的通信,或当机群均由来自同一厂商的可用性监视产品管理时,专用通信协议可用于帮助从一机群再定位到另一机群。
应意识到,当来自一机群(如图7中的900A)的资源已被移到另一机群(如900B)时,两个机群在至少一些受限的方面可被视为形成较大的元机群,因为两个机群将一起行动以提供由两个机群支持的至少一资源组的可用性。根据本发明的一实施例,两个(或多个)机群可从事元机群通信,其在许多方面与上述的机群级基础结构通信类似,但限于希望确保由两个机群支持的资源组的可用性的通信。根据本发明的一实施例,这样的元机群通信不在根据授权再定位到另一机群的再定位政策配置资源组的基础上启动,而是在资源组被实际上再定位到另一机群从而形成元机群时启动。
还应意识到,资源被从另一机群再定位到其的目的地机群应被提供以结构信息,该信息指示其支持再定位的资源的可用性的所需行为。这样的结构信息可在目的地机群被初始配置时提供给目的地机群(如在上述例子中的机群900B),或在资源被再定位到目的地机群时提供。
在上述讨论中,元机群被描述为被形成以支持一个或多个资源组并包括两个机群。然而,应意识到,本发明涉及机群间再定位和元机群的形成的方面不限于形成包括两个机群的元机群,因为元机群可被形成而包括三个或更多机群。
从上述应意识到,在此描述的本发明的多个方面可相互独立使用,包括涉及网络服务通信的方面、涉及机群间再定位的方面及在资源组中包括虚拟机的方面。然而,还应意识到,在一些实施例中,所有上述特征可一起使用,或者上述特征的任何组合或子集也可在特定实施中一起使用,因为本发明的各方面不在这方面限制。
如上所述,本发明的各方面涉及与用于配置和/或监视机群中的资源组的工具一起使用。在此使用的管理和监视资源组的说法可互换地使用,因为其均指用于执行这些功能的软件工具,包括自动可用性监视器和管理器。如上所述,在此描述的本发明的各方面不限于这样的具有任何特定结构的工具,并可与用于配置和监视资源组的任何工具一起采用。
本发明的上述实施例可以多种方式之任一实施。例如,实施例可使用硬件、软件或其结合实施。当以软件实施时,软件可任何适当的处理器或处理器集合上运行,不管是在单一计算机中提供还是分布在多个计算机之间。应意识到,执行上述功能的任何组成部分或其集合均可一般地被视为控制上述功能的一个或多个控制器。一个或多个控制器可以多种方式实施,如使用专用硬件或通用硬件(如一个或多个处理器),其使用微代码或软件编程以执行上述功能。
应意识到,在此概述的多种方法可被编码为软件,其可在采用多种操作系统或平台之任一的一个或多个处理器上运行。另外,这样的软件可使用多种适当的编程语言和/或传统的编程或脚本工具进行写,且也可被编译为可执行的机器语言代码。在这方面,应意识到,本发明的一实施例致力于计算机可读的介质或多计算机可读的介质(如计算机存储器、一个或多个软盘、光盘、磁带等),其被编码以一个或多个程序,当程序在一个或多个计算机或其它处理器上运行时,执行实施上述本发明的各个实施例的方法。计算机可读介质是可移动的,使得其上保存的程序可被装入一个或多个不同的计算机或其它处理器以实现如上所述的本发明的各方面。
应当理解,术语“程序”在此以一般意义使用,其指可用于编程计算机或其它处理器以实施如上所述的本发明的各方面的任何类型的计算机代码或指令集。另外,应意识到,根据该实施例的一方面,当运行时执行本发明方法的一个或多个计算机程序不必须驻留在单一计算机或处理器上,而是可以模块化方式分布在多个不同的计算机或处理器之间以实施本发明的各方面。
一实施例提供运行计算机系统的方法,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器。多个虚拟机中的每一个包括计算机系统的虚拟表示。该方法包括配置包括多个虚拟机中至少之一的至少一资源组,使得多个虚拟机中至少之一可由监视器监视。另一实施例致力于编码以多个指令的至少一计算机可读介质,所述指令当运行时执行所述方法。
根据另一实施例,至少一计算机被提供以与计算机系统一起使用,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器。多个虚拟机中的每一个包括计算机系统的虚拟表示。至少一计算机包括至少一处理器,其被编程以配置包括多个虚拟机中的至少一个的至少一资源组,使得多个虚拟机中的至少一个可由监视器监视。
另一实施例提供运行计算机系统的方法,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器。多个虚拟机中的每一个包括计算机系统的虚拟表示。该方法包括监视资源组中的多个虚拟机中的至少一个。另一实施例致力于编码以多个指令的至少一计算机可读介质,所述指令当运行时执行所述方法。
根据一实施例,至少一计算机被提供用于运行计算机系统,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器。多个虚拟机中的每一个包括计算机系统的虚拟表示。至少一计算机包括至少一处理器,其被编程以使能监视资源组中的多个虚拟机中的至少一个。
本发明的各个方面可以单独使用、组合使用、或以未在前述实施例中具体讨论的多种方案使用,且在此描述的本发明的各方面的应用不限于前面的描述或图中所示提出的组成部分的细节和排列。本发明的各方面能够有其它实施例,且能以多种方式实施或实现。本发明的各个方面可连同任何类型的网络、机群或配置实施。对网络实施没有任何限制。
因而,前面的描述和附图仅作为例子。
同样,在此使用的措词和术语用于描述的目的,不应被视为限制。“包括”、“具有”、“包含”及其变化形式的使用意味着包括其后列出的项目及其等价物以及另外的项目。
权利要求
1.运行计算机系统的方法,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器,其中多个虚拟机中的每一个包括计算机系统的虚拟表示,该方法包括(A)配置包括多个虚拟机中至少之一的至少一资源组,使得多个虚拟机中至少之一可由监视器监视。
2.根据权利要求1的方法,其中(A)包括定义用于多个虚拟机中至少之一的至少一准则,其定义多个虚拟机中至少之一的首选运行环境。
3.根据权利要求1的方法,其中(A)包括定义用于多个虚拟机中至少之一的再定位政策。
4.根据权利要求1的方法,其中(A)包括定义用于多个虚拟机中至少之一的至少一准则,其定义多个虚拟机中至少之一的所需运行环境。
5.根据权利要求1的方法,其中每一虚拟机包括计算机系统的虚拟表示,其包括计算机系统的硬件和软件能力的虚拟表示。
6.根据权利要求1的方法,其中监视器是自动可用性监视器。
7.根据权利要求6的方法,其中(A)包括配置资源组使得自动可用性监视器能用于增强多个虚拟机中至少之一的可用性。
8.根据权利要求1的方法,其中(A)包括根据定义至少一条件的出现的至少一政策配置资源组,所述条件将触发多个虚拟机中至少之一从多个物理计算机结点中的一结点再定位到多个物理计算机结点中的另一结点。
9.编码以用于运行计算机系统的多个指令的至少一计算机可读介质,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器,其中多个虚拟机中的每一个包括计算机系统的虚拟表示,所述多个指令当运行时执行包括下述步骤的方法(A)配置包括多个虚拟机中至少之一的至少一资源组,使得多个虚拟机中至少之一可由监视器监视。
10.根据权利要求9的至少一计算机可读介质,其中(A)包括定义用于多个虚拟机中至少之一的至少一准则,其定义多个虚拟机中至少之一的首选运行环境。
11.根据权利要求9的至少一计算机可读介质,其中(A)包括定义用于多个虚拟机中至少之一的再定位政策。
12.根据权利要求9的至少一计算机可读介质,其中(A)包括定义用于多个虚拟机中至少之一的至少一准则,其定义多个虚拟机中至少之一的所需运行环境。
13.根据权利要求9的至少一计算机可读介质,其中每一虚拟机包括计算机系统的虚拟表示,其包括计算机系统的硬件和软件能力的虚拟表示。
14.根据权利要求9的至少一计算机可读介质,其中监视器是自动可用性监视器。
15.根据权利要求14的至少一计算机可读介质,其中(A)包括配置资源组使得自动可用性监视器能用于增强多个虚拟机中至少之一的可用性。
16.根据权利要求9的至少一计算机可读介质,其中(A)包括根据定义至少一条件的出现的至少一政策配置资源组,所述条件将触发多个虚拟机中至少之一从多个物理计算机结点中的一结点再定位到多个物理计算机结点中的另一结点。
17.与计算机系统一起使用的至少一计算机,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器,其中多个虚拟机中的每一个包括计算机系统的虚拟表示,该至少一计算机包括至少一处理器,其被编程以配置包括多个虚拟机中至少之一的至少一资源组,使得多个虚拟机中至少之一可由监视器监视。
18.根据权利要求17的至少一计算机,其中至少一处理器被编程以定义用于多个虚拟机中至少之一的至少一准则,其定义多个虚拟机中至少之一的首选运行环境。
19.根据权利要求17的至少一计算机,其中至少一处理器被编程以定义用于多个虚拟机中至少之一的再定位政策。
20.根据权利要求17的至少一计算机,其中至少一处理器被编程以定义用于多个虚拟机中至少之一的至少一准则,其定义多个虚拟机中至少之一的所需运行环境。
21.根据权利要求17的至少一计算机,其中每一虚拟机包括计算机系统的虚拟表示,其包括计算机系统的硬件和软件能力的虚拟表示。
22.根据权利要求17的至少一计算机,其中监视器是自动可用性监视器。
23.根据权利要求22的至少一计算机,其中至少一处理器被编程以配置资源组使得自动可用性监视器能用于增强多个虚拟机中至少之一的可用性。
24.根据权利要求17的至少一计算机,其中至少一处理器被编程以根据定义至少一条件的出现的至少一政策配置资源组,所述条件将触发多个虚拟机中至少之一从多个物理计算机结点中的一结点再定位到多个物理计算机结点中的另一结点。
25.根据权利要求22的至少一计算机,其中至少一处理器被编程以执行自动可用性监视器的至少部分功能。
26.根据权利要求17的至少一计算机,其中至少一处理器布置在多个物理计算机结点中至少之一上。
27.运行计算机系统的方法,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器,其中多个虚拟机中的每一个包括计算机系统的虚拟表示,该方法包括(A)监视资源组中的多个虚拟机的至少一个。
28.根据权利要求27的方法,其中(A)包括根据定义多个虚拟机中至少之一的首选运行环境的至少一准则监视多个虚拟机中的至少一个。
29.根据权利要求27的方法,其中(A)包括根据定义至少一条件的出现的政策监视多个虚拟机中的至少一个,所述条件将触发多个虚拟机中至少之一从多个物理计算机结点中的第一结点再定位到多个物理计算机结点中的第二结点。
30.根据权利要求27的方法,其中(A)包括根据定义多个虚拟机中至少之一的所需运行环境的至少一准则监视多个虚拟机中的至少一个。
31.根据权利要求27的方法,其中每一虚拟机包括计算机系统的虚拟表示,其包括计算机系统的硬件和软件能力的虚拟表示。
32.根据权利要求27的方法,其中监视器是自动可用性监视器。
33.根据权利要求27的方法,还包括在出现至少一条件的基础上将多个虚拟机中的至少一个从多个物理计算机结点的第一结点再定位到多个物理计算机结点的第二结点。
34.根据权利要求27的方法,其中(A)由监视器执行。
35.根据权利要求27的方法,其中(A)包括维持多个虚拟机中至少之一的可用性。
36.编码以运行计算机系统的多个指令的至少一计算机可读介质,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器,其中多个虚拟机中的每一个包括计算机系统的虚拟表示,所述多个指令当运行时执行包括下述步骤的方法(A)监视资源组中的多个虚拟机的至少一个。
37.根据权利要求36的至少一计算机可读介质,其中(A)包括根据定义多个虚拟机中至少之一的首选运行环境的至少一准则监视多个虚拟机中的至少一个。
38.根据权利要求36的至少一计算机可读介质,其中(A)包括根据定义至少一条件的出现的政策监视多个虚拟机中的至少一个,所述条件将触发多个虚拟机中至少之一从多个物理计算机结点中的第一结点再定位到多个物理计算机结点中的第二结点。
39.根据权利要求36的至少一计算机可读介质,其中(A)包括根据定义多个虚拟机中至少之一的所需运行环境的至少一准则监视多个虚拟机中的至少一个。
40.根据权利要求36的至少一计算机可读介质,其中每一虚拟机包括计算机系统的虚拟表示,其包括计算机系统的硬件和软件能力的虚拟表示。
41.根据权利要求36的至少一计算机可读介质,其中监视器是自动可用性监视器。
42.根据权利要求36的至少一计算机可读介质,其中所述方法还包括在出现至少一条件的基础上将多个虚拟机中的至少一个从多个物理计算机结点的第一结点再定位到多个物理计算机结点的第二结点。
43.根据权利要求36的至少一计算机可读介质,其中(A)由监视器执行。
44.根据权利要求36的方法,其中(A)包括维持多个虚拟机中至少之一的可用性。
45.用于运行计算机系统的至少一计算机,所述计算机系统包括多个物理计算机结点、在多个物理计算机结点上运行的多个虚拟机、及监视计算机系统中的资源的监视器,其中多个虚拟机中的每一个包括计算机系统的虚拟表示,所述至少一计算机包括至少一处理器,其被编程以使能监视资源组中的多个虚拟机的至少一个。
46.根据权利要求45的至少一计算机,其中至少一处理器被编程以使能根据定义多个虚拟机中至少之一的首选运行环境的至少一准则监视多个虚拟机中的至少一个。
47.根据权利要求45的至少一计算机,其中至少一处理器被编程以使能根据定义至少一条件的出现的政策监视多个虚拟机中的至少一个,所述条件将触发多个虚拟机中至少之一从多个物理计算机结点中的第一结点再定位到多个物理计算机结点中的第二结点。
48.根据权利要求45的至少一计算机,其中至少一处理器被编程以根据定义多个虚拟机中至少之一的所需运行环境的至少一准则监视多个虚拟机中的至少一个。
49.根据权利要求45的至少一计算机,其中每一虚拟机包括计算机系统的虚拟表示,其包括计算机系统的硬件和软件能力的虚拟表示。
50.根据权利要求45的至少一计算机,其中监视器是自动可用性监视器。
51.根据权利要求45的至少一计算机,其中至少一处理器被编程以在出现至少一条件的基础上将多个虚拟机中的至少一个从多个物理计算机结点的第一结点再定位到多个物理计算机结点的第二结点。
52.根据权利要求45的至少一计算机,其中至少一处理器被编程以维持多个虚拟机中至少之一的可用性。
53.根据权利要求50的至少一计算机,其中至少一处理器被编程以执行自动可用性监视器的至少部分功能。
54.根据权利要求45的至少一计算机,其中至少一处理器布置在多个物理计算机结点中至少之一上。
55.根据权利要求45的至少一计算机,其中至少一处理器被编程以至少执行监视器的部分功能。
全文摘要
在一实施例中公开了配置和/或监视资源组中的虚拟机的方法和装置。在另一实施例中公开了根据授权资源从一机群再定位到另一机群的再定位政策配置和/或监视资源组的方法和装置。在另一实施例中公开了经具有用户接口的资源组工具配置、监视和/或管理资源组的方法和装置,其中用户接口可经网络服务接口访问。在另一实施例中公开了经网络服务接口在控制台和资源组工具中至少一代理之间进行通信的方法和装置。
文档编号G06F9/455GK101040262SQ200580035170
公开日2007年9月19日 申请日期2005年10月13日 优先权日2004年10月15日
发明者斯蒂芬·哈罗德·加勒特 申请人:伊姆西公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1