一种基于资源分类的虚拟机集群的部署方法

文档序号:6400250阅读:192来源:国知局
专利名称:一种基于资源分类的虚拟机集群的部署方法
技术领域
本发明属于计算机服务技术领域,具体涉及一种基于资源分类的虚拟机集群的部署方法。
背景技术
虚拟机集群部署的流程一般分为:虚拟机集群资源特征分析和物理机资源负载分析;虚拟机集群资源特征分析可以基于用户的指定,也可以根据系统根据以往的监控数据作出分析,以确定其资源类型;物理机资源负载分析以确定哪些物理机适合部署这些集群的虚拟机;虚拟机镜像准备,这包括镜像配置文件的准备,以及镜像的传递;最后完成虚拟机应用集群的启动。集群部署策略涉及到镜像管理、镜像传递、集群部署结点选择、虚拟机的创建等一系列过程。其中:镜像管理是虚拟机集群部署的前提,要想提高系统部署虚拟机集群的效率,镜像上面可以做许多的改进工作,如镜像的订制、镜像按资源类型分类、镜像的副本策略,都是提高系统效率的关键机制。所有的镜像都存储在镜像库中,为了实现镜像的安全可靠,一般也是采用镜像副本策略。当前许多可以用来做镜像库的产品,如NFS(网络文件系统)、SffIFT(环球同业银行金融电信协会)系统,不仅能够节约空间,而且提高了效率。虚拟机集群部 署结点选择是指从物理机系统中选择一些物理机结点用来部署虚拟机。当前已经有多种虚拟机部署选择策略,一般采用的策略包括顺序贪婪部署选择策略和均衡部署选择策略,无论是采用哪种策略,都需要从信息或者性能中心获取候选物理机的相关信息,包括CPU、内存、网络带宽、I/O使用情况。集群虚拟机的创建包括虚拟机配置文件生成以及虚拟机的启动,虚拟机配置文件是指虚拟机启动时所需要用到的一些配置参数,包括内存需求、虚拟机UUID(全球唯一标识符)、CPU内核个数、镜像文件存放位置、网络配置信息等。虚拟机的启动包括创建配置文件、拷贝镜像文件、调用虚拟机平台接口。—个好的集群部署策略需要以最短的时间满足用户请求,即使用户请求在最小化的时间内分配到相应的物理机上;最大化系统吞吐量,使系统的资源使用率达到最大;具有良好的可扩展性;最小化集群部署操作给系统带来的额外开销。现有的部署方法面对新的技术挑战还是存在一些缺陷,专利申请号为201110401608.1的中国专利申请公开了一种虚拟机的部署方法及装置,方法包括:接收部署虚拟机的请求,所述部署请求中携带部署虚拟机所使用的虚拟机镜像文件标识;根据所述虚拟机镜像文件标识获得相应的虚拟机镜像文件在分布式文件系统中的存储信息,所述分布式文件系统由多个计算节点的本地存储组成;根据所述存储信息以及所述多个计算节点的负载信息,选择部署所述虚拟机的计算节点,并在已选择的计算节点上部署虚拟机。该方法采用了分布式文件系统,然则这些文件系统面对众多集群镜像的巨大容量需求时,很难满足要求,且当部署集群时,传统的分布式文件系统在对一份镜像建立多个传输连接时,很容易成为瓶颈;同时,分布式文件系统一旦遇到故障,极有可能造成镜像文件的丢失;另外,传统的集群部署时只考察物理结点对某一资源的利用率,没有充分分析集群的资源特征,因此不能充分利用计算机各种资源。

发明内容
针对现有技术所存在的上述技术问题,本发明提供了一种基于资源分类的虚拟机集群的部署方法,采用资源分类的策略,将虚拟机集群分为不同资源类型,能够实现整个物理机系统的负载均衡。一种基于资源分类的虚拟机集群的部署方法,包括如下步骤:(I)根据虚拟机集群所对应的具体应用,确定虚拟机集群的资源类型;(2)根据虚拟机集群的资源类型,依次从物理机系统中选取k个物理机节点,并将虚拟机集群中各虚拟机分别分配给这k个物理机节点,k为虚拟机集群中虚拟机的个数;(3)从模板库中将虚拟机集群对应的配置文件和镜像文件传递给选取出的各物理机节点。所述的资源类型有三类,分别为计算密集型、存储密集型和流量密集型。所述的步骤(2)中,从物理机系统中选取物理机节点并将虚拟机分配给物理机节点的方法如下:a.根据虚拟机集群的资源类型,计算出物理机系统中每台物理机的负载信息值F ;b.对于物理机系统中任一台物理机,计算出该物理机的负载信息值L,判断其负载信息值L是否大于给定的过载阈值,若是,则淘汰该物理机,若否,则保留该物理机;依此遍历每台物理机;c.从保留下的所有物理机中选取负载信息值F最大的物理机作为一个物理机节点,并从虚拟机集群中任取一虚拟机分配给该物理机节点;d.返回执行步骤a,循环操作直至将虚拟机集群中各虚拟机分配完毕。若所述的虚拟机集群的资源类型为计算密集型,则负载信息值F根据以下公式求得:F= a (1-c)+ β (m+n) +node* y若所述的虚拟机集群的资源类型为存储密集型,则负载信息值F根据以下公式求得:F= a (1-m) + β (c+n) +node* y若所述的虚拟机集群的资源类型为流量密集型,则负载信息值F根据以下公式求得:F= α (1-η) + β (c+m) +node* y其中:c、m和n分别为物理机当前的CPU利用率、内存利用率和网络带宽利用率,node为当前物理机上所加载有的虚拟机个数,α、β和Y均为给定的权重系数且为实际经验值。所述的负载信息值L根据以下公式求得:L=a1c+a2m+a3n+node>l< Y其中:c、m和η分别为物理机当前的CPU利用率、内存利用率和网络带宽利用率,110(16为当前物理机上所加载有的虚拟机个数,&1、&2、&3和Y均为给定的权重系数且为实际
经验值。优选地,所述的步骤(3)中,从模板库中将镜像文件传递给选取出的各物理机节点的方法如下:A.计算选取出的各物理机节点的传输负载值T ;B.对于任一物理机节点,判断其传输负载值T是否大于给定的负载阈值,若是,则保留该物理机节点,若否,则淘汰该物理机节点;依此遍历选取出的各物理机节点;C.构建一传输队列,将保留下的物理机节点按传输负载值T从小到大的排列顺序存放入所述的传输队列中;D.若模板库中镜像文件具有i个副本,则从传输队列中提取出排列前i+1个物理机节点,并将模板库中的镜像文件及其i个副本分别传递给这i+1个物理机节点;传输完毕后,则使模板库中的镜像文件及其i个副本以及得到镜像文件的i+1个物理机节点均作为传输源,再从传输队列中提取出排列前2i+2个物理机节点,使2i+2个传输源分别向这2i+2个物理机节点传递镜像文件;依此传播直至传输队列中各物理机节点均得到镜像文件,i为大于0的自然数;E.对于步骤B中淘汰的物理机节点,则使这些物理机节点从模板库中通过传递获取镜像文件或其副本。所述的传输负载值T根据以下公式求得:T=a4C+a5N其中:C和N分别为物理机节点所对应物理机当前的CPU利用率和网络带宽利用率,a4和a5均为给定的权重系数且为实际经验值。本发明的有益技术效果如下:(I)本发明通过镜像的副本机制,有效的避免镜像文件系统故障对镜像管理及镜像传输的干扰;(2)本发明通过镜像多路并行传递机制,可以极大的加快镜像传递的速度,缩短集群部署的响应时间;(3)本发明通过集群部署结点选择算法可以有效的利用整个物理机系统的物理资源,避免物理机一部分资源的利用很高,而另一部分则相当空闲,还可以实现整个系统的负载均衡。


图1为本发明部署方法的步骤流程示意图。图2为本发明镜像传递的示意图。图3为本发明镜像传递方法与传统镜像传递方法的实验结果对比示意图。图4 (a)为本发明集群分配方法与传统贪婪分配方法关于CPU数据的对比示意图。图4(b)为本发明集群分配方法与传统贪婪分配方法关于内存数据的对比示意图。图4(c)为本发明集群分配方法与传统贪婪分配方法关于网络带宽数据的对比示意图。
图4(d)为本发明集群分配方法与传统贪婪分配方法关于I/O数据的对比示意图。
具体实施例方式为了更为具体地描述本发明,下面结合附图及具体实施方式
对本发明方法进行详细说明。如图1所示,一种基于资源分类的虚拟机集群的部署方法,包括如下步骤:(I)根据虚拟机集群所对应的具体应用,确定虚拟机集群的资源类型;资源类型有三类,分别为计算密集型、存储密集型和流量密集型;计算密集型集中在分布式计算,并行计算,实时计算,典型的应用包括:MapRedcue(谷歌公司的分布式计算平台),BOINC (伯克利开放式网络计算平台),CORBA (公共对象请求代理体系结构),Dryad (微软的分布式并行计算平台)。数据密集型的应用主要集中在海量文件存储领域和缓存领域,典型的数据密集型应用包括:GFS (谷歌公司的分布文件存储系统)、CEPH (Linux的海量数据分布式文件系统)、HDFS (Hadoop的分布式文件系统)、Memcached (分布式内存对象缓存系统)、Membase(NoSQL家族的分布式缓存系统)。流量密集型计算主要集中在海量流式计算与大规模复杂事件处理,典型的应用是微软之前推出的StreamInsight。上述这些应用分类都是在已经的经验来判定应用的资源类型,当一个应用是新应用时,就需要根据运行效果来判定,根据经验表明,可以使用各种应用的CPU、内存、网络带宽、I/o的平均利用率;在测试出要部署的应用的CPU、内存、网络带宽、I/O的利用率之后,分别减去它们的平均利用率,具有最高值的类型,就可以确定为应用的资源类型。(2)根据虚拟机集群的资源类型,依次从物理机系统中选取k个物理机节点,并将虚拟机集群中各虚拟机分别分配给这k个物理机节点,k为虚拟机集群中虚拟机的个数;本实施方式中,待部署的虚拟机集群中虚拟机的个数k为24。一般在部署前先过滤集群部署请求,如果通过算法计算出物理机系统因为CPU、内存、文件容量、网络带宽等方面的限制,致使不能完成此次集群部署时,应当过滤此次部署请求,并向用户反馈。具体部署实现方式如下:a.根据虚拟机集群的资源类型,计算出物理机系统中每台物理机的负载信息值F ;若虚拟机集群的资源类型为计算密集型,则负载信息值F根据以下公式求得:F= a (1-c)+ β (m+n) +node* y若虚拟机集群的资源类型为存储密集型,则负载信息值F根据以下公式求得:F= a (1-m) + β (c+n) +node* y若虚拟机集群的资源类型为流量密集型,则负载信息值F根据以下公式求得:F= α (1-η) + β (c+m) +node* y其中:c、m和n分别为物理机当前的CPU利用率、内存利用率和网络带宽利用率,node为当前物理机上所加载有的虚拟机个数,α、β和Y均为给定的权重系数;本实施方式中 α = β =0.5, Y =0.2 οb.对于物理机系统中任一台物理机,计算出该物理机的负载信息值L,判断其负载信息值L是否大于给定的过载阈值,若是,则淘汰该物理机,若否,则保留该物理机;依此遍历每台物理机,本实施方式中过载阈值设定为83 ;负载信息值L根据以下公式求得:L=a1c+a2m+a3n+node>l< y其中叫、32和33均为给定的权重系数,本实施方式中&1=0.4,32=33=0.3。c.从保留下的所有物理机中选取负载信息值F最大的物理机作为一个物理机节点,并从虚拟机集群中任取一虚拟机分配给该物理机节点,同时将该物理机节点插入一优先级队列中;d.返回执行步骤a,循环操作直至将虚拟机集群中各虚拟机分配完毕。(3)从模板库中将虚拟机集群对应的配置文件和镜像文件传递给选取出的各物理机节点;其中,由于配置文件一般比较小,所以物理机节点可直接从模板库中通过传递获取得到;而镜像文件一般较大,故本实施方式采用以下传递方式将从模板库中将镜像文件传递给各物理机节点:A.根据以下公式计算选取出的各物理机节点的传输负载值T ;T=a4C+a5N其中:C和N分别为物理机节点所对应物理机当前的CPU利用率和网络带宽利用率,a4和a5均为给定的权重系数,本实施方式中a4=a5=0.5。B.对于任一物理机节点,判断其传输负载值T是否大于给定的负载阈值,若是,则保留该物理机节点,若否,则淘汰该物理机节点;依此遍历选取出的各物理机节点;本实施方式中负载阈值设定为0.7,24个物理机节点中保留了 22个,淘汰了 2个。C.构建一传输队列,将保留下的物理机节点按传输负载值T从小到大的排列顺序存放入传输队列中;D.如图2所示,若模板库中镜像文件具有i个副本(本实施方式中i=2),则从传输队列中提取出排列前i+1个物理机节点,并将模板库中的镜像文件及其i个副本分别传递给这i+1个物理机节点;传输完毕后,则使模板库中的镜像文件及其i个副本以及得到镜像文件的i+1个物理机节点均作为传输源,再从传输队列中提取出排列前2i+2个物理机节点,使2i+2个传输源分别向这2i+2个物理机节点传递镜像文件;依此传播直至传输队列中各物理机节点均得到镜像文件; E.对于步骤B中淘汰的2个物理机节点,则使这2个物理机节点从模板库中通过传递分别获取镜像文件及其副本I。最后启动虚拟机集群中的所有虚拟机,完成集群部署。以下我们通过实验使本实施方式与传统NFS单点镜像传递和Swift镜像部署传递进行比较,这两种对比方法都是云平台普遍使用的方式。当得到本实施方式镜像并行多路传递策略以及传统NFS镜像传递策略和Swift镜像库的测试结果后,对比三者的时间。验证中镜像文件的大小为3G,镜像数量分别为1、2、4、5、6、7、8、16、32、64,本实施方式及传统镜像传递方法的副本都设置为2的情况下,传递时间实验结果如图3所示,横坐标为镜像数量,纵坐标为传递时间。当传递的数量都为I时,本实施方式的镜像传递时间与NFS系统的镜像传递时间都差不多;当镜像传递数量较小时,Swift镜像管理方式与本实施方式的镜像管理方式性能都差不多;但是当传递的数量比较大时,NFS系统的镜像传递时间与数量成线性增长,Swift镜像库的传递时间也增长较大,而本实施方式的镜像多路并行传递时间则是对数关系增长。因此,实验结果表明,当镜像传递数量较大时,本实施方式的镜像传递策略对于大规模虚拟机集群的部署具有更优的传输性能。以下我们对本实施方式的分配算法与传统贪婪分配算法就CPU、内存、网络带宽、I/O四种数据进行比较,如图4所示。根据这四组对比数据,可以得到两种分配算法的CPU、内存、网络带宽、I/O的数据与平均值的误差平均数值,各项数值如表I所示:表I
权利要求
1.一种基于资源分类的虚拟机集群的部署方法,包括如下步骤: (1)根据虚拟机集群所对应的具体应用,确定虚拟机集群的资源类型; (2)根据虚拟机集群的资源类型,依次从物理机系统中选取k个物理机节点,并将虚拟机集群中各虚拟机分别分配给这k个物理机节点,k为虚拟机集群中虚拟机的个数; (3)从模板库中将虚拟机集群对应的配置文件和镜像文件传递给选取出的各物理机节点。
2.根据权利要求1所述的基于资源分类的虚拟机集群的部署方法,其特征在于:所述的步骤(2)中,从物理机系统中选取物理机节点并将虚拟机分配给物理机节点的方法如下: a.根据虚拟机集群的资源类型,计算出物理机系统中每台物理机的负载信息值F; b.对于物理机系统中任一台物理机,计算出该物理机的负载信息值L,判断其负载信息值L是否大于给定的过载阈值,若是,则淘汰该物理机,若否,则保留该物理机;依此遍历每台物理机; c.从保留下的所有物理机中选取 负载信息值F最大的物理机作为一个物理机节点,并从虚拟机集群中任取一虚拟机分配给该物理机节点; d.返回执行步骤a,循环操作直至将虚拟机集群中各虚拟机分配完毕。
3.根据权利要求2所述的基于资源分类的虚拟机集群的部署方法,其特征在于:若所述的虚拟机集群的资源类型为计算密集型,则负载信息值F根据以下公式求得:F= a (l_c) + 3 (m+n) +node* y 若所述的虚拟机集群的资源类型为存储密集型,则负载信息值F根据以下公式求得:F= a (1-m)+ 3 (c+n) +node* y 若所述的虚拟机集群的资源类型为流量密集型,则负载信息值F根据以下公式求得:F= a (l_n) + 3 (c+m) +node* y 其中:c、m和n分别为物理机当前的CPU利用率、内存利用率和网络带宽利用率,node为当前物理机上所加载有的虚拟机个数,a、0和Y均为给定的权重系数。
4.根据权利要求2所述的基于资源分类的虚拟机集群的部署方法,其特征在于:所述的负载信息值L根据以下公式求得: L=a1c+a2m+a3n+node>i< y 其中:c、m和n分别为物理机当前的CPU利用率、内存利用率和网络带宽利用率,node为当前物理机上所加载有的虚拟机个数,&1、&2、&3和Y均为给定的权重系数。
5.根据权利要求1所述的基于资源分类的虚拟机集群的部署方法,其特征在于:所述的步骤(3)中,从模板库中将镜像文件传递给选取出的各物理机节点的方法如下: A.计算选取出的各物理机节点的传输负载值T; B.对于任一物理机节点,判断其传输负载值T是否大于给定的负载阈值,若是,则保留该物理机节点,若否,则淘汰该物理机节点;依此遍历选取出的各物理机节点; C.构建一传输队列,将保留下的物理机节点按传输负载值T从小到大的排列顺序存放入所述的传输队列中; D.若模板库中镜像文件具有i个副本,则从传输队列中提取出排列前i+1个物理机节点,并将模板库中的镜像文件及其i个副本分别传递给这i+1个物理机节点;传输完毕后,则使模板库中的镜像文件及其i个副本以及得到镜像文件的i+Ι个物理机节点均作为传输源,再从传输队列中提取出排列前2i+2个物理机节点,使2i+2个传输源分别向这2i+2个物理机节点传递镜像文件;依此传播直至传输队列中各物理机节点均得到镜像文件,i为大于O的自然数; E.对于步骤B中淘汰的物理机节点,则使这些物理机节点从模板库中通过传递获取镜像文件或其副本。
6.根据权利要求5所述的基于资源分类的虚拟机集群的部署方法,其特征在于:所述的传输负载值T根据以下公式求得:T=a4C+a5N 其中:C和N分别为物理机节点所对应物理机当前的CPU利用率和网络带宽利用率,a4和%均为给定的权重系数。`
全文摘要
本发明公开了一种基于资源分类的虚拟机集群的部署方法,包括副本机制和镜像多路并行传递机制两个部分;其通过镜像的副本机制,有效的避免镜像文件系统故障对镜像管理及镜像传输的干扰;同时通过镜像多路并行传递机制,可以极大的加快镜像传递的速度,缩短集群部署的响应时间;另外本发明通过集群部署结点选择算法可以有效的利用整个物理机系统的物理资源,避免物理机一部分资源的利用很高,而另一部分则相当空闲,还可以实现整个系统的负载均衡。
文档编号G06F9/50GK103176849SQ201310078450
公开日2013年6月26日 申请日期2013年3月12日 优先权日2013年3月12日
发明者尹建伟, 李志红, 李莹, 邓水光, 吴朝晖 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1