CN103473115A - 虚拟机放置方法和装置 - Google Patents

虚拟机放置方法和装置 Download PDF

Info

Publication number
CN103473115A
CN103473115A CN2013104048151A CN201310404815A CN103473115A CN 103473115 A CN103473115 A CN 103473115A CN 2013104048151 A CN2013104048151 A CN 2013104048151A CN 201310404815 A CN201310404815 A CN 201310404815A CN 103473115 A CN103473115 A CN 103473115A
Authority
CN
China
Prior art keywords
virtual machine
physical host
use amount
resource use
started
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013104048151A
Other languages
English (en)
Other versions
CN103473115B (zh
Inventor
于璠
藏洪永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Haining Warp Knitting Industrial Park Development Co., Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310404815.1A priority Critical patent/CN103473115B/zh
Publication of CN103473115A publication Critical patent/CN103473115A/zh
Priority to PCT/CN2014/075111 priority patent/WO2015032201A1/zh
Application granted granted Critical
Publication of CN103473115B publication Critical patent/CN103473115B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种虚拟机放置方法和装置,涉及通信技术领域,解决了浪费物理主机的资源的问题。本发明的方法具体可以包括:获取待启动虚拟机的业务类型;获取业务类型的历史业务负载信息,历史业务负载信息用于描述物理主机在历史时间上执行业务类型的业务时承载的负载量;根据待启动虚拟机的历史业务负载信息计算待启动虚拟机启动时所需要的资源使用量;根据待启动虚拟机启动时所需要的资源使用量将待启动虚拟机放置在相应的物理主机上。本发明提供的方法可应用于虚拟机放置中。

Description

虚拟机放置方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及虚拟机放置方法和装置。
背景技术
服务器虚拟化技术是云计算中基于基础设施层的关键技术。通过对物理服务器进行虚拟化,实现在单台物理节点(之后可称为物理主机)上部署多台虚拟机(虚拟操作***),能够提高物理服务器的资源利用率,降低使用成本。虚拟化集群是将这样的至少两个主机进行统一管理,从而通过虚拟化技术将物理资源抽象为存储、计算、网络等各种资源组成的资源池,虚拟机按需申请资源,被部署到集群中。
虚拟化集群的一项重要特性是为待启动虚拟机动态选择合适的放置位置——虚拟机的初始放置问题:管理中心根据待启动虚拟机的资源需求,以及集群内各主机的资源分布情况,选择合适的物理主机来启动虚拟机,从而实现集群范围内的负载均衡,提高各物理主机的资源使用效率的同时,保证各物理主机都承担适当的负载。
虚拟机放置位置的选择需要考虑的主要因素可以包括:待启动虚拟机的资源需求(可称为资源使用量)、集群中物理主机可用资源量。
目前虚拟化厂商的集群方案可以包括:DRS(Distributed ResourcesScheduling,分布式资源调度)通过在物理主机间自动平衡负载,根据业务优先级调整资源使用量。当集群中的某个虚拟机启动时,DRS会将其放在一个适当的物理主机上,或者根据用户的手动选择生成放置建议。
具体可以包括:可以根据待启动虚拟机的资源使用量确定放置待启动虚拟机的物理主机。虚拟机的规格可以影响虚拟的最大资源使用量,虚拟机的规格可以用于表征虚拟机的最大资源使用量,虚拟机的规格可以包括:虚拟机的处理器(processor)容量、虚拟机的内存等。待启动虚拟机的资源使用量通常可以被设置为虚拟机的规格,即可以被设置为允许的最大资源使用量。
但实际上,虚拟机执行业务的绝大部分的时间内,可能不会达到最大资源使用量,因此初始放置的方法可能导致物理资源的浪费。
发明内容
本发明的实施例提供一种资源使用量的计算方法和装置,提升了计算资源使用量的准确性,进而有效的节省了物理主机的资源。
本发明的实施例采用如下技术方案:
第一方面,提供一种虚拟机放置方法,包括:
获取待启动虚拟机的业务类型;
获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;
根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;
根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
在第一种可能的实现方式中,所述根据所述历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量包括:
根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;
判断所述参考概率分布是否为预设概率分布;
若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);
根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);
根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第二概率分布函数。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算所述G1(x)的极大似然估计值G′1(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算所述G2(x)的极大似然估计值G′2(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G1(x)≤m的x的最大值x10
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G2(x)≤m的x的最大值x20
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,所述根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量包括:
计算满足公式G1(x)≤m的x的最大值x10
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
所述根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G2(x)≤m的x的最大值x20
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
结合第一方面,在第五种可能的实现方式中,所述根据所述历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量,包括:
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6]中的任意数值,其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
结合第一方面或第一方面的第一种可能的实现方式至第五种可能的实现方式中任一种方式,在第六种可能的实现方式中,在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之前,所述方法还包括:
获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,包括:
根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
将所述待启动虚拟机放置在确定的物理主机上。
结合第一方面或第一方面的第一种可能的实现方式至第六种可能的实现方式中任意一种方式,在第七种可能的实现方式中,在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,所述方法还包括:
判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
结合第一方面,在第八种可能的实现方式中,在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,所述方法还包括:
将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭未部署有已启动的虚拟机的物理主机。
第二方面,提供一种虚拟机放置装置,包括:
第一获取单元,用于获取待启动虚拟机的业务类型;
第二获取单元,用于获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;
计算单元,用于根据待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;
放置单元,用于根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
在第一种可能的实现方式中,计算单元,包括:
第一确定模块,用于根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;
判断模块,用于判断所述参考概率分布是否为预设概率分布;
第一获取模块,用于若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);
第二确定模块,用于根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
第二获取模块,用于若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);
第三确定模块,用于根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第一概率分布函数。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第二确定模块,包括:
第一计算子模块,用于计算所述G1(x)的极大似然估计值G′1(x);
第一确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述第三确定模块,包括:
第二计算子模块,用于计算所述G2(x)的极大似然估计值G′2(x);
第二确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,所述第二确定模块,包括:
第三计算子模块,用于计算满足公式G1(x)≤m的x的最大值x10
第三确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述第三确定模块,包括:
第四计算子模块,用于计算满足公式G2(x)≤m的x的最大值x20
第四确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,所述第二确定模块,包括:
第五计算子模块,用于计算满足公式G1(x)≤m的x的最大值x10
第一获取子模块,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第六计算子模块,用于计算f(t0);
第一判断子模块,用于判断公式f(t0)>x0是否成立;
第五确定子模块,用于若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
第六确定子模块,用于若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
所述第三确定模块,包括:
第七计算子模块,用于计算满足公式G2(x)≤m的x的最大值x20
第二获取子模块,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第八计算子模块,用于计算f(t0);
第二判断子模块,用于判断公式f(t0)>x0是否成立;
第七确定子模块,用于若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
第八确定子模块,用于若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
结合第二方面,在第五种可能的实现方式中,所述计算单元,包括:
第三获取模块,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第四确定模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6],其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
结合第二方面或第二方面的第一种可能的实现方式至第五种可能的实现方式中任一种方式,在第六种可能的实现方式中,所述装置还包括:
获取单元,用于在所述放置单元根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之前,获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述放置单元,包括:
第五确定模块,用于根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
第六确定模块,用于将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
放置模块,用于将所述待启动虚拟机放置在确定的物理主机上。
结合第二方面或第二方面的第一种可能的实现方式至第六种可能的实现方式中任意一种方式,在第七种可能的实现方式中,所述装置还包括:
判断单元,用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
第一迁移单元,用于若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
结合第二方面,在第八种可能的实现方式中,所述装置还包括:
第二迁移单元,用于在所述放置单元根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭单元,用于关闭未部署有已启动的虚拟机的物理主机。
第三方面,提供一种物理主机,包括:
硬件层和运行在所述硬件层之上的虚拟机监控单元VMM,以及运行在所述VMM之上的至少一个虚拟机,其中:
所述VMM,用于获取待启动虚拟机的业务类型;获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
在第一种可能的实现方式中,所述VMM,具体用于根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;判断所述参考概率分布是否为预设概率分布;
若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第二概率分布函数。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述VMM,具体用于计算所述G1(x)的极大似然估计值G′1(x);将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述VMM,具体还用于计算所述G2(x)的极大似然估计值G′2(x);将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,所述VMM,具体用于计算满足公式G1(x)≤m的x的最大值x10;将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述VMM,具体用于计算满足公式G2(x)≤m的x的最大值x20;将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
结合第三方面的第一种可能的实现方式,在第四种可能的实现方式中,所述VMM,具体用于计算满足公式G1(x)≤m的x的最大值x10
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
所述VMM,具体还用于计算满足公式G2(x)≤m的x的最大值x20
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
结合第三方面,在第五种可能的实现方式中,所述VMM,具体用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6],其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
结合第三方面或第三方面的第一种可能的实现方式至第五种可能的实现方式中任一种方式,在第六种可能的实现方式中,所述VMM,还用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之前,获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,包括:
根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
将所述待启动虚拟机放置在确定的物理主机上。
结合第三方面或第三方面的第一种可能的实现方式至第六种可能的实现方式中任意一种方式,在第七种可能的实现方式中,所述VMM,还用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
结合第三方面,在第八种可能的实现方式中,所述VMM,还用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭未部署有已启动的虚拟机的物理主机。
第四方面,提供一种集群***,包括一个或多个第三方面或第三方面的第一种可能的实现方式至第十种可能的实现方式中任一种方式中所述的物理主机,其中所述一个或多个物理主机之间具有通信连接。
本发明实施例提供的虚拟机放置方法和装置,采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中虚拟机放置方法的流程图;
图2为本实施例提供的一种虚拟机放置方法的流程图;
图3为本实施例提供的另一种虚拟机放置方法的流程图;
图4为本实施例提供的一种虚拟机放置装置的结构示意图;
图5为本实施例提供的另一种虚拟机放置装置的结构示意图;
图6为本实施例提供的一种物理主机的结构示意图;
图7为本实施例提供的一种***的结构示意图;
图8本实施例提供的一种集群***的结构示意图;
图9为本实施例提供的另一种物理主机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素;
虚拟机VM:
通过虚拟机软件可以在一台物理主机上模拟出一台或者多台虚拟的计算机,而这些虚拟机就像真正的计算机那样进行工作,虚拟机上可以安装操作***和应用程序,虚拟机还可访问网络资源。对于在虚拟机中运行的应用程序而言,虚拟机就像是在真正的计算机中进行工作。
硬件层:
虚拟化环境运行的硬件平台。其中,硬件层可包括多种硬件,例如某计算节点的硬件层可包括CPU(Central Processing Unit,中央处理器)和内存,还可以包括网卡、存储器等等高速/低速输入/输出(I/O,Input/Output)设备,及具有特定处理功能的其它设备,如输入输出内存管理单元(IOMMU,Input/OutputMemory Management Unit),其中IOMMU可用于虚拟机物理地址和Host物理地址的转换。
虚拟机监控器(VMM,Virtual Machine Manager):
作为管理层,用以完成硬件资源的管理、分配;为虚拟机呈现虚拟硬件平台;实现虚拟机的调度和隔离。其中,虚拟硬件平台对其上运行的各个虚拟机提供各种硬件资源,如提供虚拟处理器(如VCPU)、内存、虚拟磁盘、虚拟网卡等等。其中,该虚拟磁盘可对应VMM的一个文件或者一个逻辑块设备。虚拟机则运行在VMM为其准备的虚拟硬件平台上,VMM上运行一个或多个虚拟机。需要说明的是,本发明的虚拟机监控器也可以理解成宿主机Host。
为了便于对实施例的理解,下面对现有技术中管理中心初始放置待启动虚拟机的方法进行简单介绍。
用户开启新的虚拟机、或故障虚拟机重启、或物理主机进入维护模式时虚拟机撤离等情况均会触发虚拟机的启动;
如图1所示,具体步骤可以包括:
获取待启动虚拟机的规格,以待启动虚拟机的规格作为待启动虚拟机启动时所需的资源使用量,以处理器为CPU为例进行说明,虚拟机规格定义可以为:虚拟机配置为两个CPU和4GB内存,那么该虚拟机的CPU规格为两个物理CPU能力,内存规格为4GB能力;
管理中心还可以定时收集集群中每个物理主机的CPU和内存的资源使用量,可以包括物理主机的CPU容量(例如,物理主机包括16个CPU,每个CPU的主频为2.4GHZ,那么该物理主机的容量为16*2.4=38.4GHz)、主机CPU使用率、主机内存容量、主机内存使用率等;
根据新开启虚拟机的规格以及集群中每个物理主机的资源使用量(即物理主机的规格),以物理主机的资源使用量的方差为目标,采用全遍历的算法,确定放置待启动虚拟机的目标物理主机,可以将资源使用量的方差较小的物理主机确定为目标物理主机;
在选定的目标物理主机上执行虚拟机启动的指令。
但实际上,虚拟机执行业务的业务绝大部分的时间内,可能不会达到到最大资源使用量(即不达到虚拟机的规格),因此初始放置的方法可能导致物理资源的浪费。
为了解决上述问题,本实施例提供一种虚拟机放置方法,该方法的执行主体VMM,如图2所示,可以包括:
201、获取待启动虚拟机的业务类型。
执行不同业务类型的业务时所带来的承载的负载是不同的,为了获取待启动虚拟机的负载信息,首先获取待启动虚拟机的业务类型。
本实施例对业务类型的种类不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,例如,可以为语音业务、数据业务等,在此不再赘述。
202、获取业务类型的历史业务负载信息。
其中,历史业务负载信息可以用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量。
作为本实施例的一种实施方式,在虚拟机执行完相应的业务后,可以存储执行的相应的业务信息(如,可以包括业务类型信息)与执行该业务时承载的负载量的对应关系,以得到历史业务负载信息,如,可以但不限于将历史业务负载信息存储在一个关系列表中。
本实施例对在虚拟机执行完相应的业务后存储的信息的内容与存储方式不作限定,可以根据实际需要进行设定,在此不再赘述。
203、根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量。
作为本实施例的一种实施方式,为了可以准确的获取待启动虚拟机启动时所需要的资源使用量,可以根据待启动虚拟机的历史业务负载信息来估计待启动虚拟机启动时所需要的资源使用量。
204、根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
不同的物理主机空闲的资源不同,为了使选取的物理主机可以有足够的资源供待启动虚拟机使用,则可以根据待启动虚拟机启动时所需要的资源使用量确定放置待启动虚拟机的物理主机,如,放置待启动虚拟机的物理主机可提供的资源量大于或等于待启动虚拟机启动时所需要的资源使用量。
采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
本实施例提供另一种虚拟机放置方法,该方法是对图2所示的方法的进一步扩展和优化,如图3所示,可以包括:
301、获取待启动虚拟机的业务类型。
执行不同业务类型的业务时所承载的负载量可能不同,为了获取待启动虚拟机的负载信息,首先可以获取待启动虚拟机的业务类型。
本实施例对业务类型的种类不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,例如,可以为语音业务、数据业务等,在此不再赘述。
302、获取业务类型的历史业务负载信息。
其中,历史业务负载信息可以但不限于用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量。
作为本实施例的一种实施方式,在虚拟机执行完相应的业务后,可以存储执行的相应的业务信息(如,可以包括业务类型信息)与执行该业务时承载的负载量的对应关系,以得到历史业务负载信息,如,可以但不限于将历史业务负载信息存储在一个关系列表中。
本实施例对在虚拟机执行完相应的业务后存储的信息的内容与方式不作限定,可以根据实际需要进行设定,在此不再赘述。
303、根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量。
作为本实施例的一种实施方式,VMM可以根据历史业务负载信息确定待启动虚拟机启动时所需要的资源使用量(即可以但不限于为物理主机在启动待启动虚拟机时,执行待启动虚拟机的业务时所承载的负载量),这样,可以准确的调度物理主机的资源,避免了浪费物理主机的资源。
进一步的,根据所述历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量可以包括:
根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;
判断所述参考概率分布是否为预设概率分布;
若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);
根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);
根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第二概率分布函数。
本实施例对非参数估计方法不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,在此不再赘述。
进一步的,根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量,可以包括:
计算所述G1(x)的极大似然估计值′1(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
其中,所述b1为预设值。
作为本实施例的一种实施方式,将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值可以但不限于包括:
可以设置b1=0,即,将待启动虚拟机启动时所需要的资源使用量确定为G′2(x);或者,可以设置b1≠0。
本实施例对b1的数值不作限定,可以根据实际需要进行设定,例如,可以但不限于为1、0.1等,在此不再赘述。
作为本实施例的一种实施方式,计算所述G1(x)的极大似然估计值G′1(x)可以包括:
计算G1(x)的似然函数;对计算出的似然函数取对数,并整理;对整理后的似然函数求导;解求导后的似然函数,得到的解即为G′1(x)。
本实施对计算所述G1(x)的极大似然估计值G′1(x)的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。
进一步的,根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G1(x)≤m的x的最大值x10
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值。
其中,所述b3为预设值,m为指定的容忍业务过载比例。
作为本实施例的一种实施方式,将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值可以但不限于包括:
设置b3=0,即,将待启动虚拟机启动时所需要的资源使用量确定为G′2(x),;或者,设置b3≠0。
本实施例对b3的数值不作限定,可以根据实际需要进行设定,例如,可以但不限于为0、1、0.1等,在此不再赘述。
进一步的,根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量可以包括:
计算满足公式G1(x)≤m的x的最大值x10
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
进一步的,所述根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算所述G2(x)的极大似然估计值G′2(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,b2为预设值。
本实施例对b2的数值不作限定,可以根据实际需要进行设定,例如,可以但不限于为1、0.1等,在此不再赘述。
进一步的,根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G2(x)≤m的x的最大值x20
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b4为预设值,m为指定的容忍业务过载比例。
作为本实施例的一种实施方式,将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值可以但不限于包括:
设置b4=0,即,将待启动虚拟机启动时所需要的资源使用量确定为G′2(x),;或者,设置b4≠0。
本实施例对b4的数值不作限定,可以根据实际需要进行设定,例如,可以但不限于为0、1、0.1等,在此不再赘述。
进一步的,根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量可以包括:
计算满足公式G2(x)≤m的x的最大值x20
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
进一步的,根据所述历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量可以包括:
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6]中的任意数值,其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
具体的,确定启动待启动虚拟机的时刻t0,然后,计算f(t0);VMM可以设置b6=0,即将待启动虚拟机启动时所需要的资源使用量确定为f(t0);或者,设置b6≠0。
本实施例对b6的数值不作限定,可以根据实际需要进行设定,例如,可以但不限于为1、0.1等,在此不再赘述。
本实施例对获取存储的待启动虚拟机的历史业务负载信息的预测模型f(t)的方法不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,例如,可以为采用神经网络的预测方法获取存储的待启动虚拟机的历史业务负载信息的预测模型f(t),在此不再赘述。其中,神经网络的预测方法为本领域技术人员熟知的技术,在此步骤赘述。
本实施例对根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量的方法不作限定,可以根据实际需要进行设定,在此不再赘述。
304、获取物理主机的资源使用量。
物理主机的资源使用量可以但不限于包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种。
其中,处理器可以但不限于为:CPU、DSP(Digital Singnal Processor,微处理器)等。
305、根据所述物理主机的资源使用量确定物理主机能够提供的资源量。
作为本实施例的一种实施方式,VMM可以获取物理主机能够提供的最大资源量,并还可以获取物理主机当前的资源使用量,将最大资源量减去当前的资源使用量,得到物理主机当前能够提供的资源量。
本实施例对根据所述物理主机的资源使用量确定物理主机能够提供的资源量是方法不作限定,为本领域技术人员熟知的技术,且可以根据实际需要进行设定,在此不再赘述。
306、将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机。
307、将所述待启动虚拟机放置在确定的物理主机上。
作为本实施例的一种实施方式,VMM可以将能够满足待启动虚拟机启动时所需要的资源使用量的物理主机确定为放置待启动虚拟机的物理主机,如,放置待启动虚拟机的物理主机可提供的资源量大于待启动虚拟机启动时所需要的资源使用量。
进一步的,VMM可以以最小化主机数目为目标确定放置待启动虚拟机的物理主机。
具体可以包括:
可以将物理主机分为两个部分:P1(包含启动的虚拟机)和P2(不包含启动的虚拟机);按照物理主机的资源空闲量从大到小或从小到大的顺序,对P1中的物理主机进行排序;在P1中优先选择资源使用最少的物理主机作为指定的物理主机;如果上述步骤没有选出合适的物理主机,则在P2中选择空闲的物理主机;在选定的物理主机上执行虚拟机启动的指令。
步骤301至步骤307为初始放置待启动虚拟机的步骤,在将待启动虚拟机放置在确定的物理主机中并启动后,由于,物理主机启动的虚拟机的数量逐渐增加,物理主机可以提供的资源量可能会随之减少,物理主机的负载量过大会降低该物理主机的性能,因此,需要将运行在这些物理主机上的至少一个虚拟机迁移至其他物理主机中,以释放该物理主机中的资源(换言之,可以为减小该物理主机的负载),具体方法可以参见步骤308和步骤309。在多个物理主机中选择所述其他物理主机的方法可以参见步骤301和步骤307中描述的方法,在此步骤赘述。
308、判断所述物理主机当前能够提供的资源量是否小于运行在所述物理主机上的至少一个虚拟机要求的资源量。若小于,则执行步骤309,若不小于,则流程结束。
309、将所述至少一个虚拟机迁移至除所述物理主机外的其他物理主机上。
其中,所述其他物理主机能够提供的资源量大于所述物理主机能够提供的资源量。
作为本实施例的一种实施方式,VMM可以但不限于将至少一个虚拟机迁移至除所述物理主机外的所有其他物理主机上,或,VMM可以但不限于将至少一个虚拟机迁移至除所述物理主机外的部分其他物理主机上。
执行步骤310。
进一步的,VMM不仅可以通过步骤308、309中记载的方法迁移虚拟机,还可以通过步骤308’、309’中记载的方法迁移虚拟机。
308’、判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差。若大于,则执行步骤309’,若不大于,则流程结束。
方差是实际值与期望值之差平方的期望值,在实际计算中,通常可以用以下方法计算方差。
方差是各个数据与平均数之差的平方的平均数,即:
s 2 = 1 n [ ( x 1 - x ) 2 + ( x 2 - x ) 2 + . . . + ( x n - x ) 2 ] ,
其中,x为样本的平均值,n为样本的数量,xm为样本个体,m∈[1,n]为下角标,s2为方差。
本实施例中,计算物理主机的资源使用量的方差可以但不限于包括:
首先,VMM可以从物理主机的资源使用量中获取n个样本xm,然后,再计算n个样本xm的平均值x,最后,可以根据公式
Figure BDA0000378497260000312
计算物理主机的资源使用量的方差s2
本实施例对计算物理主机的资源使用量的方差是方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。
309’、将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上。
其中,其他物理主机能够提供的资源量大于所述预设资源使用量。
作为本实施例的一种实施方式,VMM可以但不限于将至少一个虚拟机迁移至除所述物理主机外的所有其他物理主机上,或,VMM可以但不限于将至少一个虚拟机迁移至除所述物理主机外的部分其他物理主机上。
进一步的,VMM不仅可以根据步骤308、309、308’以及309’迁移虚拟机,还可以根据指示将虚拟机迁移至指定的物理主机中,具体步骤可以参见步骤310和311。
310、将已启动的虚拟机迁移到至少一个指定的物理主机中。
进一步的,指定的物理主机的数量小于集群中所有物理主机的数量。
作为本实施例的一种实施方式,可以根据步骤301至步骤307中描述的方法确定将已启动的虚拟机迁移到哪个指定的物理主机中
311、关闭未包含有启动的虚拟机的物理主机。
在集群中的物理主机处于低利用率期间(即可以为群集的资源需求减少),此时,可以把工作负载整合到少数几台指定的物理主机中,并关闭未包含有启动的虚拟机的物理主机,以降低群集的电力消耗。在集群中的物理主机处于高利用率期间,工作负载的资源需求增加,可以将已关闭的物理主机重新联机以确保符合服务级别。
采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
另外,在将待启动虚拟机放置在屋里主机上并启动后,若物理主机可提供的资源量不能满足虚拟机要求的资源使用量,则可以将虚拟机迁移至其他物理主机上,其他物理主体能够提供的资源量大于虚拟机要求的资源使用量,这样,可以使虚拟机可以正常的工作;还可以根据指示将虚拟机迁移至指定物理主机上,指定的物理主机的数量小于集群***中所有物理主机的数量,并关闭未部署有已启动的虚拟机的物理主机。这样,可以把工作负载整合到少数几台指定的物理主机中,并关闭未包含有启动的虚拟机的物理主机,以降低群集的电力消耗。
下面提供一些虚拟装置实施例,该虚拟装置实施例分别于上述提供的相应的方法实施例相对应。
本实施例提供一种虚拟机放置装置,如图4所示,可以包括:
第一获取单元41,用于获取待启动虚拟机的业务类型;
第二获取单元42,用于获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;
计算单元43,用于根据待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;
放置单元44,用于根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
本实施例提供另一种虚拟机放置装置,该装置是对图4所示的装置的进一步扩展和优化,如图5所示,可以包括:
第一获取单元51,用于获取待启动虚拟机的业务类型;
第二获取单元52,用于获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;
计算单元53,用于根据待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;
放置单元54,用于根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
进一步的,计算单元53,包括:
第一确定模块531,用于根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;
判断模块532,用于判断所述参考概率分布是否为预设概率分布;
第一获取模块533,用于若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);
第二确定模块534,用于根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
第二获取模块535,用于若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);
第三确定模块536,用于根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第一概率分布函数。
进一步的,第二确定模块534,包括:
第一计算子模块5341,用于计算所述G1(x)的极大似然估计值G′1(x);
第一确定子模块5342,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述第三确定模块536,包括:
第二计算子模块5361,用于计算所述G2(x)的极大似然估计值G′2(x);
第二确定子模块5362,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
进一步的,第二确定模块534,包括:
第三计算子模块5343,用于计算满足公式G1(x)≤m的x的最大值x10
第三确定子模块5344,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述第三确定模块536,包括:
第四计算子模块5363,用于计算满足公式G2(x)≤m的x的最大值x20
第四确定子模块5364,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
进一步的,第二确定模块534,包括:
第五计算子模块5345,用于计算满足公式G1(x)≤m的x的最大值x10
第一获取子模块5346,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第六计算子模块5347,用于计算f(t0);
第一判断子模块5348,用于判断公式f(t0)>x0是否成立;
第五确定子模块5349,用于若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
第六确定子模块53410,用于若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
所述第三确定模块536,包括:
第七计算子模块5365,用于计算满足公式G2(x)≤m的x的最大值x20
第二获取子模块5366,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第八计算子模块5367,用于计算f(t0);
第二判断子模块5368,用于判断公式f(t0)>x0是否成立;
第七确定子模块5369,用于若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
第八确定子模块53610,用于若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
进一步的,计算单元53,包括:
第三获取模块537,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第四确定模块538,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6],其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
进一步的,本实施例提供的虚拟机放置装置还包括:
获取单元55,用于在所述放置单元根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之前,获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述放置单元54,包括:
第五确定模块541,用于根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
第六确定模块542,用于将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
放置模块543,用于将所述待启动虚拟机放置在确定的物理主机上。
进一步的,本实施例提供的虚拟机放置装置还可以包括:
判断单元56,用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
第一迁移单元57,用于若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
进一步的,本实施例提供的虚拟机放置装置还可以包括:
第二迁移单元58,用于在所述放置单元根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭单元59,用于关闭未部署有已启动的虚拟机的物理主机。
采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
另外,在将待启动虚拟机放置在屋里主机上并启动后,若物理主机可提供的资源量不能满足虚拟机要求的资源使用量,则可以将虚拟机迁移至其他物理主机上,其他物理主体能够提供的资源量大于虚拟机要求的资源使用量,这样,可以使虚拟机可以正常的工作;还可以根据指示将虚拟机迁移至指定物理主机上,指定的物理主机的数量小于集群***中所有物理主机的数量,并关闭未部署有已启动的虚拟机的物理主机。这样,可以把工作负载整合到少数几台指定的物理主机中,并关闭未包含有启动的虚拟机的物理主机,以降低群集的电力消耗。
下面提供一些实体装置实施例,该实体装置实施例与上述提供的虚拟装置实施例和方法实施例相对应。
本实施例提供一种物理主机,如图6所示,包括:
硬件层61和运行在所述硬件层之上的虚拟机监控单元VMM62,以及运行在所述VMM62之上的至少一个虚拟机63,其中:
所述VMM62,用于获取待启动虚拟机63的业务类型;获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;根据所述待启动虚拟机63的历史业务负载信息计算所述待启动虚拟机63启动时所需要的资源使用量;根据所述待启动虚拟机63启动时所需要的资源使用量将所述待启动虚拟机63放置在相应的物理主机上。
本实施例中,相应的物理主机可以是设置有VMM62的物理主机,也可以是***中与设置有VMM62的物理主机不同的物理主机。
换言之,本实施例执行相应步骤的VMM62可以设置于图6所示的物理主机中,待启动虚拟机可以被确定放置在图6所示的物理主机中,也可以被放置在***中的其他物理主机中,即本实施例执行相应步骤的VMM62可以与待启动虚拟机可以被放置在同一个物理主机中,也可以被放置在不同物理主机中。
采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
本实施例提供另一种物理主机,该物理主机是对图6所示的物理主机的进一步扩展和优化,如图6所示,可以包括:
硬件层61和运行在所述硬件层之上的虚拟机监控单元VMM62,以及运行在所述VMM62之上的至少一个虚拟机63,其中:
所述VMM62,用于获取待启动虚拟机63的业务类型;获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;根据所述待启动虚拟机63的历史业务负载信息计算所述待启动虚拟机63启动时所需要的资源使用量;根据所述待启动虚拟机63启动时所需要的资源使用量将所述待启动虚拟机63放置在相应的物理主机上。
进一步的,VMM62,具体用于根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;判断所述参考概率分布是否为预设概率分布;
若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);根据所述G1(x)确定所述待启动虚拟机63启动时所需要的资源使用量;
若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);根据所述G2(x)确定所述待启动虚拟机63启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第二概率分布函数。
进一步的,VMM62,具体用于计算所述G1(x)的极大似然估计值G′1(x);将所述待启动虚拟机63启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述VMM62,具体还用于计算所述G2(x)的极大似然估计值G′2(x);将所述待启动虚拟机63启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
进一步的,VMM62,具体用于计算满足公式G1(x)≤m的x的最大值x10;将所述待启动虚拟机63启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述VMM62,具体用于计算满足公式G2(x)≤m的x的最大值x20;将所述待启动虚拟机63启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
进一步的,VMM62,具体用于计算满足公式G1(x)≤m的x的最大值x10
获取存储的所述待启动虚拟机63的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机63启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机63启动时所需要的资源使用量确定为所述x10
所述VMM62,具体还用于计算满足公式G2(x)≤m的x的最大值x20
获取存储的所述待启动虚拟机63的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机63启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机63启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机63的时刻。
进一步的,VMM62,具体用于获取存储的所述待启动虚拟机63的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
将所述待启动虚拟机63启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6],其中,所述t0为启动所述待启动虚拟机63的时刻,所述b6为预设值。
进一步的,VMM62,具体用于采用神经网络的预测方法获取存储的所述待启动虚拟机63的所述历史业务负载信息的预测模型f(t)。
进一步的,VMM62,还用于在所述根据所述待启动虚拟机63启动时所需要的资源使用量将所述待启动虚拟机63放置在相应的物理主机上之前,获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述根据所述待启动虚拟机63启动时所需要的资源使用量将所述待启动虚拟机63放置在相应的物理主机上,包括:
根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
将所述能够提供的资源量大于所述待启动虚拟机63启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机63的物理主机;
将所述待启动虚拟机63放置在确定的物理主机上。
进一步的,VMM62,还用于在所述根据所述待启动虚拟机63启动时所需要的资源使用量将所述待启动虚拟机63放置在相应的物理主机上之后,判断所述物理主机当前能够提供的资源量是否小于运行在所述物理主机上的至少一个虚拟机63要求的资源量;
若小于所述物理主机上的至少一个虚拟机63要求的资源量,则将所述至少一个虚拟机63迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述物理主机能够提供的资源量。
进一步的,VMM62,还用于在所述根据所述待启动虚拟机63启动时所需要的资源使用量将所述待启动虚拟机63放置在相应的物理主机上之后,判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机63迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
进一步的,VMM62,还用于在所述根据所述待启动虚拟机63启动时所需要的资源使用量将所述待启动虚拟机63放置在相应的物理主机上之后,将已启动的虚拟机63迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭未部署有已启动的虚拟机63的物理主机。
进一步的,本实施例提供的VMM62可以设置于放置待启动虚拟机63的物理主机上,或,还可以设置于与放置待启动虚拟机63的物理主机不同的物理主机上。
作为本实施例的一种实施方式,如图7所示,为***机构示意图,其中,可以包括三个物理主机(物理知己10、物理主机20、物理主机30),在这三个物理主机中均设置有VMM,若待启动虚拟机被确定放置在物理主机10中,则本实施例中的VMM62可以为物理主机10中的VMM12,或,本实施例中的VMM62还可以为物理主机20中的VMM22,或,本实施例中的VMM62还可以为物理主机30中的VMM32。
另外,如图7所示,***中还可以包括管理服务器40,可以但不限于存储有虚拟机与物理主机的资源使用量、虚拟机与物理主机当前的状态,如,空闲状态、工作状态等,以供VMM获取相应的信息。
采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
另外,在将待启动虚拟机放置在屋里主机上并启动后,若物理主机可提供的资源量不能满足虚拟机要求的资源使用量,则可以将虚拟机迁移至其他物理主机上,其他物理主体能够提供的资源量大于虚拟机要求的资源使用量,这样,可以使虚拟机可以正常的工作;还可以根据指示将虚拟机迁移至指定物理主机上,指定的物理主机的数量小于集群***中所有物理主机的数量,并关闭未部署有已启动的虚拟机的物理主机。这样,可以把工作负载整合到少数几台指定的物理主机中,并关闭未包含有启动的虚拟机的物理主机,以降低群集的电力消耗。
下面提供一个***实施例,该***实施例与上述提供的方法和虚拟装置实施例相对应。
本实施例提供一种集群***,如图8所示,包括:一个或多个图4和图5所示的物理主机,其中,所述一个或多个物理主机之间具有通信连接。
采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
另外,在将待启动虚拟机放置在屋里主机上并启动后,若物理主机可提供的资源量不能满足虚拟机要求的资源使用量,则可以将虚拟机迁移至其他物理主机上,其他物理主体能够提供的资源量大于虚拟机要求的资源使用量,这样,可以使虚拟机可以正常的工作;还可以根据指示将虚拟机迁移至指定物理主机上,指定的物理主机的数量小于集群***中所有物理主机的数量,并关闭未部署有已启动的虚拟机的物理主机。这样,可以把工作负载整合到少数几台指定的物理主机中,并关闭未包含有启动的虚拟机的物理主机,以降低群集的电力消耗。
下面提供另一个实体装置实施例,该实体装置实施例与上述提供的虚拟装置实施例和方法实施例相对应。
图9描述了本发明实施例提供的另一种物理主机600的结构,该物理主机600包括:至少一个处理器601,例如CPU,至少一个网络接口604或者其他用户接口603,存储器605,至少一个通信总线602。通信总线602用于实现这些组件之间的连接通信。该物理主机600可选的包含用户接口603,包括显示器,键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏)。存储器605可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器605可选的可以包含至少一个位于远离前述处理器601的存储装置。
在一些实施方式中,存储器605存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作***6051,包含各种***程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块6052,包含各种应用程序,用于实现各种应用业务。
如图4所示,应用程序模块6052中包括但不限第一获取单元41、第二获取单元42、计算单元43以及放置单元44。
应用程序模块6052中各模块的具体实现参见图5所示实施例中的相应模块,在此不赘述。
在本发明实施例中,通过调用存储器605存储的程序或指令,处理器601用于:获取待启动虚拟机的业务类型;
获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;
根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;
根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
在上述各个实施例中,进一步地,所述处理器601,具体用于根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;
判断所述参考概率分布是否为预设概率分布;
若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);
根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);
根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第二概率分布函数。
进一步的,处理器601,具体用于计算所述G1(x)的极大似然估计值G′1(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
处理器601,具体用于计算所述G2(x)的极大似然估计值G′2(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
进一步的,处理器601,具体用于计算满足公式G1(x)≤m的x的最大值x10
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
处理器601,具体用于计算满足公式G2(x)≤m的x的最大值x20
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
进一步的,处理器601,具体用于计算满足公式G1(x)≤m的x的最大值x10
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
处理器601,具体用于计算满足公式G2(x)≤m的x的最大值x20
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
进一步的,处理器601,具体用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6]中的任意数值,其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
进一步的,处理器601,具体用于采用神经网络的预测方法获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t)。
进一步的,处理器601,还用于获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,包括:
根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
将所述待启动虚拟机放置在确定的物理主机上。
进一步的,处理器601,还用于判断所述物理主机当前能够提供的资源量是否小于运行在所述物理主机上的至少一个虚拟机要求的资源量;
若小于所述物理主机上的至少一个虚拟机要求的资源量,则将所述至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述物理主机能够提供的资源量。
进一步的,处理器601,还用于判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
进一步的,处理器601,还用于将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭未部署有已启动的虚拟机的物理主机。
可见,采用上述方案后,根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;并根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,与现有技术以待启动虚拟机的规格作为待启动虚拟机的资源使用量相比,根据历史业务负载信息计算的待启动虚拟机启动时所需的资源使用量更加准确,有效的避免了物理主机资源的浪费。
另外,在将待启动虚拟机放置在屋里主机上并启动后,若物理主机可提供的资源量不能满足虚拟机要求的资源使用量,则可以将虚拟机迁移至其他物理主机上,其他物理主体能够提供的资源量大于虚拟机要求的资源使用量,这样,可以使虚拟机可以正常的工作;还可以根据指示将虚拟机迁移至指定物理主机上,指定的物理主机的数量小于集群***中所有物理主机的数量,并关闭未部署有已启动的虚拟机的物理主机。这样,可以把工作负载整合到少数几台指定的物理主机中,并关闭未包含有启动的虚拟机的物理主机,以降低群集的电力消耗。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (28)

1.一种虚拟机放置方法,其特征在于,包括:
获取待启动虚拟机的业务类型;
获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;
根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;
根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
2.根据权利要求1所述的虚拟机放置方法,其特征在于,所述根据所述历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量包括:
根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;
判断所述参考概率分布是否为预设概率分布;
若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);
根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);
根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第二概率分布函数。
3.根据权利要求2所述的虚拟机放置方法,其特征在于,所述根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算所述G1(x)的极大似然估计值G′1(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算所述G2(x)的极大似然估计值G′2(x);
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
4.根据权利要求2所述的虚拟机放置方法,其特征在于,所述根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G1(x)≤m的x的最大值x10
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G2(x)≤m的x的最大值x20
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
5.根据权利要求2所述的虚拟机放置方法,其特征在于,所述根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量包括:
计算满足公式G1(x)≤m的x的最大值x10
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
所述根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量,包括:
计算满足公式G2(x)≤m的x的最大值x20
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
6.根据权利要求1所述的虚拟机放置方法,其特征在于,所述根据所述历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量,包括:
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6]中的任意数值,其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
7.根据权利要求1至6中任意一项所述的虚拟机放置方法,其特征在于,在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之前,所述方法还包括:
获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,包括:
根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
将所述待启动虚拟机放置在确定的物理主机上。
8.根据权利要求1至7任一项所述的虚拟机放置方法,其特征在于,在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,所述方法还包括:
判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
9.根据权利要求1所述的虚拟机放置方法,其特征在于,在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,所述方法还包括:
将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭未部署有已启动的虚拟机的物理主机。
10.一种虚拟机放置装置,其特征在于,包括:
第一获取单元,用于获取待启动虚拟机的业务类型;
第二获取单元,用于获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;
计算单元,用于根据待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;
放置单元,用于根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
11.根据权利要求10所述的虚拟机放置装置,其特征在于,所述计算单元,包括:
第一确定模块,用于根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;
判断模块,用于判断所述参考概率分布是否为预设概率分布;
第一获取模块,用于若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);
第二确定模块,用于根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
第二获取模块,用于若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);
第三确定模块,用于根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第一概率分布函数。
12.根据权利要求11所述的虚拟机放置装置,其特征在于,所述第二确定模块,包括:
第一计算子模块,用于计算所述G1(x)的极大似然估计值G′1(x);
第一确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述第三确定模块,包括:
第二计算子模块,用于计算所述G2(x)的极大似然估计值G′2(x);
第二确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
13.根据权利要求11所述的虚拟机放置装置,其特征在于,所述第二确定模块,包括:
第三计算子模块,用于计算满足公式G1(x)≤m的x的最大值x10
第三确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述第三确定模块,包括:
第四计算子模块,用于计算满足公式G2(x)≤m的x的最大值x20
第四确定子模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
14.根据权利要求11所述的虚拟机放置装置,其特征在于,所述第二确定模块,包括:
第五计算子模块,用于计算满足公式G1(x)≤m的x的最大值x10
第一获取子模块,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第六计算子模块,用于计算f(t0);
第一判断子模块,用于判断公式f(t0)>x0是否成立;
第五确定子模块,用于若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
第六确定子模块,用于若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
所述第三确定模块,包括:
第七计算子模块,用于计算满足公式G2(x)≤m的x的最大值x20
第二获取子模块,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第八计算子模块,用于计算f(t0);
第二判断子模块,用于判断公式f(t0)>x0是否成立;
第七确定子模块,用于若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
第八确定子模块,用于若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
15.根据权利要求10所述的虚拟机放置装置,其特征在于,所述计算单元,包括:
第三获取模块,用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
第四确定模块,用于将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6],其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
16.根据权利要求10至15中任意一项所述的虚拟机放置装置,其特征在于,所述装置还包括:
获取单元,用于在所述放置单元根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之前,获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述放置单元,包括:
第五确定模块,用于根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
第六确定模块,用于将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
放置模块,用于将所述待启动虚拟机放置在确定的物理主机上。
17.根据权利要求10至16中任一项所述的虚拟机放置装置,其特征在于,所述装置还包括:
判断单元,用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
第一迁移单元,用于若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
18.根据权利要求10所述的虚拟机放置装置,其特征在于,所述装置还包括:
第二迁移单元,用于在所述放置单元根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭单元,用于关闭未部署有已启动的虚拟机的物理主机。
19.一种物理主机,其特征在于,包括:硬件层和运行在所述硬件层之上的虚拟机监控单元VMM,以及运行在所述VMM之上的至少一个虚拟机,其中:
所述VMM,用于获取待启动虚拟机的业务类型;获取所述业务类型的历史业务负载信息,所述历史业务负载信息用于描述物理主机在历史时间上执行所述业务类型的业务时承载的负载量;根据所述待启动虚拟机的历史业务负载信息计算所述待启动虚拟机启动时所需要的资源使用量;根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上。
20.根据权利要求19所述的物理主机,其特征在于,所述VMM,具体用于根据公式F(x)=P(a<x)确定所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的参考概率分布;判断所述参考概率分布是否为预设概率分布;
若所述参考概率分布不为预设概率分布,则根据所述F(x)通过非参数估计方法获取函数G1(x);根据所述G1(x)确定所述待启动虚拟机启动时所需要的资源使用量;
若所述参考概率分布为预设概率分布,则从预设概率分布对应的函数中获取与所述F(x)对应的函数G2(x);根据所述G2(x)确定所述待启动虚拟机启动时所需要的资源使用量;
其中,F(x)为参考概率分布函数,x为所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量,P(a<x)为在所述历史时间上负载量a小于所述x的概率,所述G1(x)为所述a<x的第一概率分布函数,所述G2(x)为所述a<x的第二概率分布函数。
21.根据权利要求20所述的物理主机,其特征在于,所述VMM,具体用于计算所述G1(x)的极大似然估计值G′1(x);将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′1(x)+b1,G′1(x)-b1]中的任意数值;
所述VMM,具体还用于计算所述G2(x)的极大似然估计值G′2(x);将所述待启动虚拟机启动时所需要的资源使用量确定为区间[G′2(x)+b2,G′2(x)-b2]中的任意数值。
其中,所述b1和所述b2为预设值。
22.根据权利要求20所述的物理主机,其特征在于,所述VMM,具体用于计算满足公式G1(x)≤m的x的最大值x10;将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x10+b3,x10-b3]中的任意数值;
所述VMM,具体用于计算满足公式G2(x)≤m的x的最大值x20;将所述待启动虚拟机启动时所需要的资源使用量确定为区间[x20+b4,x20-b4]中的任意数值;
其中,所述b3和所述b4为预设值,m为指定的容忍业务过载比例。
23.根据权利要求20所述的物理主机,其特征在于,所述VMM,具体用于计算满足公式G1(x)≤m的x的最大值x10
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x10
所述VMM,具体还用于计算满足公式G2(x)≤m的x的最大值x20
获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
计算f(t0);
判断公式f(t0)>x0是否成立;
若公式成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述f(t0);
若公式不成立,则将所述待启动虚拟机启动时所需要的资源使用量确定为所述x20
其中,m为指定的容忍业务过载比例,所述t0为启动所述待启动虚拟机的时刻。
24.根据权利要求19所述的物理主机,其特征在于,所述VMM,具体用于获取存储的所述待启动虚拟机的所述历史业务负载信息的预测模型f(t),所述f(t)用于描述所述物理主机在历史时间上执行所述业务类型的业务时承载的负载量的分布函数;
将所述待启动虚拟机启动时所需要的资源使用量确定为区间[f(t0)+b6,f(t0)-b6],其中,所述t0为启动所述待启动虚拟机的时刻,所述b6为预设值。
25.根据权利要求19至24中任一项所述的物理主机,其特征在于,所述VMM,还用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之前,获取所述物理主机的资源使用量,所述物理主机的资源使用量包括:所述物理主机的处理器容量、所述物理主机的处理器的使用率、所述物理主机的内存的容量以及所述物理主机的内存的使用率中的一种或多种;
所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上,包括:
根据所述物理主机的资源使用量确定物理主机能够提供的资源量;
将所述能够提供的资源量大于所述待启动虚拟机启动时所需要的资源使用量的物理主机,确定为放置所述待启动虚拟机的物理主机;
将所述待启动虚拟机放置在确定的物理主机上。
26.根据权利要求19至25中任一项所述的物理主机,其特征在于,所述VMM,还用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,判断所述物理主机的资源使用量的方差是否大于预设资源使用量的方差;
若大于所述预设资源使用量的方差,则将运行在所述物理主机上的至少一个虚拟机迁移至除所述物理主机外的其他物理主机上,所述其他物理主机能够提供的资源量大于所述预设资源使用量。
27.根据权利要求19所述的物理主机,其特征在于,所述VMM,还用于在所述根据所述待启动虚拟机启动时所需要的资源使用量将所述待启动虚拟机放置在相应的物理主机上之后,将已启动的虚拟机迁移到至少一个指定的物理主机中,所述指定的物理主机的数量小于集群***中所有物理主机的数量;
关闭未部署有已启动的虚拟机的物理主机。
28.一种集群***,其特征在于,包括一个或多个如权利要求19至27任一项所述的物理主机,其中所述一个或多个物理主机之间具有通信连接。
CN201310404815.1A 2013-09-06 2013-09-06 虚拟机放置方法和装置 Active CN103473115B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310404815.1A CN103473115B (zh) 2013-09-06 2013-09-06 虚拟机放置方法和装置
PCT/CN2014/075111 WO2015032201A1 (zh) 2013-09-06 2014-04-10 虚拟机放置方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310404815.1A CN103473115B (zh) 2013-09-06 2013-09-06 虚拟机放置方法和装置

Publications (2)

Publication Number Publication Date
CN103473115A true CN103473115A (zh) 2013-12-25
CN103473115B CN103473115B (zh) 2017-04-05

Family

ID=49797984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310404815.1A Active CN103473115B (zh) 2013-09-06 2013-09-06 虚拟机放置方法和装置

Country Status (2)

Country Link
CN (1) CN103473115B (zh)
WO (1) WO2015032201A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015032201A1 (zh) * 2013-09-06 2015-03-12 华为技术有限公司 虚拟机放置方法和装置
CN105786619A (zh) * 2016-02-24 2016-07-20 中国联合网络通信集团有限公司 虚拟机分配方法及装置
CN107341029A (zh) * 2017-05-27 2017-11-10 北京奇艺世纪科技有限公司 ***资源部署策略的获取方法、装置及电子设备
CN107368351A (zh) * 2017-07-25 2017-11-21 郑州云海信息技术有限公司 一种虚拟机配置自动升级扩容方法和装置
CN109254832A (zh) * 2018-09-11 2019-01-22 郑州云海信息技术有限公司 一种虚拟机启动方法、装置、存储介质和计算机设备质
CN109309584A (zh) * 2018-09-03 2019-02-05 郑州云海信息技术有限公司 一种虚拟机密度配置方法、装置、终端及存储介质
CN109412841A (zh) * 2018-09-30 2019-03-01 北京金山云网络技术有限公司 虚拟机资源的调整方法、装置和云平台
CN109992356A (zh) * 2019-04-10 2019-07-09 北京隆普智能科技有限公司 一种自动启动虚拟机的方法及其***
CN111491006A (zh) * 2020-03-03 2020-08-04 天津大学 负载感知的云计算资源弹性分配***及方法
CN113641461A (zh) * 2021-10-14 2021-11-12 云宏信息科技股份有限公司 Kvm虚拟化***资源配置方法、介质及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123084A (zh) * 2011-01-19 2011-07-13 浪潮(北京)电子信息产业有限公司 云计算操作***中资源调度方法及***
CN102232282A (zh) * 2010-10-29 2011-11-02 华为技术有限公司 一种实现数据中心资源负载均衡的方法及装置
US20120011510A1 (en) * 2004-04-20 2012-01-12 Hitachi, Ltd. Method and system for controlling computer resources
CN102446115A (zh) * 2012-01-09 2012-05-09 浙江大学 一种虚拟机的动态部署方法
CN102646052A (zh) * 2011-02-16 2012-08-22 ***通信集团公司 一种虚拟机部署方法、装置及***
US20130145364A1 (en) * 2011-12-01 2013-06-06 Tunghai University Method of dynamic resource allocation for a virtual machine cluster

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023936B (zh) * 2011-09-23 2015-03-18 中国科学院声学研究所 一种多层次网络***及基于该网络***的任务执行方法
CN103067425B (zh) * 2011-10-20 2016-04-27 ***通信集团公司 虚拟机创建方法、虚拟机管理***及相关设备
CN103473115B (zh) * 2013-09-06 2017-04-05 华为技术有限公司 虚拟机放置方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120011510A1 (en) * 2004-04-20 2012-01-12 Hitachi, Ltd. Method and system for controlling computer resources
CN102232282A (zh) * 2010-10-29 2011-11-02 华为技术有限公司 一种实现数据中心资源负载均衡的方法及装置
CN102123084A (zh) * 2011-01-19 2011-07-13 浪潮(北京)电子信息产业有限公司 云计算操作***中资源调度方法及***
CN102646052A (zh) * 2011-02-16 2012-08-22 ***通信集团公司 一种虚拟机部署方法、装置及***
US20130145364A1 (en) * 2011-12-01 2013-06-06 Tunghai University Method of dynamic resource allocation for a virtual machine cluster
CN102446115A (zh) * 2012-01-09 2012-05-09 浙江大学 一种虚拟机的动态部署方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015032201A1 (zh) * 2013-09-06 2015-03-12 华为技术有限公司 虚拟机放置方法和装置
CN105786619B (zh) * 2016-02-24 2019-08-06 中国联合网络通信集团有限公司 虚拟机分配方法及装置
CN105786619A (zh) * 2016-02-24 2016-07-20 中国联合网络通信集团有限公司 虚拟机分配方法及装置
CN107341029A (zh) * 2017-05-27 2017-11-10 北京奇艺世纪科技有限公司 ***资源部署策略的获取方法、装置及电子设备
CN107341029B (zh) * 2017-05-27 2020-06-05 北京奇艺世纪科技有限公司 ***资源部署策略的获取方法、装置及电子设备
CN107368351A (zh) * 2017-07-25 2017-11-21 郑州云海信息技术有限公司 一种虚拟机配置自动升级扩容方法和装置
CN107368351B (zh) * 2017-07-25 2021-03-19 苏州浪潮智能科技有限公司 一种虚拟机配置自动升级扩容方法和装置
CN109309584A (zh) * 2018-09-03 2019-02-05 郑州云海信息技术有限公司 一种虚拟机密度配置方法、装置、终端及存储介质
CN109254832A (zh) * 2018-09-11 2019-01-22 郑州云海信息技术有限公司 一种虚拟机启动方法、装置、存储介质和计算机设备质
CN109412841A (zh) * 2018-09-30 2019-03-01 北京金山云网络技术有限公司 虚拟机资源的调整方法、装置和云平台
CN109992356A (zh) * 2019-04-10 2019-07-09 北京隆普智能科技有限公司 一种自动启动虚拟机的方法及其***
CN111491006A (zh) * 2020-03-03 2020-08-04 天津大学 负载感知的云计算资源弹性分配***及方法
CN113641461A (zh) * 2021-10-14 2021-11-12 云宏信息科技股份有限公司 Kvm虚拟化***资源配置方法、介质及***

Also Published As

Publication number Publication date
CN103473115B (zh) 2017-04-05
WO2015032201A1 (zh) 2015-03-12

Similar Documents

Publication Publication Date Title
CN103473115A (zh) 虚拟机放置方法和装置
CN102759979B (zh) 一种虚拟机能耗估计方法及装置
EP3333668B1 (en) Virtual machine power consumption measurement and management
CN104102543B (zh) 一种云计算环境中负载调整的方法和装置
CN102314391B (zh) 一种基于硬件基础工具监视虚拟化***性能的架构及方法
CN103365700B (zh) 一种面向云计算虚拟化环境的资源监测和调整***
AU2014309371B2 (en) Virtual hadoop manager
US11748230B2 (en) Exponential decay real-time capacity planning
CN104854563A (zh) 资源使用的自动分析
CN104184813A (zh) 虚拟机的负载均衡方法和相关设备及集群***
CN109684074A (zh) 物理机资源分配方法及终端设备
WO2018086467A1 (zh) 一种云环境下应用集群资源分配的方法、装置和***
CN103425536A (zh) 一种面向分布式***性能测试的测试资源管理方法
CN113157379A (zh) 集群节点资源调度方法及装置
CN103488538A (zh) 云计算***中的应用扩展装置和应用扩展方法
CN105045667A (zh) 一种用于虚拟机vCPU调度的资源池管理方法
US20210263718A1 (en) Generating predictive metrics for virtualized deployments
EP4152715A1 (en) Method and apparatus for determining resource configuration of cloud service system
CN106844175B (zh) 一种基于机器学***台容量规划方法
CN107766154A (zh) 服务器的转换方法及装置
CN115952054A (zh) 一种仿真任务资源管理方法、装置、设备及介质
CN105718297A (zh) 虚拟机建立***以及方法
CN113742187A (zh) 应用***的容量预测方法、装置、设备及存储介质
CN103218249B (zh) 一种虚拟化集群控制方法及设备、虚拟化集群***
CN108228445A (zh) 虚拟机能耗的测试方法以及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191224

Address after: 314413 No.2, Fengshou Avenue, Haining Economic and knitting industrial park, Jiaxing City, Zhejiang Province

Patentee after: Zhejiang Haining Warp Knitting Industrial Park Development Co., Ltd

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.