使用动态启动映像和虚拟盘的计算机集群虚拟化的系统和方法

文档序号:6627220阅读:153来源:国知局
专利名称:使用动态启动映像和虚拟盘的计算机集群虚拟化的系统和方法
技术领域
这一公开内容一般地涉及数据处理领域和,更具体地,涉及用于使用动态启动映像和虚拟磁盘访问的计算机集群虚拟化的系统和方法。
本发明的背景技术典型地,企业应用程序在专用计算资源上执行。企业常常包括各种用于不同应用实例如生产、测试和开发的计算环境。典型地,这些多个计算环境与正在使用着的实例或生产实例具有同样的大小和容量。而且,为了延长时间周期,非生产环境被频繁地闲置。通常这会导致大量的计算资源和用于维护和管理这些不同环境的劳动费用的浪费。
目前,企业可以使用材料供应作为解决这些问题的一种尝试。通常,材料供应是通过从知识库拷贝本地磁盘到该资源来对企业应用程序进行示例性计算资源的处理。然后,该资源通过一个通常占用超过10分钟的处理来启动该材料供应的操作系统和软件。

发明内容
这一公开内容提供了用于包括选择一分布式应用的计算机集群虚拟化的系统和方法。一个与该分布式应用相关的策略被检索。可能根据该策略,多个节点中的一个被动态地选择。然后,至少是部分地根据该检索到的策略,该被选择节点的一启动映像被用于该分布式应用兼容的启动映像的重启动。而后,一个虚拟磁盘映像被相关联于该节点。然后使用相关的虚拟磁盘映像,至少一部分分布式应用在该重启动节点上被执行。
本发明有几个重要的技术优点。例如,本发明的一个可能的优点是,它允许正在处理中的计算节点被重设置以成为用于分布式应用的虚拟集群的一个成员,因此可以将设置时间减少到15秒或更少。本公开内容的另一可能优点是可以在信息技术(IT)硬件和维护成本上减少至少30%。而且,当一个应用没有在高峰处理期间时,那一应用的空闲节点可以被动态地重新分配或重新设置到其它的分布式应用。而且另一可能的优点是,它提供集中容量规划、性能监视和简单化管理。此外,本发明可以容许更好的节点故障的管理。本发明的各种实施例可以不具有、或具有一些或全部的这些优点。本发明的其它技术优点对一个本领域技术人员来说将是相当明显的。
附图的简要说明为了更全面地理解本公开内容和它的优点,现在将与附图结合的标记引入以下描述,其中

图1说明了根据本公开内容的一个实施例的一个提供动态启动的示例性分布式系统;和图2说明了本公开内容的一个实施例的用于动态重启动一个节点的示例性方法。
附图的详细说明图1是一个说明使用动态启动映像131的用于执行软件应用114和各种处理的分布式计算系统100的框图。通常,系统100是一个用于企业或其它分布式应用的可升级的分布式计算环境。系统100提供了一个可升级的容错计算环境,该计算环境能够根据计算需要动态增长,且通过为每个应用114提供它自己的可升级的虚拟集群,它能够同时为多个应用114提供计算资源。例如,系统100可以包括通过网络116连接到一个或多个管理工作站或本地客户机120的服务器102。但是选择性地,系统100可以是一个独立计算环境或其它合适的环境。简言之,系统100是任何能自动地允许在处理过程中被动态分配的节点108作为应用114的需求、参数和需要改变的处理的计算环境。在此使用的术语“动态地”,通常意思是根据一个或多个变量,在运行时间某一处理被确定,至少是部分被确定。在此使用的术语“自动地”,通常意思是实质上由至少是系统100的一部分执行的适当的处理。应当理解,不脱离本公开内容的范围,“自动地”进一步考虑了与系统100相互作用的任何适当的用户或管理员。
服务器102包括任何跨越一个或多个节点108可操作地执行多个应用114的本地计算机或分布式计算机。通常,服务器102包括分布式计算机,比如安装在机架上的服务器、叶片服务器或其它分布式服务器。节点108包括任何计算机或处理装置,比如,例如叶片式、通用个人计算机(PC)、麦金托什机、工作站、基于UNIX的计算机或其它任何适当的装置。通常,图1仅仅提供了一个可以与本公开内容结合使用的计算机或叶片的例子。例如,虽然图1说明了一个可以与本公开内容结合使用的叶片服务器102,但服务器102可以使用除了服务器的计算机以及服务器池来实现。换言之,本公开内容考虑了除了通用计算机的计算机以及没有传统操作系统的计算机。就象本文档所使用的,术语“计算机”是指包含了个人计算机、工作站、网络计算机或任何其它适当的处理设备。服务器102或部件节点108,可以适合于执行任何操作系统,包括Linux、Unix、Windows Server或其它任何适当的操作系统。按照一个实施例,服务器102也可以包括或可通信地连接到远程Web服务器。
示例性服务器102包括可通信地连接到多个节点108且可操作以执行动态启动引擎105的管理节点104。但是可以理解,服务器102和节点108可以不包括所有的示例部分。管理节点104包括至少一个实质上专用于管理服务器102或帮助管理员的叶片或计算设备。例如,管理节点104可以包括两个可热交换的叶片,两个叶片或安装在机架上的服务器中的一个是冗余的(比如主/从配置)。
动态启动引擎105能包括任何硬件、软件、固件或其组合,可操作的以动态分配和管理节点108,且使用节点108的虚拟集群(或应用环境)执行应用114。例如,动态启动引擎105可以用任何合适的计算机语言编写或描述,包括C、C++、Java、Visual Basic、汇编语言和4GL的适当版本以及其它语言和它们的组合。可以理解,当动态启动引擎105在图1中被说明为一个单一的多任务模块时,由该引擎执行的特征和功能可以由多个模块来执行,比如,例如物理层模块、虚拟层模块、工作调度程序和表示引擎。而且,不脱离本公开内容的范围,动态启动引擎105可以是另一软件模块的一个孩子或子模块。因此,动态启动引擎105包括一个或多个软件模块,可操作以根据策略132智能化地管理节点108和应用114。
通常,动态启动引擎105通过启动和停止在单个节点108上的应用环境,管理一个或多个应用114。例如,动态启动引擎105可以根据来自启动映像文件130的不同的启动映像131而重新设置该特别节点108,启动映像文件130具体于希望的应用环境或与希望的应用环境兼容。换言之,动态启动引擎105支持在任何被控制的节点108上动态地启动任何合适的应用环境。因此,动态启动引擎105也可以支持在任何被控制的计算机上为公共IP接口动态地设置IP或MAC地址。动态启动引擎105也可以使用网络启动协议或通过从附属的磁盘存储启动来直接从网络启动任何节点108。动态启动引擎105也可以使用高速网络访问包括了用于任何被控制的计算机的操作系统、服务和应用的虚拟本地磁盘映像。可以理解,动态启动引擎105可以根据日历日期和时间或使用任何其它预先设置的参数来启动或关闭应用环境。
动态启动引擎105也可以支持各种容错和恢复技术。例如,启动引擎105可以通过自动代替和动态地为故障节点108重新启动一个代替节点108而自动地从单一硬件部分故障中恢复服务器102。而且,因为动态启动引擎105能够自动识别新节点108且进行任何的配置、重置或启动,所以安装新节点108可以很容易。
节点108包括任何计算机、叶片或服务器,可操作以执行至少一部分(比如任务或处理)应用114。在高层上,示例性的节点108包括存储器109和处理器110。存储器109可以包括任何存储器或数据库模块,且可以采用易失或非易失存储器的形式,包括但不限于磁媒体、光媒体、随机访问存储器(RAM)、只读存储器(ROM)、可移动媒体或任何其它适当的本地或远程存储器部分。存储器109可以包括各种任何的本地信息。节点108也包括处理器110。处理器110执行指令和操作数据以执行服务器102的操作,比如,例如中央处理单元(CPU)或现场可编程门阵列(FPGA)。虽然图1显示了在每个节点108上的一个单一处理器110,但根据特别需要多个处理器110可以被使用,处理器的标记110意味着包括可应用的多个处理器110。处理器110可以包括启动映像的任何指示器,比如,例如电可擦除可编程只读存储器(EEPROM)111。但可以理解,不脱离本公开内容的范围,节点108可以包括以任何适当的方式配置的任何数量的部件。为了提供本地临时文件空间和虚拟存储器交换空间,节点108也可以包括一个或多个本地硬盘驱动器。
应用114可以包括任何企业或分布式应用,比如,例如数据库管理系统(DBMS)、财务软件和其它。典型地,应用114由用任何适当语言编写和可操作以执行任何数据处理的软件构成。但非传统的应用也在本公开内容的范围内。应用114可以在一个应用环境内运行或在逻辑上为应用执行确定环境的虚拟集群内运行。在一个实施例中,应用环境包括,i)应用环境的名称和描述;ii)节点108的最小/最大数;iii)软件配置信息,比如操作系统软件版本和应用114的软件版本;和iv)每个节点108的硬件配置,比如启动映像、主机名和IP地址、在节点108启动后应用的客户配置、虚拟本地磁盘映像、逻辑文件系统、安装文件系统以及网络配置。但可以理解,任何适当的参数、变量或性能可以被用来帮助动态启动引擎105以定义、定位和处理该应用环境。例如,应用环境也可以包括关于应用114的启动、关闭和正常状态监视的信息。
服务器102可以包括在客户服务器或其它分布式环境中用于与其它计算机系统比如客户机120经网络116通信的接口115。在特定实施例中,服务器102经高速接口115从网络116接收启动映像131、虚拟本地磁盘映像134、策略132或应用数据140以用于存储或处理。通常,接口115包括用软件和/或适当组合的硬件编码的逻辑,且可操作以与网络116通信。更具体地,接口115可以包括支持与通信网络116相关的一个或多个通信协议的软件或可操作以与物理信号通信的硬件。
网络116促进在计算机服务器102和任何其它计算机比如客户机120之间的无线或有线通信。当然,虽然显示地位于服务器102和客户机120之间,但不脱离本公开内容的范围,网络116也可以位于各节点108之间。换言之,网络116包含任何网络、多个网络或子网络,可操作以使各计算部件之间易于通信。例如,网络116可以与Internet协议(IP)包、帧中继帧、异步传输模式(ATM)单元、语音、视频、数据和网络地址间的其它适当信息进行通信。网络116也可以基于任何其它适当的通信协议比如InfiniBand(IB)、吉比特以太网(GB)或FibreChannel(FC)的处理和路由数据包。数据包被典型地用于在应用数据140内传输数据。一个数据包可以包括具有源标识符和目标标识符的报头。源标识符,例如源地址,标识信息的发送者,目标标识符,例如目的地址,标识信息的接收者。网络116可以包括一个或多个局域网(LAN)、无线访问网(RAN)、城域网(MAN)、广域网(WAN)、称为Internet的所有或一部分全球计算机网络和/或在一个或多个位置的其它任何通信系统。
启动表130是任何磁盘区或包含多个启动映像131的网络文件系统。当被显示为远程时,启动映像131可以由动态启动引擎105预加载以简化初始化和安装。启动映像131是任何形式、图像、指示器或至少一部分启动驱动器的主操作系统分区的标记。启动映像131典型地是二进制的形式。启动映像的类型包括来自文件的内核映像、来自块设备或软盘的内核映像或一些操作系统的启动扇区。例如,一个Linux启动映像可以表现为
0x1B031336,0x4,0x90000000,0x90000200,0x4,0x90200,0x800,0x800,0x4,0x10000,0x80000,0x80000,0x04000004,0x100000,0x80000,0x80000可以理解,上述例子中的启动映像131仅是为了举例说明的目的,且它可以不包括、或包括一些或全部的举例说明的元件以及没有显示的其它元件。而且,不脱离本公开内容的范围,启动映像131可以是与上述例子不同的布局或格式。
策略表132包括任何用于管理节点108和应用114的参数。例如,策略132可以用于为应用环境自动地增加或减少节点108。可选择地或可组合地,策略132可以由服务器102使用以解决计算应用114之间的问题。通常,策略表132可以包括一个或多个存储在用SQL语句或脚本形式描述的关联数据库中的表。在另一实施例中,策略表132可以存储或定义各种数据结构,如XML文档、虚拟存储访问方法(VSAM)文件、平面文件、Btrieve文件或逗号分隔值(CSV)文件。策略表132也可以包括多个存储在一个计算机上或跨越多个计算机的表或文件。而且,不脱离本公开内容的范围策略表132可以是本地的或远程的,且可以存储任何类型的适当数据。例如,策略表132可以存储单独的虚拟集群策略,该策略包括i)分配到应用环境的节点的最小/最大数量;ii)分配到该应用的服务器的默认数量;iii)动态地将节点108添加到应用环境的条件;iv)动态地将节点108从该应用环境移除的条件;v)移除节点108(比如关闭网络访问)但留下它进行问题研究的条件;和vi)由于应用114被主动运行一个事务或过程因比节点108不应被移除的条件。
在另一例子中,策略表132可以包括任何数量的中间虚拟集群策略比如优先权、资源共享和抢占策略。典型地,如果有策略冲突,则优先权决定哪个应用环境获得资源。例如,如果一个特定应用环境的优先权更高,它可以获得对节点108的优先访问。资源共享常常是根据应用环境的有限权利。例如,每个应用环境可以被授予节点108的百分比权利。资源共享也可以根据在一个时间的滑动窗口上的计算机的使用。抢占策略可以允许高优先权的应用环境从低优先权的应用环境中接管节点108。
虚拟本地磁盘映像表133是任何磁盘区或包括多个虚拟本地磁盘映像134的网络文件系统。当举例说明为远程时,虚拟本地磁盘映像134可以用操作系统和应用软件预加载以简化初始化和安装。虚拟本地磁盘映像134是任何形式、图像、指示器或用于每个应用的每个虚拟节点的本地磁盘存储标记。典型地虚拟本地磁盘映像134包括操作系统、配置服务和每个应用的虚拟节点的安装应用程序。每个虚拟本地磁盘映像134可以包括多个为了在多个节点间共享而是只读的文件系统或通常是指定到一个应用节点的可修改的文件系统。虚拟本地磁盘映像134可以存储在传统文件系统内的层次型目录中或可以存储在具有提供给该应用节点的网络文件系统接口的可恢复数据库中。
通常,应用数据140可以是任何用于为应用114存储数据的存储器、数据库、存储区网络(SAN)或网络连接存储器(NAS)。应用数据140可以包括一个或多个存储在用SQL语句或脚本描述的关联数据库中的表。在另一实施例中,应用数据140可以存储或定义各种数据结构如XML文档、VSAM文件、平面文件、Btrieve文件或CSV文件。应用数据140也可以包括多个存储在一个计算机上或跨越多个计算机的表或文件。而且,不脱离本公开内容的范围,应用数据14可以是本地的或远程的。
客户机120是任何可操作以通过图形用户接口(GUI)122为用户提供管理屏幕的设备。在高层中,举例说明的客户机120包括至少一个GUI122,且包括一个可操作以接收、传输、处理和存储任何与系统100关联的适当数据的电子计算装置。可以理解,可以有任何数量的客户机120可通信地连接到服务器102。此外,不脱离本公开内容的范围,“客户机120”和“客户机120的用户”可以交替地使用。而且,为了便于说明,每个客户机是按照由一个用户使用来描述的。但本公开内容考虑了许多用户可以用同样的GUI122去使用一个计算机以进行通信命令或显示图形表达。
如本公开内容所使用的,客户机120是指包括个人计算机、触摸屏终端、工作站、网络计算机、公用信息机、无线数据端口、蜂窝电话、个人数字助理(PDA)、在这些或其它设备中的一个或多个处理器或其它任何合适的处理装置。例如,客户机120可以包括如下计算机,该计算机包含了输入设备如键盘、触摸屏、鼠标或其它可以接受信息的设备和将与服务器102或客户机120的操作相关的信息如数字数据、可视信息或GUI122进行转化的输出设备。输入设备和输出设备都可以包括固定或移动存储媒体如磁计算机磁盘、CD-ROM或其它合适的媒体,以通过管理和工作建议显示,即GUI122,从客户机120的用户处接收输入或为客户机120的用户提供输出。
GUI122包括一个可操作的图形用户接口,以允许系统(或网络)管理员与系统100相互作用以监视应用114或系统性能、修改虚拟集群,或任何合适的监督目的。通常,GUI122为客户机120的用户提供有效率的和用户友好的由系统100提供的数据的表示。GUI122可以包括多个具有交互区域、下拉列表和由用户操作的按钮的可定制的帧或视图。在一个实施例中,GUI122提供呈现应用环境或策略屏幕的各种图形视图的显示,并通过一个输入设备接收由客户机120的用户发出的命令。这些图形视图可以包括i)应用环境、节点资源和被监视的负载的当前状态的图形表示;ii)应用环境和节点负载以及使用时间的图形表示;iii)向导;和iv)应用114运行在每个应用环境内和每个节点108上的视图。简言之,GUI122可以表现为系统管理员呈现节点108的任何物理和逻辑状态或特征,并从管理员处接收各种命令。
在一个实施例中,GUI122可以允许管理员创建、删除、拷贝和修改应用环境。使用GUI122,管理员也可以安装应用环境共享策略、激活和无效应用环境、监视应用环境和节点108状态和负载。此外,GUI122可以允许从主动应用环境增加或减少节点108。GUI122也可以根据各种系统100特征,比如,例如在节点108上或应用环境内的可配置负载标准被达到、一个节点108成为不可获得、启动或停止应用环境、从应用环境中增加或减少节点108、服务器102不能满足最低应用环境需求、或服务需求(比如事务响应时间)的标准被超过,而发出警报给管理员。
应当理解,术语图形用户接口可以被用在单数或多数中以描述一个或多个图形用户接口和每个特别的图形用户接口的显示。因此,GUI122考虑了任何处理系统100中的信息并高效地将结果呈现给用户的图形用户接口,比如通用网络浏览器。GUI122也考虑了可操作以经SSL-HTTPS通信的安全浏览器。服务器102可以经网络浏览器(例如,Microsoft Internet Explorer或Netscape Navigator)接收来自客户机120的数据并通过网络116返回合适的HTML或XML响应。
在操作的一个方面中,动态启动引擎105选择一个分布式应用114。根据一个或多个相关的策略132,动态启动引擎105可以从特别应用环境或虚拟集群中动态地增加或减少一个或多个选择的节点108。根据检索的策略132,动态启动引擎105为选择的节点108选择合适的启动映像132。例如,如果已有4个节点108执行一部分应用114,那么动态启动引擎105自动地选择与应用114兼容的第5个启动映像132(至少是部分根据节点108的硬件和其它特征以及一个或多个策略132)。根据检索的策略132,动态启动引擎105也可以为选择的节点108选择合适的虚拟本地磁盘映像134。一旦合适的启动映像132和/或虚拟本地磁盘映像134被选择,动态启动引擎105用选择的启动映像132和虚拟本地磁盘映像134的指针或其它标记闪现(flash)节点108,并重启节点108。一旦节点108被初始化(通常小于15秒),动态启动引擎105(或一些其它工作调度程序)就执行合适的任务、过程或在选择的节点108上的其它部分的应用114。
图2是说明在本公开内容的一个实施例中用于动态启动节点108的示例性方法200的流程图。图2举例说明了方法200,该方法一般地描述了将多个节点108中的一个动态分配到虚拟集群或应用环境中。当然,任何数量的节点108可以在本公开内容范围内,进行连接或并发地进行重置、重启或进行其它分配。在高层中,方法200包括选择节点108以分配到应用环境114、重新设置选择的节点108的启动映像132以及重启动节点108。以下集中描述在方法200中执行的动态启动引擎105的操作。但系统100考虑了使用实现一些或所有所描述功能的逻辑元件的任何合适的组合和排列。
方法200从步骤205开始,在那里,动态启动引擎105确定应用环境114应当分配更多的节点108。这一确定可以使用任何适当的技术实现。例如,管理员可以手动地将节点108增加到应用114的应用环境中。在另一例子中,动态启动引擎105可以根据策略132动态地确定节点108可以或应当被使用。接下来,在步骤210,动态启动引擎105确定是否存在可用的计算节点108没有被利用。如果存在可利用的多个节点108,那么在步骤215动态启动引擎105使用任何合适的技术选择第一个可以利用的计算节点108。例如,动态启动引擎105可以根据物理位置、虚拟位置、应用114的兼容性、处理器速度或任何其它合适的特征选择节点108。在判断步骤220,动态启动引擎105确定被选择的节点是否与应用114兼容。如果节点108不与应用114兼容,那么动态启动引擎105在步骤225中可以使用任何合适的技术移除所选择的节点。接着,在步骤230,动态启动引擎105根据软件应用114动态地选择策略132。例如,动态启动引擎105可以确定三个节点108同时执行软件应用114。根据这一确定,动态启动引擎105在策略132中定位第4个逻辑节点108。根据选择的策略132,在步骤235中,动态启动引擎105用指向新启动映像131的指针闪现(flash)被选择的节点,并在步骤237中将虚拟本地磁盘映像134与其关联。如上所述,动态启动引擎105可以闪现EEPROM111或其它任何合适的部件。接着,在步骤240,动态启动引擎105使用新启动映像131启动被选择的节点108。一旦节点108被重新启动(或如果节点已与应用114兼容),那么在步骤245中动态启动引擎105在选择的节点108上执行应用114,方法200结束。
返回到判断步骤210,如果没有可用的计算节点108,那么在步骤250,动态启动引擎105为应用114选择一个最适宜的已被使用的节点108。最适宜的节点108的选择或以用任何适当的方式进行,例如确定最少被使用的节点108、选择一个兼容节点108或确定一些其它“最优”。在步骤255,动态启动引擎105中止在选择的节点108上的当前进程。动态启动引擎105可以使用任何适当技术如执行一个特定应用命令、使用操作系统终止进程和其它技术来终止进程。在判断步骤260,动态启动引擎105确定被选择的节点108是否与应用114兼容。如果节点108与应用114不兼容,那么在步骤265动态启动引擎105使用任何适当的技术移除被选择的节点。接着,在步骤270,动态启动引擎105根据软件应用114动态地选择策略132。例如,动态启动引擎105可以确定三个节点108同时执行软件应用114。根据这一确定,动态启动引擎105在策略132中定位第4个逻辑节点108。根据选择的策略132,在步骤275中,动态启动引擎105用指向新启动映像131的指针闪现(flash)被选择的节点,并在步骤277中将虚拟本地磁盘映像134与其关联。如上所述,资源管理引擎可以闪现EEPROM111或其它任何合适的部件。接着,在步骤280,动态启动引擎105使用新启动映像131和虚拟本地磁盘映像134启动被选择的节点108。一旦节点108被重新启动(或如果节点已与应用114兼容),那么在步骤285中动态启动引擎105在选择的节点108上执行应用114,方法200结束。
前述的流程图和相关的描述只是举例说明示例方法200。为了执行这些或其它任务,系统100考虑了使用任何用于执行这些或其他任务的适当的技术。因此,该流程图中的许多步骤可以同时发生和/或以与显示的顺序不同的顺序发生。而且,系统100可以使用增加了步骤、更少的步骤和/或不同步骤的方法,只要这些方法是适当的。
虽然本公开内容已根据某一实施例和通常关联的方法进行了描述,这些实施例和方法的改变和置换对本领域技术人员来说是显然的。因此,上述示例性实施例的描述没有限定或限制本公开内容。在不脱离本公开内容的精神和范围的前提下,其它变化、替换和改变也是可以的。
权利要求
1.用于计算机集群虚拟化的方法包括选择一分布式应用;检索与该分布式应用相关联的一策略;动态地选择多个节点中的一个;至少是部分根据检索到的策略,重新设置被选择节点的启动映像,该启动映像与该分布式应用相兼容;和至少是部分根据检索到的策略,将一虚拟磁盘映像与该选择的节点相关联;和使用该关联的虚拟磁盘映像在重新设置的节点上执行至少一部分该分布式应用。
2.如权利要求1的方法,该应用在多个节点的子集上执行,且该方法进一步包括将节点的子集与检索的策略相比较;和根据该比较选择多个兼容启动映像中的一个。
3.如权利要求2的方法,其中将节点的子集与检索的策略相比较包括确定子集中的节点数;和根据该策略和该节点数之间的联系选择该启动映像。
4.如权利要求2的方法,节点子集的每一个与多个兼容启动映像中的一个相关联。
5.如权利要求1的方法,其中动态地选择多个节点中的一个包括确定该多个节点中的一个或多个是否没有被第二分布式应用使用;和响应于至少一个没有被使用的节点,选择一个没有被使用的节点。
6.如权利要求5的方法,响应于没有节点没有被使用,进一步包括根据下述内容的一个或多个选择一个由第二分布式应用使用的节点该检索策略;所选择的节点的低使用率;所选择的分布式应用的优先权;和所选择的节点与所选择的分布式应用的兼容性。
7.如权利要求6的方法,其中重新设置被选择节点的启动映像包括自动地关闭所选择的节点;重新设置被选择节点的启动映像;和使用该重新设置的启动映像重新启动该选择的节点。
8.如权利要求7的方法,进一步包括在关闭该节点前终止与该第二分布式应用相关联的任何进程。
9.如权利要求1的方法,该策略包括多个与启动映像的联系,每个联系与和该分布式应用兼容的一个节点数相关联。
10.如权利要求1的方法,该策略包括一个或多个用于确定节点的选择定时的参数。
11.如权利要求1的方法,该启动映像包括一个存储在存储区网络(SAN)中的远程启动映像。
12.如权利要求1的方法,在重置前该节点与第一启动映像相关联,并且由于该重置与第二启动映像相关联,第一和第二启动映像在以下至少一个特征上有区别操作系统;系统配置;和分布式应用参数。
13.如权利要求1的方法,进一步包括确定多个故障节点中的一个,该故障节点执行至少一部分被选择的分布式应用;和其中选择多个节点中的一个包括响应于该故障而选择一个保留节点。
14.如权利要求1的方法,多个节点中的每一个包括相同的处理器体系结构。
15.如权利要求1的方法,其中选择多个节点中的一个包括在一个预先确定的时间选择多个节点中的一个。
16.用于计算机集群虚拟化的软件可操作以选择一分布式应用;检索一与该分布式应用相关联的一策略;动态地选择多个节点中的一个;至少是部分根据检索到的策略,重新设置被选择节点的启动映像,该启动映像与该分布式应用相兼容;和至少是部分根据检索到的策略,将一虚拟磁盘映像与该选择的节点相关联;和使用该关联的虚拟磁盘映像在重新设置的节点上执行至少一部分该分布式应用。
17.如权利要求16的软件,该应用在多个节点的子集上执行,且该软件进一步可操作以将节点的子集与检索的策略相比较;和根据该比较选择多个兼容启动映像中的一个。
18.如权利要求17的软件,其中该软件可操作以将节点的子集与检索的策略相比较,包括软件可操作以确定子集中的节点数;和根据该策略和该节点数之间的联系选择该启动映像。
19.如权利要求17的软件,节点子集的每一个与多个兼容启动映像中的一个相关联。
20.如权利要求16的软件,其中该软件可操作以动态地选择多个节点中的一个,包括软件可操作以确定该多个节点中的一个或多个是否没有被第二分布式应用使用;和响应于至少一个没有被使用的节点,选择一个没有被使用的节点。
21.如权利要求20的软件,响应于没有节点没有被使用,进一步可操作以根据下述内容的一个或多个选择一个由第二分布式应用使用的节点该检索策略;所选择的节点的低使用率;所选择的分布式应用的优先权;和所选择的节点与所选择的分布式应用的兼容性。
22.如权利要求21的软件,其中该软件可操作以重新设置被选择节点的启动映像,包括软件可操作以自动地关闭所选择的节点;重新设置被选择节点的启动映像;和使用该重新设置的启动映像重新启动该选择的节点。
23.如权利要求22的软件,进一步可操作以在关闭该节点前终止与该第二分布式应用相关联的任何进程。
24.如权利要求16的软件,该策略包括多个与启动映像的联系,每个联系与和该分布式应用兼容的一个节点数相关联。
25.如权利要求16的软件,该策略包括一个或多个用于确定节点的选择定时的参数。
26.如权利要求16的软件,该启动映像包括一个存储在存储区网络(SAN)中的远程启动映像。
27.如权利要求16的软件,在重置前该节点与第一启动映像相关联,并且由于该重置与第二启动映像相关联,第一和第二启动映像在以下至少一个特征上有区别操作系统;系统配置;和分布式应用参数。
28.如权利要求16的软件,进一步可操作以确定多个故障节点中的一个,该故障节点执行至少一部分被选择的分布式应用;和其中该软件可操作以选择多个节点中的一个包括响应于该故障而选择一个保留节点。
29.如权利要求16的软件,多个节点中的每一个包括相同的处理器体系结构。
30.如权利要求16的软件,其中该软件可操作以选择多个节点中的一个包括软件可操作以在一个预先确定的时间选择多个节点中的一个。
31.用于计算机集群虚拟化的系统包括多个计算节点;和一管理节点可操作以选择一分布式应用;检索与该分布式应用相关联的一策略;动态地选择多个节点中的一个;至少是部分根据检索到的策略,重新设置被选择节点的启动映像,该启动映像与该分布式应用相兼容;和至少是部分根据检索到的策略,将一虚拟磁盘映像与该选择的节点相关联;和使用该关联的虚拟磁盘映像在重新设置的节点上执行至少一部分该分布式应用。
32.如权利要求31的系统,该应用在多个节点的子集上执行,且该管理节点进一步可操作以将节点的子集与检索的策略相比较;和根据该比较选择多个兼容启动映像中的一个。
33.如权利要求32的系统,其中该管理节点可操作以将节点的子集与检索的策略相比较,包括该管理节点可操作以确定子集中的节点数;和根据该策略和该节点数之间的联系选择该启动映像。
34.如权利要求32的系统,节点子集的每一个与多个兼容启动映像中的一个相关联。
35.如权利要求31的系统,其中该管理节点可操作以动态地选择多个节点中的一个,包括该管理节点可操作以确定该多个节点中的一个或多个是否没有被第二分布式应用使用;和响应于至少一个没有被使用的节点,选择一个没有被使用的节点。
36.如权利要求35的系统,响应于没有节点没有被使用,根据下述内容的一个或多个选择一个由第二分布式应用使用的节点该检索策略;所选择的节点的低使用率;所选择的分布式应用的优先权;和所选择的节点与所选择的分布式应用的兼容性。
37.如权利要求36的系统,其中该管理节点可操作以重新设置被选择节点的启动映像,包括该管理节点可操作以自动地关闭所选择的节点;重新设置被选择节点的启动映像;和使用该重新设置的启动映像重新启动该选择的节点。
38.如权利要求37的系统,该管理节点进一步可操作以在关闭该节点前终止与该第二分布式应用相关联的任何进程。
39.如权利要求31的系统,该策略包括多个与启动映像的联系,每个联系与和该分布式应用兼容的一个节点数相关联。
40.如权利要求31的系统,该策略包括一个或多个用于确定节点的选择定时的参数。
41.如权利要求31的系统,该启动映像包括一个存储在存储区网络(SAN)中的远程启动映像。
42.如权利要求31的系统,在重置前该节点与第一启动映像相关联,并且由于该重置与第二启动映像相关联,第一和第二启动映像在以下至少一个特征上有区别操作系统;系统配置;和分布式应用参数。
43.如权利要求31的系统,该管理节点进一步可操作以确定多个故障节点中的一个,该故障节点执行至少一部分被选择的分布式应用;和其中该管理节点可操作以选择多个节点中的一个包括该管理节点可操作以响应于该故障而选择一个保留节点。
44.如权利要求31的系统,多个节点中的每一个包括相同的处理器体系结构。
45.如权利要求31的系统,其中该管理节点可操作以选择多个节点中的一个包括该管理节点可操作以在一个预先确定的时间选择多个节点中的一个。
全文摘要
一种用于计算机集群虚拟化的方法包括选择一分布式应用。一个与该分布式应用相关联的策略被检索。多个节点中的一个被动态地选择。然后,至少部分根据该检索到的策略,该被选择的节点的启动映像被用于与该分布式应用兼容的启动映像的重新设置。然后,将一虚拟磁盘映像与该节点相关联。然后使用该相关联的虚拟磁盘映像,至少一部分该分布式应用在该重新设置的节点上被执行。
文档编号G06F12/00GK1700178SQ200510081719
公开日2005年11月23日 申请日期2005年4月15日 优先权日2004年4月15日
发明者S·V·戴维森, R·J·彼得森 申请人:雷西昂公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1