一种虚拟计算机集群及其实施方法

文档序号:7750869阅读:232来源:国知局
专利名称:一种虚拟计算机集群及其实施方法
技术领域
本发明涉及计算系统虚拟化技术领域,尤其指一种虚拟计算机集群及其实施方法。
背景技术
计算系统的虚拟化(Virtualization)包含多层含义,它可以指多物理资源的单一逻辑表示,如存储系统的虚拟化;或多个逻辑资源共用同一个物理资源,如服务器虚拟化。当前服务器虚拟化技术是虚拟化技术应用的一个重要领域,各种支撑平台不断出现,它能够在单一的物理计算机/服务器上同时运行多个操作系统,多个用户通过远程登录到不同的虚拟操作系统上就像独自拥有一台计算机(虚拟机)一样。服务器虚拟化技术出现了多种支撑平台,如VMware、XEN、KVM、Virtual Box等,它们在各种领域得到了广泛应用。 服务器虚拟化技术主要包括全虚拟化技术和半虚拟化技术,其中半虚拟化技术需要和硬件相结合(如CPU支持VT-x技术),而全虚拟化则完全脱离硬件约束运行在宿主操作系统之上。服务器虚拟化技术是计算机技术领域的一场重大的革命,它将极大地提高硬件利用效率、降低企业的硬件实施成本。云计算是虚拟化、效用计算(Utility Computing)、IaaS (基础设施即服务)、 PaaS(平台即服务)、SaaS(软件即服务)等概念混合演进并跃升的结果。云计算表述了一种新的计算模式应用、数据和IT资源以服务的方式通过网络提供给用户使用。云计算机在国外发展迅速,Amazon、Google、IBM、Microsoft和Yahoo等公司是云计算的先行者,云计算领域的众多成功公司还包括Salesforce、Facebook、Youtube, Myspace等。虚拟化是云计算技术的支柱,无论是在“公有云”(如Amazon的EC2)、“私有云”或“混合云”的建设过程中,虚拟计算机技术均被广泛采用。云计算技术为虚拟化技术的稳定性、可扩展性、安全性等提出了更高的需求。由于单一物理机的硬件资源有限,虚拟机的性能无法超越宿主物理机;此外由于虚拟化方式(全虚拟化/半虚拟化)的约束,虚拟机也无法取得效率的最大化。当前计算机虚拟化领域缺乏一种有效的单一虚拟资源的扩展方法以支持用户对计算系统的计算资源、 存储资源、安全以及稳定性有特殊需求的场合。

发明内容
本发明解决的技术问题在于提供一种虚拟计算机集群,可解决当前虚拟化计算系统硬件资源有限、性能无法超越宿主物理机等不足。本发明解决的技术问题之二在于提供一种虚拟计算机集群的实施方法;具有低成本、高效率、强鲁棒性、易扩展性和高可靠性等特点。本发明解决上述技术问题之一的技术方案是包括有前端机和若干集群节点,所述前端机为虚拟机或物理机;所述的集群节点为虚拟机节点或物理机节点;前端机与集群节点及集群节点之间通过物理或虚拟网卡连接。所述的前端机与虚拟机节点位于同一台宿主物理机上。所述的集群节点为位于不同物理机上的虚拟机节点。
所述的集群节点为虚拟机节点和物理机节点。本发明解决上述技术问题之二的技术方案是包括有应用服务模块、集群控制器、节点控制器等组成部分;所述的应用服务模块运行在应用服务器上,用于接收虚拟计算计集群用户请求, 并调度虚拟计算机集群;所述的集群控制器运行在前端机上,负责管理、监控、调度整个虚拟计算机集群, 作为虚拟计算机集群面对用户应用的直接入口;所述的节点控制器运行在集群节点上,用于接受集群控制器的调度请求,定时报告节点状态信息,以及完成与本机软硬件系统的交互;所述的集群从接收用户请求到返回集处理结果的流程如下(1)用户请求被应用客户端或浏览器获取,首先被传送到应用服务模块,应用服务模块将用户请求转化为集群作业的形式发送到集群控制器;(2)集群控制器解析应用服务模块发送的集群作业,将作业进行分解或直接发送到不同的节点控制器;(3)节点控制器接受集群控制器发送的子作业请求,分别在各集群节点完成对应的子作业;(4)节点控制器将子作业的处理结果返回给集群控制器,集群控制器将作业结果进行合成后返回给应用服务模块;或者,节点控制器将处理结果直接返回给应用服务模块; 最后由应用服务模块将结果返回给最终用户。还包括有存储控制器,用于支持集群节点间数据的共享,实现集群的协同处理需求;如果需要使用网络存储,集群控制器将存储请求发送到存储控制器;如果节点控制器需要使用网络存储,由存储控制器获得访问许可,然后对网络存储进行读写操作。还包括有多集群控制器,所述的多集群控制器通过将多个虚拟计算机集群进行有效的连结,从而构建拥有多个虚拟计算机集群的应用平台;多集群控制器管理多个虚拟计算机集群,采用资源元数据的模式,管理注册的虚拟计算机集群;多集群控制器可以将多个虚拟计算机集群进行整合,从而构建一个拥有更多集群节点的虚拟计算机集群。所述的节点控制器通过调用本地节点监控模块,获取节点的CPU、内存、网络的使用状态,并定时向集群控制器发送相关信息;集群控制器以该信息作为心跳信号,确定集群节点是否可用;对于不可用的节点, 集群控制器通过尝试重启节点,以实现节点的故障恢复。所述的集群节点之间采用局域网方式互联;即物理宿主服务器通过局域网连通, 设置一块物理网卡共用同一个局域网网关,实现节点间通信。所述的集群节点之间采用广域网方式互联;各集群节点通过外部IP实现连通,通
6过将虚拟的内部IP地址映射到外部IP端口进行关联,并实现网络连通。所述的集群节点之间采用虚拟专用网方式互联;在虚拟计算机节点较为集中的局域网内搭建VPN服务器,位于广域网的其它虚拟计算机节点通过VPN连接客户端连入VPN 网络,实现与其它虚拟计算机节点的互联互通。本发明的虚拟计算机集群及实施方法具有以下效果及优点1、低成本传统的计算机集群系统需要以物理服务器作为主体进行连结构建集群。物理服物器价格昂贵,本发明使用虚拟机作为构建集群的主体,实施成本将大在地降低。2、高效率传统的集群系统物理服务器的空闲时间无法进行资源重新利用和分配,而虚拟计算机集群系统与物理服务器间是松耦合关系,可以根据实际需要,动态地进行调整,从而极大地提高资源地利用效率。3、强鲁棒性本发明基于虚拟化技术和集群技术实现虚拟计算机集群的构建。构建方法没有涉及对单一虚拟机工作机制的修改,保证了虚拟机的独立性。该方法在虚拟机层之上构建了虚拟计算机集群的管理系统,并由该系统对虚拟机进行监控和任务协调,使虚拟计算机集群系统像物理计算机集群一样工作,保证了集群的强鲁棒性。4、易扩展性传统的物理计算机集群方式,需要通过增加物理设备来实现集群的扩展,受集群节点的硬件配置约束很大。本方法中虚拟计算机集群管理系统可以将虚拟机与物理机以统一的方式加以管理,可以根据需要加入虚拟机或物理机;并能够快速对集群结点统一进行重新配置,如扩大内存、提高CPU核心数、硬盘容量等,使集群系统可以方便地加以扩展。5、高可靠性本方法构建的虚拟计算机集群系统是对传统物理计算机集群构建方法的有力补充,相对于传统的集群构建方法,虚拟计算机集群构建同时受虚拟化、云计算等相关技术的支持,如虚拟机动态迁移、镜像存取等,从而有了更高的可靠性保证。同时虚拟计算机集群中,可以灵活地使用虚拟机作为集群前端机、数据节点的热备份节点、冗余计算节点以提高系统的整体可靠性。


下面结合附图对本发明进一步说明图1为本发明虚拟计算机集群构成图;图2为本发明虚拟计算机集群网络连结示意图;图3为本发明单物理机虚拟计算机集群构成图;图4为本发明多物理机虚拟计算机集群构成图;图5为本发明混合型虚拟计算机集群构成图;图6为本发明虚拟计算机集群软件构成图;图7为本发明虚拟计算机集群网络连结方式示意图。
具体实施例方式如图1所示,本发明虚拟计算机集群可以分为两个主体部分即前端机1和集群节点2,集群节点2中的节点可以是虚拟机节点(V1、V2 ",VN)也可以是物理节点(Ρ1、Ρ2、 PN),即集群节点由(VI,-,Vi, Pl,…,Pj)组成。前端机1可以是运行在其它宿主机上的虚拟机也可以是实际的物理机;具体实施方式
视前端机的实际工作负荷而定。如图2所示,无论是物理机或虚拟机,每个集群节点2要求至少要有两块物理或虚拟网卡用于两个或多个独立网络,以避免单点故障。其中一个网络适配器用于连接到公用网络,而另一个则用于连接到仅由群集节点组成的内部专用网络。每个虚拟集群节点的两块虚拟网卡,分别共享两个物理网卡的一块。通过设置与物理与虚拟节点互联,从而实现虚拟计算机集群的连结。见图3所示,是本发明单物理机虚拟计算集群方案结构图;单物理机虚拟计算机集群的前端机和虚拟计算机节点全部位于同一台宿主物理机上。各虚拟计算机节点位于同一虚拟局域网内。前端机1与虚拟机节点通过虚拟局域网络进行互联。作为前端机1的虚拟机接受外部用户应用的调度请求,并分发给不同的虚拟机节点。该种实施方式较为适合物理资源短缺,又需要并行化的方式处理数据的应用。采用该种方式,可以最大程度地利用单机物理机的计算能力,提高CPU的使用率。见图4所示,是本发明多物理机虚拟计算集群方案结构图,本实施例所有虚拟计算机集群节点全部由虚拟计算机组成,但是允许虚拟计算机结点位于不同的物理机上。在虚拟计算机集群实际应用中,也很难做到将一台物理服务器单独划分出来构建一个虚拟计算机集群。本方案中前端机仍采用虚拟计算机或物理计算机,各虚拟计算机节点位于不同的物理服务器上。通过手工配置虚拟网桥及虚拟网卡的IP地址,使各集群节点位于同一局域网络内。该方法能够支持较为灵活地搭建虚拟计算机集群。见图5所示,是本发明混合型虚拟计算机集群方案结构图;本实施例的虚拟计算机集群节点可以是物理计算机也可以是虚拟计算机。采用本方式的场合,一般以虚拟机作为物理机的有效扩展或数据冗余节点,以提高数系统的安全性及稳定性。从实施层面上看, 集群管理模块并不需要区分物理机或虚拟机,而是将两者等同其来进行管理。该方法也非常有利于全部由物理计算机构成的集群或全部由虚拟计算机构成的集群的扩展。前述的虚拟计算机集群实施过程中通过在前端机1安装集群管理软件,在各节点安装节点监控程序来构建虚拟计算机集群的软件系统。前端机1负责集群节点管理、调度, 它通过集群客户端程序接受作业请求,将用户请求分配到不同的集群节点,集群节点通过协同或分别完成请求,直接返回或交由前端机合成后将结果返回给用户。如图6所示,虚拟计算机集群软件系统主要包括以下组成部份应用服务模块、多集群控制器、集群控制器、 节点控制器、存储控制器等组成部分。1、应用服务模块应用服务模块运行在应用服务器上,如Web应用服务器、灾备服务器等;它是虚拟计算计集群用户请求的接收者,以及虚拟计算机集群的调度者。集群处理请求由应用服务模块发起,传送给集群控制器;集群处理结果由集群控制器返回给应用服务模块,并由应用服务模块返回给用户。
2、集群控制器集群控制器运行在集群前端机上,负责管理、监控、调度整个虚拟计算机集群,它是虚拟计算机集群面对用户应用的直接入口。前端机接到用户请求后,将用户应用进行分解或直接分派到不同的集群节点,经各节点处理后由前端机汇总或由节点直接返回给用户。3、节点控制器节点控制器运行在集群节点上,用于接受集群控制模块的调度请求,定时报告节点状态信息,以及完成与本机软硬件系统的交互。节点控制器通过调用本地节点监控模块, 获取节点的CPU、内存、网络的使用状态,并定时向集群控制器发送相关信息。集群控制模块以该信息作为心跳信号,确定虚拟计算机节点或物理计算机节点是否可用。对于不可用的节点,集群控制模块通过尝试重启节点,以实现节点的故障恢复。4、存储控制器为了支持集群节点间数据的共享,从而实现集群的协同处理需求。虚拟计算机集群可以外接存储管理模块,通过安装集群存储管理模块,将虚拟机以及物理机的存储资源有效的集中,供虚拟集群使用。虚拟存储管理模块利用NFS或ISCCI协议,将各分布的存储空间进行整合,以网络文件系统的方式提供给集群使用。5、多集群控制器多集群控制器通过将多个虚拟计算机集群进行有效的连结,从而构建拥有多个虚拟计算机集群的应用平台。多集群控制器管理多个虚拟计算机集群,采用资源元数据的模式,管理注册的虚拟计算机集群。多集群控制器可以将多个虚拟计算机集群进行整合,从而构建一个拥有更多集群节点的虚拟计算机集群。虚拟计算机集群从接收用户请求,到返回集处理结果的顺序如下(1)用户请求被应用客户端或浏览器获取,首先被传送到应用服务模块,应用服务模块将用户请求转化为集群作业的形式发送到集群控制器;(2)集群控制器解析应用服务模块发送的集群作业,将作业进行分解发送到不同的节点控制器;如果需要使用网络存储,集群控制器将存储请求发送到存储控制器;(3)节点控制器接受集群控制器发送的子作业请求,分别在各虚拟计算机结点完成对应的子作业;如果节点控制器需要使用网络存储,由存储控制器获得访问许可,然后对网络存储进行读写操作。(4)节点控制器将子作业的处理结果返回给集群控制器,集群控制器将作业结果进行合成后返回给应用服务模块。最后由应用服务模块将结果返回给最终用户。—般情况下,计算机集群通过高速光纤联结物理结点实现节点间的互联,以提高系统的整体性能。虚拟机节点有着更加复杂的实施环境,为了增强可扩展性。虚拟计算机集群的宿主物理节点间可以通过局域网、广域网或虚拟专用网的方式连结起来。无论何种方法,都需要保证虚拟计算集群构建所需的虚拟网络有效的数据连通,包括开放防火墙端口, 实现有效的地址映射。1、局域网方法局域网是虚拟计算机集群实现节点互联所采用的最简单的方法。采用该方法,物理宿主服务器通过局域网连通,设置一块物理网卡共用同一个局域网网关,实现节点间通信。物理服务器间的实际有效带宽必须满足集群节点日常工作的需要,从而保障整个虚拟计算机集群的性能。2、广域网方法广域网也可以用来实现虚拟计算机集群节点的互联互通,各集群节点通过外部IP 实现连通,通过将虚拟的内部IP地址映射到外部IP端口进行关联,并实现网络连通。该方法受限于广域网络的网络带宽,数据传输的效率要低于局域网的方法,主要用于网络传输的实时性要求不高的数据冗余远程备份集群、Web服务集群的构建。3、虚拟专用网方法虚拟专用网(VPN)方法也可以用来支持虚拟计算机集群的构建。VPN方法可以基于企业局域网构建虚拟专用网,实现虚拟计算机集群节点、前端机间的互联互通,从而保障虚拟计算机集群的数据安全。VPN方法也可以用于广域网虚拟计算机集群的互连互通,该方法在虚拟计算节点较为集中的局域网内搭建VPN服务器,位于广域网的其它虚拟计算机节点通过VPN连接客户端连入VPN网络,实现与其它虚拟计算机节点的互联互通。VPN方法较广域网方法能够最大程度保障数据安全、提高资源效率。VPN方法需要专用的VPN服务器实施成本及灵活性要低于广域网的方法。本发明采用了服务器虚拟化技术,作为前端机的计算机节点负责监控及管理整个虚拟计算机集群,其基本配置如下表所示。
权利要求
1.一种虚拟计算机集群,其特征在于包括有前端机和若干集群节点,所述前端机为虚拟机或物理机;所述的集群节点为虚拟机节点或物理机节点;前端机与集群节点及集群节点之间通过物理或虚拟网卡连接。
2.根据权利要求1所述的虚拟计算机集群,其特征在于所述的前端机与虚拟机节点位于同一台宿主物理机上。
3.根据权利要求1所述的虚拟计算机集群,其特征在于所述的集群节点为位于不同物理机上的虚拟机节点。
4.根据权利要求1所述的虚拟计算机集群,其特征在于所述的集群节点为虚拟机节点和物理机节点。
5.一种权利要求1所述的虚拟计算机集群的实施方法,其特征在于包括有应用服务模块、集群控制器、节点控制器等组成部分;所述的应用服务模块运行在应用服务器上,用于接收虚拟计算计集群用户请求,并调度虚拟计算机集群;所述的集群控制器运行在前端机上,负责管理、监控、调度整个虚拟计算机集群,作为虚拟计算机集群面对用户应用的直接入口;所述的节点控制器运行在集群节点上,用于接受集群控制器的调度请求,定时报告节点状态信息,以及完成与本机软硬件系统的交互;所述的集群从接收用户请求到返回集处理结果的流程如下(1)用户请求被应用客户端或浏览器获取,首先被传送到应用服务模块,应用服务模块将用户请求转化为集群作业的形式发送到集群控制器;(2)集群控制器解析应用服务模块发送的集群作业,将作业进行分解或直接发送到不同的节点控制器;(3)节点控制器接受集群控制器发送的子作业请求,分别在各集群节点完成对应的子作业;(4)节点控制器将子作业的处理结果返回给集群控制器,集群控制器将作业结果进行合成后返回给应用服务模块;或者,节点控制器将处理结果直接返回给应用服务模块;最后由应用服务模块将结果返回给最终用户。
6.根据权利要求5所述的实施方法,其特征在于还包括有存储控制器,用于支持集群节点间数据的共享,实现集群的协同处理需求;如果需要使用网络存储,集群控制器将存储请求发送到存储控制器;如果节点控制器需要使用网络存储,由存储控制器获得访问许可,然后对网络存储进行读写操作。
7.根据权利要求5或6所述的实施方法,其特征在于还包括有多集群控制器,所述的多集群控制器通过将多个虚拟计算机集群进行有效的连结,从而构建拥有多个虚拟计算机集群的应用平台;多集群控制器管理多个虚拟计算机集群,采用资源元数据的模式,管理注册的虚拟计算机集群;多集群控制器可以将多个虚拟计算机集群进行整合,从而构建一个拥有更多集群节点的虚拟计算机集群。
8.根据权利要求5或6所述的实施方法,其特征在于所述的节点控制器通过调用本地节点监控模块,获取节点的CPU、内存、网络的使用状态,并定时向集群控制器发送相关信息;集群控制器以该信息作为心跳信号,确定集群节点是否可用;对于不可用的节点,集群控制器通过尝试重启节点,以实现节点的故障恢复。
9.根据权利要求7所述的实施方法,其特征在于所述的节点控制器通过调用本地节点监控模块,获取节点的CPU、内存、网络的使用状态,并定时向集群控制器发送相关信息;集群控制器以该信息作为心跳信号,确定集群节点是否可用;对于不可用的节点,集群控制器通过尝试重启节点,以实现节点的故障恢复。
10.根据权利要求5或6所述的实施方法,其特征在于所述的集群节点之间采用局域网方式互联;即物理宿主服务器通过局域网连通,设置一块物理网卡共用同一个局域网网关,实现节点间通信。
11.根据权利要求7所述的实施方法,其特征在于所述的集群节点之间采用局域网方式互联;即物理宿主服务器通过局域网连通,设置一块物理网卡共用同一个局域网网关,实现节点间通信。
12.根据权利要求8所述的实施方法,其特征在于所述的集群节点之间采用局域网方式互联;即物理宿主服务器通过局域网连通,设置一块物理网卡共用同一个局域网网关,实现节点间通信。
13.根据权利要求9所述的实施方法,其特征在于所述的集群节点之间采用局域网方式互联;即物理宿主服务器通过局域网连通,设置一块物理网卡共用同一个局域网网关,实现节点间通信。
14.根据权利要求5或6所述的实施方法,其特征在于所述的集群节点之间采用广域网方式互联;各集群节点通过外部IP实现连通,通过将虚拟的内部IP地址映射到外部IP 端口进行关联,并实现网络连通。
15.根据权利要求7所述的实施方法,其特征在于所述的集群节点之间采用广域网方式互联;各集群节点通过外部IP实现连通,通过将虚拟的内部IP地址映射到外部IP端口 进行关联,并实现网络连通。
16.根据权利要求8所述的实施方法,其特征在于所述的集群节点之间采用广域网方式互联;各集群节点通过外部IP实现连通,通过将虚拟的内部IP地址映射到外部IP端口进行关联,并实现网络连通。
17.根据权利要求9所述的实施方法,其特征在于所述的集群节点之间采用广域网方式互联;各集群节点通过外部IP实现连通,通过将虚拟的内部IP地址映射到外部IP端口进行关联,并实现网络连通。
18.根据权利要求5或6所述的实施方法,其特征在于所述的集群节点之间采用虚拟专用网方式互联;在虚拟计算机节点较为集中的局域网内搭建VPN服务器,位于广域网的其它虚拟计算机节点通过VPN连接客户端连入VPN网络,实现与其它虚拟计算机节点的互联互通。
19.根据权利要求7所述的实施方法,其特征在于所述的集群节点之间采用虚拟专用网方式互联;在虚拟计算机节点较为集中的局域网内搭建VPN服务器,位于广域网的其它虚拟计算机节点通过VPN连接客户端连入VPN网络,实现与其它虚拟计算机节点的互联互
20.根据权利要求8所述的实施方法,其特征在于所述的集群节点之间采用虚拟专用网方式互联;在虚拟计算机节点较为集中的局域网内搭建VPN服务器,位于广域网的其它虚拟计算机节点通过VPN连接客户端连入VPN网络,实现与其它虚拟计算机节点的互联互
21.根据权利要求9所述的实施方法,其特征在于所述的集群节点之间采用虚拟专用网方式互联;在虚拟计算机节点较为集中的局域网内搭建VPN服务器,位于广域网的其它虚拟计算机节点通过VPN连接客户端连入VPN网络,实现与其它虚拟计算机节点的互联互
全文摘要
本发明涉及计算系统虚拟化技术领域,尤其指一种虚拟计算机集群及其实施方法。包括有前端机和若干集群节点,所述前端机为虚拟机或物理机;所述的集群节点为虚拟机节点或物理机节点;前端机与集群节点及集群节点之间通过物理或虚拟网卡连接。集群实施过程中通过在前端机安装集群管理软件,在各节点安装节点监控程序来构建虚拟计算机集群的软件系统。本发明的集群及其实施方法提供了一种单一虚拟资源的扩展方法以支持用户对计算系统的计算资源、存储资源、安全以及稳定性有特殊需求的场合。可广泛应用于计算机虚拟化技术中。
文档编号H04L12/46GK102271145SQ20101019444
公开日2011年12月7日 申请日期2010年6月4日 优先权日2010年6月4日
发明者孙傲冰, 季统凯, 岳强 申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1