一种虚拟机部署方法及装置与流程

文档序号:19942991发布日期:2020-02-14 23:26阅读:347来源:国知局
一种虚拟机部署方法及装置与流程

本发明属于云计算虚拟机管理领域,具体涉及一种虚拟机部署方法及装置。



背景技术:

随着互联网的发展,云服务供应商提供的服务越来越多样化,而虚拟机在众多服务中,尤其重要。虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机是运行在物理机上的,而云服务供应商提供的虚拟机是共享物理资源的,这就有可能造成虚拟机间资源的竞争,从而会导致物理机负载不均与虚拟机性能下降。

近年来,针对虚拟机的部署,人们提出了几种虚拟机部署方法,其中,提出一种方法为:从可以部署的虚拟机服务器中,选择出满足当前部署虚拟机的资源需求量的服务器作为候选服务器;对于每台候选服务器,计算候选服务器的剩余资源量和虚拟机资源需求量的匹配度以及虚拟机部署在所属候选服务器的平均能耗利用率,最后计算出候选服务器的综合适应度;从所述候选服务器中,选择出所述综合适应度最高的候选服务器部署虚拟机。这种方法提高了服务器的资源利用率,降低了数据中心的能耗。提出的另一种方法为:根据待部署虚拟机中每两个虚拟机之间的网络部署流量;将待部署虚拟机分为n组,使得n组之间的网络部署流量最小;将n组分别部署在k台物理机上,将同一个组内的虚拟机部署在同一台物理机上。这种方法可以有效节省物理机之间的网络流量。

但是,在第一种虚拟机部署方法中,部署虚拟机后,没有考虑虚拟机的性能。在第二种虚拟机部署方法中,部署虚拟机后,没有考虑物理机负载、也没有考虑虚拟机的性能。



技术实现要素:

为了解决现有技术中存在的上述问题,本发明提供了一种虚拟机部署方法及装置。本发明要解决的技术问题通过以下技术方案实现:

本发明实施例提供了一种虚拟机部署方法,包括:

步骤1、获取物理机集群的第一资源使用率;其中,所述第一资源使用率为所述物理机集群中每个物理机的资源使用率集合;

步骤2、将虚拟机分别拟部署在所述物理机集群的每个物理机上,分别获取将所述虚拟机拟部署在所述每个物理机上时,所述物理机集群的第二资源使用率;其中,所述第二资源使用率为将所述虚拟机拟部署在所述物理机集群上后,所述物理机集群中每个物理机的资源使用率集合;

步骤3、根据所述第一资源使用率和所述多个第二资源使用率,将所述虚拟机部署在物理机集群中指定的所述物理机上。

在本发明的一个实施例中,所述第一资源使用率为所述物理机集群中每个物理机的cpu使用率集合;

所述第二资源使用率为将所述虚拟机部署在所述物理机集群上后,所述物理机集群中每个物理机的cpu使用率集合。

在本发明的一个实施例中,在步骤3之前,还可以包括:

步骤x1、建立虚拟机性能模型。

在本发明的一个实施例中,步骤x1包括:

步骤x11、将预设物理机空载,并在所述预设物理机上部署所述预设虚拟机;

步骤x12、通过测试程序获取所述预设虚拟机在所述预设物理机上的期望性能;

步骤x13、获取所述预设物理机的多个第二资源使用率,并通过测试程序获取每个第二资源使用率对应的所述预设虚拟机的实际性能;

步骤x14、根据所述期望性能和所述多个实际性能,计算对应的多个相对性能;

步骤x15、将所述第二资源使用率和所述多个相对性能拟合成曲线,建立虚拟机性能模型。

在本发明的一个实施例中,所述虚拟机性能模型的公式为:

pyx(ux)=-6×10-0.5×ux2+2*10-0.5×ux+1.014

其中,pyx(ux)为所述物理机的相对性能,ux为第二资源使用率。

在本发明的一个实施例中,步骤3具体为:

步骤31、利用所述第一资源使用率、所述第二资源使用率和所述虚拟机性能模型,计算每个物理机对应的性能下降值;

步骤32、根据所述第二资源使用率,计算每个物理机对应的负载均衡度;

步骤33、利用每个物理机对应的所述负载均衡度和所述性能下降值,计算每个物理机对应的目标值;

步骤34、根据所述每个物理机的目标值,将所述虚拟机部署在指定的所述物理机上。

在本发明的一个实施例中,步骤32包括:

步骤321、通过所述第二资源使用率计算资源使用率平均值;

步骤322、利用所述资源使用率平均值和所述第二资源使用率,计算所述负载均衡度。

本发明的另一个实施例提出了一种虚拟机部署装置,包括:

获取模块,用于获取物理机集群的第一资源使用率和多个第二资源使用率;

第一计算模块,用于根据所述第一资源使用率和所述多个第二资源使用率,计算虚拟机对应的多个性能下降值;

第二计算模块,用于根据所述多个第二资源使用率,计算所述虚拟机对应的多个负载均衡度;

第三计算模块,用于根据所述多个性能下降值和所述多个负载均衡度,计算多个目标值;

确定模块,用于根据所述多个目标值,确定所述虚拟机对应的物理机;

部署模块,将所述虚拟机部署在所述对应的物理机上。

在本发明的一个实施例中,所述第一计算模块包括:

虚拟机性能模型单元,用于所述第一资源使用率或所述第二资源使用率计算物理机的相对性能;

下降值计算单元,用于根据所述相对性能计算所述物理机的下降值。

在本发明的一个实施例中,所述确定模块包括:

存储单元,用于存储多个目标值;

选取单元,用于选取所述多个目标值中最小目标值对应的物理机。

与现有技术相比,本发明的有益效果:

本发明提供的虚拟机部署方法,以最小化的物理机负载均衡度和物理机性能下降值为目标,来实现虚拟机部署,可以均衡物理机负载和保障虚拟机性能,提高了用户体验。

附图说明

图1为本发明提供的一种虚拟机部署方法流程示意图;

图2为本发明提供的一种虚拟机部署装置结构示意图。

具体实施方式

下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。

实施例一

请参见图1,图1为本发明提供的一种虚拟机部署方法流程示意图。设云平台上的虚拟机为vi,虚拟机集群v包括虚拟机vi。虚拟机集群v={v1…vi…vk},物理机集群m={m1…mj…mn}。其中,i、k、j、n均为大于等于1的自然数,且i小于等于k,j小于等于n。

如图1所示,一种虚拟机部署方法,具体的,包括以下步骤:

步骤1、获取物理机集群的第一资源使用率。

设预部署的虚拟机为vi。

具体地,物理机集群的第一资源使用率为部署虚拟机前,物理机集群中各个物理机的cpu使用率集合。即部署vi前,物理机集群m的各个物理机的cpu使用率集合。

获取物理机集群的第一资源使用率,即获取物理机集群的各物理机的cpu使用率集合,将获取的第一资源使用率记录为u={u1、u2...uj...un}。

步骤2、将虚拟机分别拟部署在所述物理机集群的每个物理机上,分别获取将所述虚拟机拟部署在所述每个物理机上时,物理机集群的第二资源使用率。

具体地,物理机集群的第二资源使用率为拟部署虚拟机后,物理机集群中各物理机的cpu使用率集合,即部署vi后,物理机集群m的各个物理机的cpu使用率集合。

步骤21、将vi拟部署在物理机mj上,获取物理机集群的第二资源使用率,即获取物理机集群中的各个物理机的cpu使用率集合,将获取的第二资源使用率记录为其中,r为大于等于1的自然数,且i小于等于n。

步骤22、移除物理机mj上的虚拟机vi,重复步骤21,将虚拟机vi分别拟部署在物理机集群中的其他物理机上,并分别获取多个第二资源使用率。分别记录为u1、u2…uj…un。

步骤3、根据所述第一资源使用率和所述多个第二资源使用率,将所述虚拟机部署在物理机集群中指定的所述物理机上。

步骤x1、建立虚拟机性能模型。

设预设物理机为mx和预设虚拟机为vy;

(1)将mx空载,并在mx上放置预设虚拟机vy;

(2)在vy上运行测试程序,并记录该测试程序的执行时间,该执行时间为vy在mx上的期望性能其中,测试程序为hyperpi基准程序。

(3)提高mx的第二资源使用率,即提高mx的cpu使用率,同时在vy上运行测试程序,记录mx的cpu利用率ux,并记录该程序的执行时间,则在mx的cpu利用率为ux时,该程序的执行时间为vy的实际性能其中,测试程序为hyperpi基准程序;

逐步提高mx的cpu使用率,则可获取多个对应第二资源使用率的实际性能。

(4)根据计算mx的cpu使用率为ux时的相对性能pyx,其公式为:

(5)将mx的cpu利用率ux和对应的相对性能pyx拟合成曲线,建立如下虚拟机性能模型:

pyx(ux)=-6×10-0.5×ux2+2*10-0.5×ux+1.014

其中,pyx(ux)为物理机的相对性能。

步骤31、利用所述第一资源使用率、所述第二资源使用率和所述虚拟机性能模型,计算每个物理机对应的性能下降值;

根据步骤一和步骤二可以得到将vi部署在mj上时,对应的第一资源使用率为u,对应第二资源使用率为uj,其中,

具体地,设mj的性能下降值为wij,则wij的计算公式为:

其中,pij(u)为第一资源使用率为u时的物理机相对性能,pij(uj)为第二资源使用率为uj时的物理机相对性能。

同理,根据u和其他的第二资源使用率,可以计算出每个物理机对应的性能下降值。

步骤32、根据所述第二资源使用率,计算每个物理机的负载均衡度;

步骤321、通过所述第二资源使用率计算资源使用率平均值;

具体地,设对应uj的资源使用率平均值为uavg,则通过uj计算uavg的公式为:

步骤322、利用所述资源使用率平均值和所述第二资源使用率,计算所述负载均衡度。

具体地,设部署vi后的mj的负载均衡度为qij,则qij的计算公式为:

根据多个第二资源使用率,通过步骤321和步骤322,可以计算出每个物理机的负载均衡度。

步骤33、利用每个物理机对应的所述负载均衡度和所述性能下降值,计算每个物理机对应的目标值

具体地,设将虚拟机vi部署在物理机mj上的目标值为δij,则δij的计算公式为:

δij=wij+qij

,根据步骤31和步骤32获取的每个物理机对应的性能下降值和负载均衡度,通过目标值计算公式计算出物理机集群中每个物理机对应的目标值,这些目标值记录为δ={δi1、δi2...δij...δin}。

步骤34、根据所述每个物理机的目标值,将所述虚拟机部署在指定的所述物理机上。

具体地,将步骤33计算得到的多个目标值进行比较,得到最小的目标值。

根据得到的最小的目标值,将vi部署在最小目标值对应的物理机上。即若δ中最小的目标值为δir,则将vi部署在物理机集群的mr上,其中,r为大于等于1的自然数,且r小于等于n。

步骤4、若虚拟机包含于虚拟机集群,则重复步骤1~步骤3,可以将所述虚拟机集群中的其他所述虚拟机部署在所述物理机集群上。

具体地,在部署vi后,物理机集群的第一资源利用率会发生变化。重复步骤步骤1~步骤3,将虚拟机集群中其他虚拟机逐台部署到物理机集群中,直至完成虚拟机集群的部署。

本发明提供了一种虚拟机部署方法,以最小化的物理机负载均衡度和物理机性能下降值为目标,来实现虚拟机部署,可以均衡物理机负载和保障虚拟机性能,提高了用户体验。

实施例二

请参见图2,图2为本发明提供的一种虚拟机部署装置结构示意图。本实施例在上述实施例的基础上,对一种虚拟机部署装置进行了详细描述。

如图2所示,一种虚拟机部署装置,包括:

获取模块,用于获取物理机集群的第一资源使用率和多个第二资源使用率;

具体地,获取模块,获取物理机集群的第一资源使用率和多个第二资源使用率,其中,第一资源使用率为部署虚拟机前,物理机集群中各个物理机的cpu使用率集合,第二资源使用率为将虚拟机部署在物理机集群上后,物理机集群中每个物理机的cpu使用率集合;将虚拟机分别拟部署在物理机集群中不同的物理机上,对应的多个第二资源使用率。其获取方法与实施例一中方法相同,此处不再赘述。

第一计算模块,用于根据所述第一资源使用率和所述多个第二资源使用率,计算虚拟机对应的多个性能下降值;

具体地,第一计算模块从获取模块得到物理机集群的第一资源使用率、多个第二资源使用率和性能模型单元,计算将虚拟机分别拟部署在物理机集群中各物理机上对应的性能下降值,该计算方法与实施例一中的性能下降值计算方法相同,此处不再赘述。

优选地,所述第一计算模块包括:

虚拟机性能模型单元,用于所述第一资源使用率或所述第二资源使用率计算物理机的相对性能;

具体地,虚拟机性能模型单元利用第一资源使用率,计算得到虚拟机部署前的物理机的相对性能,利用多个第二资源使用率,得到虚拟机分别部署到物理机集群中不同物理机上的物理机相对性能。其中,物理机的相对性能计算与实施例一中计算方法相同,此处不再赘述。

下降值计算单元,用于根据所述相对性能计算所述物理机的下降值。

具体地,下降值计算单元根据虚拟机性能模型单元计算出的各相对性能,计算出每个第二资源使用率对应的相对性能。

第二计算模块,用于根据所述多个第二资源使用率,计算所述虚拟机对应的多个负载均衡度;

具体地,第二计算模块计算虚拟机对应的多个负载均衡度的计算方法与实施例一的方法相同,此处不再赘述。

第三计算模块,用于根据所述多个性能下降值和所述多个负载均衡度,计算多个目标值;

具体的,第三计算模块将第二资源使用率对应的性能下降值和负载均衡度进行求和,得到第二资源使用率对应的目标值,同理,依次得到其他第二资源使用率对应的多个目标值。

确定模块,用于根据所述多个目标值,确定所述虚拟机对应的物理机;

优选地,确定模块包括:

存储单元,用于存储多个目标值;

选取单元,用于选取所述多个目标值中最小目标值对应的物理机。

具体地,存储单元将第三计算模块计算得出的多个目标值进行存储,选取单元则将存储的多个目标值进行比较,比较找出最小的目标值,然后选取最小目标值对应的物理机。

部署模块,将所述虚拟机部署在所述对应的物理机上。

具体地,部署模块根据确定模块确定的最小目标值对应的物理机,将虚拟机部署到该物理机上。

具体地,还包括:循环模块,用于切换虚拟机集群中的不同虚拟机,并将虚拟机集群中的不同虚拟机进行逐台部署。

具体地,通过部署模块部署完虚拟机后,循环模块将虚拟机集群中的另一台虚拟机切换至获取模块,直至将虚拟机集群中的所有虚拟机部署到物理集群中后结束。

本发明提供了一种虚拟机部署装置,以最小化的物理机负载均衡度和物理机性能下降值为目标,来实现虚拟机部署,可以均衡物理机负载和保障虚拟机性能,提高了用户体验。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1