首页> 中国专利> 一种基于资源分类的虚拟机集群的部署方法

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

摘要

本发明公开了一种基于资源分类的虚拟机集群的部署方法,包括副本机制和镜像多路并行传递机制两个部分;其通过镜像的副本机制,有效的避免镜像文件系统故障对镜像管理及镜像传输的干扰;同时通过镜像多路并行传递机制,可以极大的加快镜像传递的速度,缩短集群部署的响应时间;另外本发明通过集群部署结点选择算法可以有效的利用整个物理机系统的物理资源,避免物理机一部分资源的利用很高,而另一部分则相当空闲,还可以实现整个系统的负载均衡。

著录项

  • 公开/公告号CN103176849A

    专利类型发明专利

  • 公开/公告日2013-06-26

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN201310078450.8

  • 申请日2013-03-12

  • 分类号G06F9/50;G06F9/455;

  • 代理机构杭州天勤知识产权代理有限公司;

  • 代理人胡红娟

  • 地址 310027 浙江省杭州市西湖区浙大路38号

  • 入库时间 2024-02-19 19:24:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-04-27

    授权

    授权

  • 2013-07-24

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20130312

    实质审查的生效

  • 2013-06-26

    公开

    公开

说明书

技术领域

本发明属于计算机服务技术领域,具体涉及一种基于资源分类的虚拟机集 群的部署方法。

背景技术

虚拟机集群部署的流程一般分为:虚拟机集群资源特征分析和物理机资源 负载分析;虚拟机集群资源特征分析可以基于用户的指定,也可以根据系统根 据以往的监控数据作出分析,以确定其资源类型;物理机资源负载分析以确定 哪些物理机适合部署这些集群的虚拟机;虚拟机镜像准备,这包括镜像配置文 件的准备,以及镜像的传递;最后完成虚拟机应用集群的启动。

集群部署策略涉及到镜像管理、镜像传递、集群部署结点选择、虚拟机的 创建等一系列过程。其中:

镜像管理是虚拟机集群部署的前提,要想提高系统部署虚拟机集群的效率, 镜像上面可以做许多的改进工作,如镜像的订制、镜像按资源类型分类、镜像 的副本策略,都是提高系统效率的关键机制。所有的镜像都存储在镜像库中, 为了实现镜像的安全可靠,一般也是采用镜像副本策略。当前许多可以用来做 镜像库的产品,如NFS(网络文件系统)、SWIFT(环球同业银行金融电信协会) 系统,不仅能够节约空间,而且提高了效率。

虚拟机集群部署结点选择是指从物理机系统中选择一些物理机结点用来部 署虚拟机。当前已经有多种虚拟机部署选择策略,一般采用的策略包括顺序贪 婪部署选择策略和均衡部署选择策略,无论是采用哪种策略,都需要从信息或 者性能中心获取候选物理机的相关信息,包括CPU、内存、网络带宽、I/O使用 情况。

集群虚拟机的创建包括虚拟机配置文件生成以及虚拟机的启动,虚拟机配 置文件是指虚拟机启动时所需要用到的一些配置参数,包括内存需求、虚拟机 UUID(全球唯一标识符)、CPU内核个数、镜像文件存放位置、网络配置信息 等。虚拟机的启动包括创建配置文件、拷贝镜像文件、调用虚拟机平台接口。

一个好的集群部署策略需要以最短的时间满足用户请求,即使用户请求在 最小化的时间内分配到相应的物理机上;最大化系统吞吐量,使系统的资源使 用率达到最大;具有良好的可扩展性;最小化集群部署操作给系统带来的额外 开销。现有的部署方法面对新的技术挑战还是存在一些缺陷,专利申请号为 201110401608.1的中国专利申请公开了一种虚拟机的部署方法及装置,方法包 括:接收部署虚拟机的请求,所述部署请求中携带部署虚拟机所使用的虚拟机 镜像文件标识;根据所述虚拟机镜像文件标识获得相应的虚拟机镜像文件在分 布式文件系统中的存储信息,所述分布式文件系统由多个计算节点的本地存储 组成;根据所述存储信息以及所述多个计算节点的负载信息,选择部署所述虚 拟机的计算节点,并在已选择的计算节点上部署虚拟机。该方法采用了分布式 文件系统,然则这些文件系统面对众多集群镜像的巨大容量需求时,很难满足 要求,且当部署集群时,传统的分布式文件系统在对一份镜像建立多个传输连 接时,很容易成为瓶颈;同时,分布式文件系统一旦遇到故障,极有可能造成 镜像文件的丢失;另外,传统的集群部署时只考察物理结点对某一资源的利用 率,没有充分分析集群的资源特征,因此不能充分利用计算机各种资源。

发明内容

针对现有技术所存在的上述技术问题,本发明提供了一种基于资源分类的 虚拟机集群的部署方法,采用资源分类的策略,将虚拟机集群分为不同资源类 型,能够实现整个物理机系统的负载均衡。

一种基于资源分类的虚拟机集群的部署方法,包括如下步骤:

(1)根据虚拟机集群所对应的具体应用,确定虚拟机集群的资源类型;

(2)根据虚拟机集群的资源类型,依次从物理机系统中选取k个物理机节 点,并将虚拟机集群中各虚拟机分别分配给这k个物理机节点,k为虚拟机集群 中虚拟机的个数;

(3)从模板库中将虚拟机集群对应的配置文件和镜像文件传递给选取出的 各物理机节点。

所述的资源类型有三类,分别为计算密集型、存储密集型和流量密集型。

所述的步骤(2)中,从物理机系统中选取物理机节点并将虚拟机分配给物 理机节点的方法如下:

a.根据虚拟机集群的资源类型,计算出物理机系统中每台物理机的负载信 息值F;

b.对于物理机系统中任一台物理机,计算出该物理机的负载信息值L,判 断其负载信息值L是否大于给定的过载阈值,若是,则淘汰该物理机,若否, 则保留该物理机;依此遍历每台物理机;

c.从保留下的所有物理机中选取负载信息值F最大的物理机作为一个物理 机节点,并从虚拟机集群中任取一虚拟机分配给该物理机节点;

d.返回执行步骤a,循环操作直至将虚拟机集群中各虚拟机分配完毕。

若所述的虚拟机集群的资源类型为计算密集型,则负载信息值F根据以下 公式求得:

F=α(1-c)+β(m+n)+node*γ

若所述的虚拟机集群的资源类型为存储密集型,则负载信息值F根据以下 公式求得:

F=α(1-m)+β(c+n)+node*γ

若所述的虚拟机集群的资源类型为流量密集型,则负载信息值F根据以下 公式求得:

F=α(1-n)+β(c+m)+node*γ

其中:c、m和n分别为物理机当前的CPU利用率、内存利用率和网络带宽利用 率,node为当前物理机上所加载有的虚拟机个数,α、β和γ均为给定的权重系 数且为实际经验值。

所述的负载信息值L根据以下公式求得:

L=a1c+a2m+a3n+node*γ

其中:c、m和n分别为物理机当前的CPU利用率、内存利用率和网络带宽利用 率,node为当前物理机上所加载有的虚拟机个数,a1、a2、a3和γ均为给定的权 重系数且为实际经验值。

优选地,所述的步骤(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均为给定的权重系数且为实际经验值。

本发明的有益技术效果如下:

(1)本发明通过镜像的副本机制,有效的避免镜像文件系统故障对镜像管 理及镜像传输的干扰;

(2)本发明通过镜像多路并行传递机制,可以极大的加快镜像传递的速度, 缩短集群部署的响应时间;

(3)本发明通过集群部署结点选择算法可以有效的利用整个物理机系统的 物理资源,避免物理机一部分资源的利用很高,而另一部分则相当空闲,还可 以实现整个系统的负载均衡。

附图说明

图1为本发明部署方法的步骤流程示意图。

图2为本发明镜像传递的示意图。

图3为本发明镜像传递方法与传统镜像传递方法的实验结果对比示意图。

图4(a)为本发明集群分配方法与传统贪婪分配方法关于CPU数据的对比示 意图。

图4(b)为本发明集群分配方法与传统贪婪分配方法关于内存数据的对比示 意图。

图4(c)为本发明集群分配方法与传统贪婪分配方法关于网络带宽数据的对 比示意图。

图4(d)为本发明集群分配方法与传统贪婪分配方法关于I/O数据的对比示意 图。

具体实施方式

为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明方法 进行详细说明。

如图1所示,一种基于资源分类的虚拟机集群的部署方法,包括如下步骤:

(1)根据虚拟机集群所对应的具体应用,确定虚拟机集群的资源类型;

资源类型有三类,分别为计算密集型、存储密集型和流量密集型;

计算密集型集中在分布式计算,并行计算,实时计算,典型的应用包括: 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=α(1-c)+β(m+n)+node*γ

若虚拟机集群的资源类型为存储密集型,则负载信息值F根据以下公式求 得:

F=α(1-m)+β(c+n)+node*γ

若虚拟机集群的资源类型为流量密集型,则负载信息值F根据以下公式求 得:

F=α(1-n)+β(c+m)+node*γ

其中:c、m和n分别为物理机当前的CPU利用率、内存利用率和网络带宽利用 率,node为当前物理机上所加载有的虚拟机个数,α、β和γ均为给定的权重系 数;本实施方式中α=β=0.5,γ=0.2。

b.对于物理机系统中任一台物理机,计算出该物理机的负载信息值L,判 断其负载信息值L是否大于给定的过载阈值,若是,则淘汰该物理机,若否, 则保留该物理机;依此遍历每台物理机,本实施方式中过载阈值设定为83;

负载信息值L根据以下公式求得:

L=a1c+a2m+a3n+node*γ

其中:a1、a2和a3均为给定的权重系数,本实施方式中a1=0.4,a2=a3=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个物理机节点从模板库 中通过传递分别获取镜像文件及其副本1。

最后启动虚拟机集群中的所有虚拟机,完成集群部署。

以下我们通过实验使本实施方式与传统NFS单点镜像传递和Swift镜像部 署传递进行比较,这两种对比方法都是云平台普遍使用的方式。当得到本实施 方式镜像并行多路传递策略以及传统NFS镜像传递策略和Swift镜像库的测试 结果后,对比三者的时间。验证中镜像文件的大小为3G,镜像数量分别为1、2、 4、5、6、7、8、16、32、64,本实施方式及传统镜像传递方法的副本都设置为 2的情况下,传递时间实验结果如图3所示,横坐标为镜像数量,纵坐标为传递 时间。

当传递的数量都为1时,本实施方式的镜像传递时间与NFS系统的镜像传 递时间都差不多;当镜像传递数量较小时,Swift镜像管理方式与本实施方式的 镜像管理方式性能都差不多;但是当传递的数量比较大时,NFS系统的镜像传 递时间与数量成线性增长,Swift镜像库的传递时间也增长较大,而本实施方式 的镜像多路并行传递时间则是对数关系增长。因此,实验结果表明,当镜像传 递数量较大时,本实施方式的镜像传递策略对于大规模虚拟机集群的部署具有 更优的传输性能。

以下我们对本实施方式的分配算法与传统贪婪分配算法就CPU、内存、网 络带宽、I/O四种数据进行比较,如图4所示。根据这四组对比数据,可以得到 两种分配算法的CPU、内存、网络带宽、I/O的数据与平均值的误差平均数值, 各项数值如表1所示:

表1

  贪婪分配算法 本实施方式 CPU 13.61375 5.6125 内存 21.6258 1.7115

网络带宽 7.6295 0.24575 I/O 2.275 0.40345

从表中可以看出,本实施方式提出的基于资源分类的集群分配算法与顺序 贪婪分配算法相比,能够使整个物理机系统的负载性能处于最佳状态,且各项 资源作出充分的利用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号