一种虚拟机集群系统及其实现方法

文档序号:6355464阅读:937来源:国知局
专利名称:一种虚拟机集群系统及其实现方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种虚拟机集群系统及其实现方法。
背景技术
计算机集群系统是通过一组松散集成的计算机软件或硬件连接起来高度紧密协 作完成计算工作的计算系统。集群系统的高可用性集群一般是指集群系统中有某个节点失 效的情况下,其上运行的任务会自动迁移到其他正常运行的节点上,这个迁移过程并不影 响整个集群系统的运行。传统的集群系统的硬件组成一般包括服务器组和共享存储设备。服务器组一般包 含多个服务器节点,需要统一安装操作系统和集群软件程序;共享存储设备用于保证各服 务器节点之间数据的一致性。另外,为了保证集群系统的高可用性,一般采用冗余备份的方 式,这样一台服务器就需要一台备份设备,或者为每台服务器准备多台备份设备(称之为多 备一)。这些备份设备也是导致整个集群系统成本居高不下的原因之一。随着科技的发展,小规模的集群系统的需求也逐步增多,需要集群系统来完成高 性能计算,但是小规模也决定了需要尽量降低整个集群系统的经济成本。所以,集群系统的 高昂成本已经成为影响集群系统发展的障碍之一。

发明内容
本发明所要解决的技术问题是需要提供一种虚拟机集群系统,以克服当前集群系 统成本高昂的缺陷。为了解决上述技术问题,本发明提供了一种虚拟机集群系统,该虚拟机集群系统 构建在多个物理服务器上,在该些物理服务器上运行虚拟机以提供多个虚拟计算节点,该 些虚拟计算节点分为一个管理节点及多个计算节点,其中
该管理节点,用于创建一个管理库以记录每个计算节点的主机名及动态IP地址,根据 该些主机名及动态IP地址,对整个虚拟机集群系统进行管理; 该些计算节点,用于完成该虚拟机集群系统的计算任务。优选地,该些物理服务器用于采用Qemu的写时拷贝格式提供虚拟机的磁盘镜像。优选地,该管理节点包括
动态主机配置协议服务器,用于进行该动态IP地址的动态分发;
域名服务器,用于完成域名解析;
网络文件系统服务器,用于对该磁盘镜像进行共享。优选地,该管理节点包括
扩展服务器,用于将新接入该虚拟机集群系统的物理服务器配置成运行计算节点的物 理服务器。优选地,该些物理服务器用于使用网络文件系统共享磁盘。优选地,该管理节点与该些计算节点之间建立有心跳连接,该管理节点定期向该些计算节点发送心跳信号,并对未收到心跳反馈的计算节点进行虚拟机迁移操作。为了解决上述技术问题,本发明还提供了一种虚拟机集群系统的实现方法,该虚 拟机集群系统构建在多个物理服务器上,在该些物理服务器上运行虚拟机以提供多个虚拟 计算节点,该些虚拟计算节点分为一个管理节点及多个计算节点,其中
在该管理节点上创建一个管理库以记录每个计算节点的主机名及动态IP地址,并根 据该些主机名及动态IP地址对整个虚拟机集群系统进行管理; 其中,该些计算节点用于完成该虚拟机集群系统的计算任务。优选地,该些物理服务器采用Qemu的写时拷贝格式提供虚拟机的磁盘镜像。优选地,该些物理服务器使用网络文件系统共享磁盘。优选地,在该管理节点与该些计算节点之间建立心跳连接。与现有技术相比,本发明的技术方案采用虚拟机来搭建集群系统,减少了物理服 务器的使用数量,降低了集群系统的成本。本发明的技术方案通过心跳连接能够监测虚拟 机的健康状态,适时启动虚拟机的动态迁移,保证了虚拟机上服务的不间断运行,达到了整 个虚拟机集群系统的高可用性。本发明的技术方案通过管理节点来完成集群系统的管理配 置工作,由计算节点负责计算任务,这样的架构可以在不需要重启系统的前提下动态添加 计算节点,时的整个虚拟机集群系统具有高可扩展性。另外,本发明的技术方案中,所有的 虚拟机都采用共享磁盘镜像的方式,大大减少计算节点的存储空间,并使用NFS的方式共 享数据存储,无需单独使用共享存储设备,进一步降低了整个虚拟机集群系统的成本。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本 发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。在附 图中
图1为本发明实施例一虚拟机集群系统的组成示意图; 图2为本发明实施例一中使用KVM进行虚拟化的系统视图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用 技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。首先,如果不冲突,本发明实施例以及实施例中的各个特征的相互结合,均在本发 明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令 的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以 不同于此处的顺序执行所示出或描述的步骤。随着虚拟化技术的发展,在一台服务器上同时运行多个操作系统已经成为现实, 硬件虚拟化技术更是让虚拟机的性能达到了接近主机性能的水平。使用虚拟化技术,原来 需要几十甚至更多服务器才能搭建的集群系统,现在只可能仅需一半甚至更少的服务器就能实现,而且虚拟化技术的整体发展也为保证整个集群系统高可用和高可扩展性提供了技 术保证。实施例一、虚拟机集群系统
图1为本实施例一的组成示意图。如图1所示,本实施例的虚拟机集群系统构建在多 个物理服务器120上(可以在普通的物理机110上通过网络进行访问),本发明将该些物理 服务器称之为虚拟化服务提供者(Virtualization Service Provider, VSP),在该些物理 服务器上运行虚拟机以提供多个虚拟计算节点(Virtual Computer Node, VCN) 130,该些虚 拟计算节点分为管理节点140和计算节点150两种,管理节点140的数量为一个,该些虚拟 计算节点除管理节点140之外其余均为计算节点150,其中
管理节点140,在整个虚拟机集群系统中有且仅有一个,用于对整个虚拟机集群系统进 行配置管理;其上创建一个管理库以记录每个计算节点的主机名及动态IP地址,根据该管 理库中所记录的每个计算节点的主机名及动态IP地址,即可实现对整个虚拟机集群系统 进行管理;
计算节点150,在整个虚拟机集群系统中为多个,与管理节点140相连,用于完成该虚 拟机集群系统的计算任务。本实施例中,物理服务器(即VSP) 120的结构如图2所示,其采用硬件虚拟化技术 (Kernel based Virtual Machine,KVM),通过加载内核,在系统中创建一个特殊的字符设备 /dev/kvm,以此来与用户态的设备模型通信。通过这个设备,使得客户机操作系统的地址空 间独立于内核或者运行着的其他的客户机操作系统的地址空间。并且通过引入一个客户机 模式,使得客户机拥有自己的私有地址空间,在实例化客户机操作系统(Guest OS)时映射, 在这个私有地址空间上实现客户机地址的映射。加载KVM之后,就可以在用户空间启动客 户机操作系统,也即是完成了虚拟化服务的提供。需要说明的是,在系统中创建一个特殊的 字符设备/dev/kvm采用现有技术即可实现,本发明对此不作具体限定。图2为使用KVM进行虚拟化的系统视图,底部的硬件平台(hardware)是能够支 持硬件虚拟化的硬件平台,在该硬件平台上面是一个Linux的操作系统(0S),其包含了一 个虚拟机监控程序hypervisor。在这样的一个平台上面,可以运行客户机操作系统(也即 Guest 0S),在Guest OS里面可以运行与普通操作系统相同的应用程序。需要说明的是,图 2所示的使用KVM进行虚拟化的技术内容是对现有技术的简要介绍,本发明对此不做详细 说明。物理服务器120用于采取Qemu的写时拷贝(Qemu Copy-On-Write,QCOff)格式提 供虚拟机的磁盘镜像,该QCOW格式支持一种快照模式。在该快照模式中,虚拟机所有的对 磁盘镜像的写操作都将单独写到附加的一个临时文件当中,而不会写到磁盘镜像当中。这 种共享模式支持了整个虚拟机集群系统中所有的虚拟机都使用同一个磁盘镜像,而不会产 生数据不一致的情况,这就大大降低了整个虚拟机集群系统对存储空间(Storage)的需求, 降低了存储设备的成本。另外,现有技术中的集群系统都是通过额外使用共享存储设备来实现所有物理服 务器使用统一的存储空间。在本发明的虚拟机集群系统中,物理服务器120用于使用NFS 的方式来共享磁盘。NFS是一种分布式的文件系统,允许本地计算机像使用本地设备一样使 用网络上的计算机的设备,仅仅需要将网络上的计算机设备挂载到本地系统上即可。这样仅仅需要在一个VSP上放置磁盘镜像,其它VSP不需要很大的磁盘空间,这样不仅仅减少了 共享存储设备,而且减少了所需要的存储空间的大小,达到了降低集群系统成本的目的。本发明的技术方案中,管理节点140与计算节点150之间可以建立有心跳连接,管 理节点140定期向所有的计算节点150发送心跳信号,收到计算节点150相应的心跳反馈, 表示计算节点150处于活跃或者正常状态。如果管理节点140没有收到计算节点150的 心跳反馈,则可以认为相应的计算节点150处于非正常状态(如故障状态或者死机状态等 等),这样的状态可能是由于VSP的故障或者其本身的故障导致,此时启动虚拟机迁移操作, 将计算节点迁移到处于正常状态的VSP上面继续运行。这样就保证了整个系统的高可靠运 行。如此,整个虚拟机集群系统的高可用性通过虚拟机的动态迁移得到了很好的保证。管理节点140主要用于实现对整个虚拟机集群系统进行管理以及计算节点150主 要用于完成计算任务的分工,具体地,比如在本实施例中部署Condor (—种开源工具)系统, 那么在管理节点 140 上配置 condor_collector、condor_negotiator 禾口 condor_schedd,在 计算节点150上配置condor_startd即可。由于所有计算节点公用一个磁盘镜像,因此不能采用静态IP的方式,因为静态IP 会将IP地址写入磁盘镜像。故而,该管理节点140包含动态主机配置协议(Dynamic Host Configuration Protocol, DHCP)服务器、域名服务器(Domain Name Server, DNS)以及网 络文件系统(Network File System,NFS)服务器,其中
该DHCP服务器,用于进行IP地址的动态分发; 该DNS服务器,用于完成域名解析;
该NFS服务器,用于将磁盘镜像共享给每个VSP,这些磁盘镜像设置为只读模式,每个 计算节点采用快照模式来访问磁盘镜像。该管理节点140上还可以包含扩展服务器,其中该扩展服务器用于将新接入该虚 拟机集群系统的物理服务器配置成运行计算节点的VSP。这种管理模式可以非常方便地扩 展虚拟机集群系统的规模,仅仅需要将新加入的物理服务器配置成运行计算节点的VSP,再 进行适当的配置即可。在管理节点140上进行添加计算节点的操作,将其加入到整个集群 计算系统当中,在这个过程中无需重启虚拟机集群系统或者管理节点140,就可以实现新加 入物理服务器的动态添加。实施例二、虚拟机集群系统的实现方法
结合图1所示的虚拟机集群系统及其说明,本实施例实现该虚拟机集群系统,其构建 在多个物理服务器上,在该些物理服务器上运行虚拟机以提供多个虚拟计算节点,该些虚 拟计算节点分为一个管理节点及多个计算节点,其中
在该管理节点上创建一个管理库以记录每个计算节点的主机名及动态IP地址,并根 据该些主机名及动态IP地址对整个虚拟机集群系统进行管理; 其中,该些计算节点用于完成该虚拟机集群系统的计算任务。其中,该些物理服务器采用Qemu的写时拷贝格式提供虚拟机的磁盘镜像。其中,该些物理服务器使用网络文件系统共享磁盘。其中,在该管理节点与该些计算节点之间建立心跳连接。本实施例提供的虚拟机集群系统的该实现方法,请参照前述实施例一提供的虚拟 机集群系统的技术方案进行理解。
传统的集群系统都是通过物理服务器和共享存储来进行组建的,这些设备都是需 要很高成本的投入。本发明的技术方案使用虚拟机来搭建集群系统,不仅降低了物理服务 器的数量,提高了物理服务器的利用率,而且还可以利用虚拟机技术来提高集群系统的可 用性和扩展性,显著降低成本的同时,也可以达到集群系统高性能计算的目的。在本发明的技术方案中,利用虚拟机的动态迁移技术来实现集群系统的高可用 性。虚拟机动态迁移,即是虚拟机的迁移的过程中,在虚拟机中运行的服务不会产生间断。 虚拟机动态迁移是采用迭代拷贝的方式传输虚拟机内存状态,将出现故障或者处于其他非 正常工作状态的虚拟机(或者计算节点)动态迁移到别的VSP上面,保证了服务的连续性,实 现集群系统的高可用性。本发明的技术方案采用一个管理节点和多个计算节点的组成方式,方便了集群系 统的动态扩展。如果需要扩充集群系统的规模,仅仅需要添加相应的物理服务器,并在其上 建立计算节点,然后在管理节点上维护配置信息,即可将新加入的物理服务器扩展到已有 的集群系统中,而不需要重启集群系统或者管理节点,能快速提高集群系统的计算能力,并 且计算性能随着物理服务器数量的增加而呈近乎线性的增长。本发明技术方案使得本发明提出的集群系统的高可用性不需要准备额外的备份 设备,节省了备份设备的成本。另外本发明提出的集群系统的所有虚拟机采用共享镜像的 方式,大大降低存储空间的需求和使用。另外,本发明提供的集群系统通过NFS的方式来来 共享磁盘空间,不需要另外单独购买共享存储设备,降低了存储空间的成本。本领域的技术人员应该明白,上述的本发明的系统实施例的各组成部分或方法实 施例的各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分 布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实 现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集 成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发 明不限制于任何特定的硬件和软件结合。虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采 用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本 发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化, 但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
1.一种虚拟机集群系统,其特征在于,该虚拟机集群系统构建在多个物理服务器上,在 该些物理服务器上运行虚拟机以提供多个虚拟计算节点,该些虚拟计算节点分为一个管理 节点及多个计算节点,其中该管理节点,用于创建一个管理库以记录每个计算节点的主机名及动态IP地址,根据 该些主机名及动态IP地址,对整个虚拟机集群系统进行管理;该些计算节点,用于完成该虚拟机集群系统的计算任务。
2.根据权利要求1所述的虚拟机集群系统,其特征在于该些物理服务器用于采用Qemu的写时拷贝格式提供虚拟机的磁盘镜像。
3.根据权利要求2所述的虚拟机集群系统,其特征在于,该管理节点包括动态主机配置协议服务器,用于进行该动态IP地址的动态分发;域名服务器,用于完成域名解析;网络文件系统服务器,用于对该磁盘镜像进行共享。
4.根据权利要求3所述的虚拟机集群系统,其特征在于,该管理节点包括扩展服务器,用于将新接入该虚拟机集群系统的物理服务器配置成运行计算节点的物 理服务器。
5.根据权利要求1所述的虚拟机集群系统,其特征在于该些物理服务器用于使用网络文件系统共享磁盘。
6.根据权利要求1所述的虚拟机集群系统,其特征在于该管理节点与该些计算节点之间建立有心跳连接,该管理节点定期向该些计算节点发 送心跳信号,并对未收到心跳反馈的计算节点进行虚拟机迁移操作。
7.—种虚拟机集群系统的实现方法,其特征在于,该虚拟机集群系统构建在多个物理 服务器上,在该些物理服务器上运行虚拟机以提供多个虚拟计算节点,该些虚拟计算节点 分为一个管理节点及多个计算节点,其中在该管理节点上创建一个管理库以记录每个计算节点的主机名及动态IP地址,并根 据该些主机名及动态IP地址对整个虚拟机集群系统进行管理;其中,该些计算节点用于完成该虚拟机集群系统的计算任务。
8.根据权利要求7所述的方法,其特征在于该些物理服务器采用Qemu的写时拷贝格式提供虚拟机的磁盘镜像。
9.根据权利要求7所述的方法,其特征在于该些物理服务器使用网络文件系统共享磁盘。
10.根据权利要求7所述的方法,其特征在于在该管理节点与该些计算节点之间建立心跳连接。
全文摘要
本发明公开了一种虚拟机集群系统及其实现方法,以克服当前集群系统成本高昂的缺陷。该虚拟机集群系统构建在多个物理服务器上,在该些物理服务器上运行虚拟机以提供多个虚拟计算节点,该些虚拟计算节点分为一个管理节点及多个计算节点,其中该管理节点,用于创建一个管理库以记录每个计算节点的主机名及动态IP地址,根据该些主机名及动态IP地址,对整个虚拟机集群系统进行管理;该些计算节点,用于完成该虚拟机集群系统的计算任务。本发明的技术方案采用虚拟机来搭建集群系统,减少了物理服务器的使用数量,降低了集群系统的成本。
文档编号G06F15/16GK102110071SQ20111005181
公开日2011年6月29日 申请日期2011年3月4日 优先权日2011年3月4日
发明者吴楠, 熊坤 申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1