CN106133693B - 虚拟机的迁移方法、装置及设备 - Google Patents
虚拟机的迁移方法、装置及设备 Download PDFInfo
- Publication number
- CN106133693B CN106133693B CN201580001989.0A CN201580001989A CN106133693B CN 106133693 B CN106133693 B CN 106133693B CN 201580001989 A CN201580001989 A CN 201580001989A CN 106133693 B CN106133693 B CN 106133693B
- Authority
- CN
- China
- Prior art keywords
- resource
- virtual machine
- utilization rate
- migration
- overload
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
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)
Abstract
一种虚拟机的迁移方法、装置及设备,包括:获取源主机中各个虚拟机的多种类型资源的使用率,根据虚拟机的多种类型资源的使用率,确定源主机的多种类型资源的使用率(S210);根据源主机的多种类型资源的使用率,将源主机的多种类型资源划分为过载资源和未过载资源,并确定过载资源的第一迁移权重以及未过载资源的第二迁移权重(S220);根据虚拟机的多种类型资源的使用率、过载资源的第一迁移权重以及未过载资源的第二迁移权重,从虚拟机中选取待迁移虚拟机(S230);向源主机的监视器发送迁移指令,以使监视器将待迁移虚拟机迁移至目标主机(S240)。由此,可以提高待迁移虚拟机选择的正确性,从而可以快速解决源主机过载的问题,达到了节约计算机资源的目的。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种虚拟机的迁移方法、装置及设备。
背景技术
随着虚拟化技术的蓬勃发展,数据中心越来越多的采用虚拟机提供服务。为了使数据中心的负载平衡或者有效利用服务器资源常常需要迁移虚拟机。迁移虚拟机是指将虚拟机从一个主机或存储位置移至另一个主机或存储位置的过程。实时迁移是将已打开电源的虚拟机移至新的主机,通过实时迁移,可以在不中断虚拟机可用性的情况下将虚拟机移至新的主机。
现有技术中,资源管理器检测每个主机的资源利用情况,如监控CPU、内存、网络带宽等资源的使用率,且给上述每种资源分配相同的权重或者预先定义固定的权重,当某个主机出现过载情况时,计算该主机上运行的每个虚拟机的体积(各种资源空闲率乘积之倒数),并对所有的体积作降序排列,最终选择体积最大的虚拟机进行迁移。如果此时上述主机依然过载,则会继续选择体积次大的虚拟机进行迁移直到上述主机不再过载。举例来说,在一个CPU过载的主机上,虚拟机VM1的U1(CPU使用率)、M1(内存使用率)、B1(带宽使用率)分别为0.8、0.2、0.5,根据上述虚拟机负载计算方法(3种资源空闲率乘积之倒数),可以计算出虚拟机VM1的体积L1为12.5;而虚拟机VM2的U2、M2、B2分别为0.2、0.8、0.5,且可以计算出虚拟机VM2的体积L2为12.5。因此,如果按照上述方法根据虚拟机的体积排序选择虚拟机的话,迁移的时候,VM1和VM2具有同等的选择机会,然而当选择VM2进行迁移时,由于VM2的CPU使用率只有0.2,因此,并不能解决主机CPU过载的问题,因此还需要对VM1进行迁移;此外,由于VM2的内存使用率为0.8,这会严重影响虚拟机的迁移时间。
由上述可知,现有技术中为虚拟机的不同类型资源分配相同的权重或者预先定义固定的权重,这影响了迁移虚拟机选择的正确性,从而增加了虚拟机迁移的次数和虚拟机迁移的开销。
发明内容
本发明实施例提供了一种虚拟机的迁移方法、装置及设备,以解决现有技术中为虚拟机的不同类型资源分配相同的权重或者预先定义固定的权重,从而影响待迁移虚拟机选择的正确性,进而导致的迁移次数增加,迁移开销大的问题。
第一方面,提供了一种虚拟机的迁移方法,该方法包括:
资源管理器获取源主机中各个虚拟机的多种类型资源的使用率,根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率;
根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重;
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机;
向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将所述待迁移虚拟机迁移至目标主机。
结合第一方面,在第一方面的第一种实现方式中,所述各个虚拟机具有相同类型的资源,所述根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率包括:
依次根据所述各个虚拟机的相同类型资源的使用率以及预先为所述各个虚拟机分配的所述类型资源的大小,确定所述源主机的所述类型资源的使用率;直至确定所述源主机的每种类型资源的使用率。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,所述根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源包括:
对所述源主机的多种类型资源中第一类型资源,当所述第一类型资源的使用率大于预先设定的门限值时,则将所述第一类型资源确定为过载资源;
当所述第一类型资源的使用率不大于预先设定的门限值时,则将所述第一类型资源确定为未过载资源。
结合第一方面或第一方面的第一种实现方式或第一方面的第二种实现方式,在第一方面的第三种实现方式中,所述确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重包括:
对所述过载资源,根据所述过载资源的使用率和预设的第一算法,确定所述过载资源的第一迁移权重;
对所述未过载资源,根据所述未过载资源的使用率和预设的第二算法,确定所述未过载资源的第二迁移权重。
结合第一方面或第一方面的上述三种实现方式中任一种实现方式,在第一方面的第四种实现方式中,所述根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机包括:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
将所述各个虚拟机的第一迁移代价值进行比对,将最小的第一迁移代价值对应的虚拟机确定为待迁移虚拟机。
结合第一方面或第一方面的前三种实现方式中任一种实现方式,在第一方面的第五种实现方式中,所述根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机包括:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
根据所述各个虚拟机的第一迁移代价值和预先为所述各个虚拟机分配的内存的大小,确定所述各个虚拟机的第二迁移代价值;
将所述各个虚拟机的第二迁移代价值进行比对,将最小的第二迁移代价值对应的虚拟机确定为待迁移虚拟机。
结合第一方面的第四种实现方式或者第一方面的第五种实现方式,在第一方面的第六种实现方式中,在所述获取所述各个虚拟机的第一迁移代价值之前,所述方法还包括:
对所述源主机的过载资源中每种类型过载资源,将所述各个虚拟机的所述类型过载资源的使用率进行比对,将最大的过载资源的使用率作为所述类型过载资源的目标使用率;
对所述源主机的未过载资源中每种未过载资源,将所述各个虚拟机的所述类型未过载资源的使用率进行比对,将最小的过载资源的使用率作为所述类型未过载资源的目标使用率。
结合第一方面的第六种实现方式,在第一方面的第七种实现方式中,所述根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值包括:
根据如下公式计算所述各个虚拟机的第一迁移代价值:
其中,Di为第i个虚拟机的第一迁移代价值,n为所述源主机的过载资源类型的数目,At为所述源主机的第t种类型过载资源的第一迁移权重,At>1,Sit为第i个虚拟机的第t种类型资源的使用率,Pt为所述源主机的第t种类型过载资源的目标使用率,m为所述源主机的未过载资源类型的数目,Bl为所述源主机的第l种类型未过载资源的第二迁移权重,0<Bl<1,Til为第i个虚拟机的第l种类型资源的使用率,Ql为所述源主机的第l种类型未过载资源的目标使用率,n+m为所述源主机的资源类型的数目。
第二方面,提供了一种虚拟机的迁移装置,该装置包括:获取单元、划分单元、选取单元和发送单元;
所述获取单元,用于获取源主机中各个虚拟机的多种类型资源的使用率,根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率;
所述划分单元,用于根据所述获取单元确定的所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重;
所述选取单元,用于根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机;
所述发送单元,用于向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将所述选取单元选取的所述待迁移虚拟机迁移至目标主机。
结合第二方面,第二方面的第一种实现方式中,所述各个虚拟机具有相同类型的资源,所述获取单元具体用于:
依次根据所述各个虚拟机的相同类型资源的使用率以及预先为所述各个虚拟机分配的所述类型资源的大小,确定所述源主机的所述类型资源的使用率;直至确定所述源主机的每种类型资源的使用率。
结合第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,所述划分单元具体用于:
对所述源主机的多种类型资源中第一类型资源,当所述第一类型资源的使用率大于预先设定的门限值时,则将所述第一类型资源确定为过载资源;
当所述第一类型资源的使用率不大于预先设定的门限值时,则将所述第一类型资源确定为未过载资源。
结合第二方面或第二方面的第一种实现方式或第二方面的第二种实现方式,在第二方面的第三种实现方式中,所述划分单元具体用于:
对所述过载资源,根据所述过载资源的使用率和预设的第一算法,确定所述过载资源的第一迁移权重;
对所述未过载资源,根据所述未过载资源的使用率和预设的第二算法,确定所述未过载资源的第二迁移权重。
结合第二方面或第二方面的上述三种实现方式中任一种实现方式,在第二方面的第四种实现方式中,所述选取单元具体用于:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
将所述各个虚拟机的第一迁移代价值进行比对,将最小的第一迁移代价值对应的虚拟机确定为待迁移虚拟机。
结合第二方面或第二方面的前三种实现方式中任一种实现方式,在第二方面的第五种实现方式中,所述选取单元具体用于:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
根据所述各个虚拟机的第一迁移代价值和预先为所述各个虚拟机分配的内存的大小,确定所述各个虚拟机的第二迁移代价值;
将所述各个虚拟机的第二迁移代价值进行比对,将最小的第二迁移代价值对应的虚拟机确定为待迁移虚拟机。
结合第二方面的第四种实现方式或者第二方面的第五种实现方式,在第二方面的第六种实现方式中,所述装置还包括:比对单元,用于对所述源主机的过载资源中每种类型过载资源,将所述各个虚拟机的所述类型过载资源的使用率进行比对,将最大的过载资源的使用率作为所述类型过载资源的目标使用率;
对所述源主机的未过载资源中每种未过载资源,将所述各个虚拟机的所述类型未过载资源的使用率进行比对,将最小的过载资源的使用率作为所述类型未过载资源的目标使用率。
结合第二方面的第六种实现方式,在第二方面的第七种实现方式中,所述选取单元具体用于:
根据如下公式计算所述各个虚拟机的第一迁移代价值:
其中,Di为第i个虚拟机的第一迁移代价值,n为所述源主机的过载资源类型的数目,At为所述源主机的第t种类型过载资源的第一迁移权重,At>1,Sit为第i个虚拟机的第t种类型资源的使用率,Pt为所述源主机的第t种类型过载资源的目标使用率,m为所述源主机的未过载资源类型的数目,Bl为所述源主机的第l种类型未过载资源的第二迁移权重,0<Bl<1,Til为第i个虚拟机的第l种类型资源的使用率,Ql为所述源主机的第l种类型未过载资源的目标使用率,n+m为所述源主机的资源类型的数目。
第三方面,提供了一种虚拟机的迁移设备,该迁移设备包括:
处理器,存储器,通信接口和总线,其中,所述处理器、所述存储器和所述通信接口通过所述总线通信;
所述通信接口用于与交换机或控制服务器通信;
所述存储器用于存放程序;
当所述迁移设备运行时,所述处理器用于执行所述存储器存储的所述程序,以执行上述第一方面所述的虚拟机的迁移方法。
本发明实施例提供的虚拟机的迁移方法、装置及设备,获取源主机中各个虚拟机的多种类型资源的使用率,根据虚拟机的多种类型资源的使用率,确定源主机的多种类型资源的使用率;根据源主机的多种类型资源的使用率,将源主机的多种类型资源划分为过载资源和未过载资源,并确定过载资源的第一迁移权重以及未过载资源的第二迁移权重;根据虚拟机的多种类型资源的使用率、过载资源的第一迁移权重以及未过载资源的第二迁移权重,从虚拟机中选取待迁移虚拟机;向源主机的监视器发送迁移指令,以使监视器将待迁移虚拟机迁移至目标主机。由此,可以提高待迁移虚拟机选择的正确性,从而可以快速解决源主机过载的问题,达到了节约计算机资源的目的。
附图说明
图1为本发明提供的虚拟机的迁移方法的应用场景图;
图2为本发明方法实施例一提供的虚拟机的迁移方法流程图;
图3为本发明提供的资源的权重确定方法示意图;
图4为本发明方法实施例二提供的虚拟机的迁移方法流程图;
图5为本发明装置实施例提供的虚拟机的迁移装置示意图;
图6为本发明设备实施例提供的虚拟机的迁移设备示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明提供的虚拟机的迁移方法的应用场景图,图1中,VM1、VM2…VMm分别表示虚拟机,虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。用户可以在一台主机上模拟出另一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作。对于用户而言,它只是运行在物理机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就是一台真正的计算机。虚拟机的资源涉及多个方面:中央处理器(Central Processing Unit,CPU)、内存(Memory MEM)、网络带宽(Bandwidth,BW)以及磁盘等。在规划虚拟机时应该考虑这些资源之间的关系,否则,分配的资源不合理将导致虚拟机内的应用程序性能表现不佳。物理机(PhysicalMachine,PM)1、PM2…PMn分别表示n个主机,其中,每个主机上都有一个虚拟机监视器(Virtual Machine Monitor,VMM),VMM也称管理程序,是一种运行在基础物理机和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件,其可以访问物理机上包括磁盘和内存在内的所有物理设备。VMM不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当物理机启动并执行VMM时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。VMM是所有虚拟化技术的核心,非中断地支持多工作负载迁移的能力是VMM的基本功能。
图1中,在多个主机连接到相同的共享存储时,可以支持实时迁移虚拟机,即将虚拟机从一台主机迁移至另一台主机,在迁移过程中,不会影响到迁移虚拟机的正常通信以及其上的应用。
虚拟机的迁移是数据中心和集群管理员极其强大的工具,能够改善系统的性能,提高资源配置的灵活性,被应用于很多重要方面:
1)负载均衡:定期收集资源的使用率,把虚拟机重新分配到数据中心或集群中的物理机上,把超负载物理机上的一些虚拟机迁移到轻负载物理机上,均匀地分配工作负载,避免由于频繁地部署和终止虚拟机引起负载不平衡。
2)在线维护:有时需要对物理机机进行维护或者升级,利用迁移可在进行维护时把虚拟机迁移到其他物理机上,而不必关闭虚拟机,提高系统的可维护性。
3)主动容错:监测节点的健康状态,如温度或者磁盘错误日志等。如果某个物理机可能将要出现故障,其上的虚拟机主动迁移到更安全的位置,这样能减少用户察觉到故障的概率,提高系统的可靠性。
4)资源优化和电源管理:调节数据中心或集群的资源分配,优化资源的使用,可将虚拟机从轻负载的主机整合到重负载的主机上。一旦迁移完成,之前运行这些被迁移的虚拟机的主机就可以关闭,有助于降低成本,节省能源消耗。
总之,虚拟机的迁移提高了数据中心和集群的管理及提供服务的能力,实现了资源的灵活分配,提高了系统的可靠性,可以获得更强大的计算能力、更大的内存、快速的通信能力,节省能源。
图1中的资源管理算法一般包括3个阶段:预分配阶段、迁移规划阶段以及迁移执行阶段。每个阶段的具体职能描述如下:
1)预分配阶段:资源管理器通过VMM在特定的测量间隔内从正在运行的主机上收集资源使用数据。采样数据的详细情况很大程度上取决于所使用的虚拟化技术以及所需要采集的数据类型。通过这些数据,资源管理器能够对正在运行的主机的性能水平有一个大致的了解。对于之前就设定好的触发条件,如果此时监控信息显示有冲突发生,就触发资源的重新分配。
需要说明的是,上述触发条件可以包括两种情况:第一种情况是,主机中的虚拟机因为竞争资源而造成的负载过高的情况;第二种情况是,需要对主机在线维护或者电源管理。在第二种情况下,主机的资源通常没有发生过载,且主机上的所有虚拟机需要全部迁移出去。
2)迁移规划阶段:该阶段是整个处理流程当中最为关键的部分,资源管理器的职责是对于新的虚拟机部署产生合适的迁移方案或指令以消除或者最小化违法触发条件的行为。迁移方案通常包括源主机,待迁移虚拟机以及目标主机三个重要组成部分。
3)迁移执行阶段:根据资源管理器产生的迁移方案和指令,VMM实现具体的迁移工作,该阶段的具体细节步骤主要取决于采用的虚拟化技术。
方法实施例
图2为本发明方法实施例一提供的虚拟机的迁移方法流程图,所述方法适用于解决图1中触发条件为第一种情况时,在迁移规划阶段所涉及的待迁移虚拟机选择的问题,如图2所示,所述方法具体可以包括:
S210,资源管理器获取源主机中各个虚拟机的多种类型资源的使用率,根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率。
进一步地,所述各个虚拟机具有相同类型的资源,所述步骤S210具体可以包括:
依次根据所述各个虚拟机的相同类型资源的使用率以及预先为所述各个虚拟机分配的所述类型资源的大小,确定所述源主机的所述类型资源的使用率;直至确定所述源主机的每种类型资源的使用率。
此处,源主机的多种类型资源可以包括但不限于:CPU、内存、网络带宽和磁盘等,可以理解的是,源主机上运行的虚拟机的多种类型资源可以包括但不限于:CPU、内存、网络带宽和磁盘等。在此说明书中,以每个虚拟机包括三种类型资源:CPU、内存和网络带宽为例进行说明。
举例来说,假设源主机上运行两个虚拟机:VM1和VM2,且假设该源主机的CPU大小为10核,其中,预先为VM1分配的CPU的大小为6核,预先为VM2分配的CPU的大小为4核,则如果资源管理器在t时刻获取到主机中虚拟机VM1的CPU的使用率为0.6,而虚拟机VM2的CPU的使用率为0.4时,则上述源主机的CPU的使用率为0.52((6×0.6+4×0.4)/10);同理可以获取到源主机的其它类型资源的使用率。
需要说明的是,上述资源的使用率(CPU、内存、网络带宽和磁盘等)是指虚拟机上承载的相关应用程序对资源的消耗情况,因此,虚拟机的资源的使用率是一个动态值,其会随着应用程序的性能的变化而动态变化;相应的,本发明中还需要说明另一个概念:预先为各个虚拟机分配的资源的大小,其在虚拟机创建的时候就已确定,可以将其看成是一个静态值,后期一般不会再变化,如,上述源主机的CPU大小为10核,预先为VM1分配的CPU的大小为6核。
S220,根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重。
所述根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源包括:
对所述源主机的多种类型资源中第一类型资源,当所述第一类型资源的使用率大于预先设定的门限值时,则将所述第一类型资源确定为过载资源;
当所述第一类型资源的使用率不大于预先设定的门限值时,则将所述第一类型资源确定为未过载资源。
举例来说,假设依据前述例子中的方法获取到源主机的三种类型资源(依次为:CPU、内存和网络带宽)的使用率分别为0.9、0.4、0.3,而预先设定的上述三种类型资源的门限值分别为0.85、0.8和0.7,因为0.9>0.85,所以源主机的CPU过载,而由于0.4<0.8,0.3<0.7,所以源主机的内存和网络带宽均未过载,也即上述源主机的过载资源类型的数目为1,而源主机的未过载资源类型的数目为2。
需要说明的是,虽然上述例子中以预先对三种不同类型资源设定三个不同的门限值为例进行说明,本领域技术人员也可以只预先设定一个或者两个门限值,本发明对此不作限定。
考虑到同一主机上不同类型的资源其资源紧张的程度可能不一样,选择待迁移虚拟机的时候,应该将这一因素考虑进去,即根据主机资源需求度来对每种资源分配迁移权重的方法,对于过载的主机来说,往往希望将其上的若干虚拟机迁移出去以快速的降低其负载。
如前述例子,当源主机CPU过载时,那么就希望把CPU最高的虚拟机迁移出去以尽快的释放主机的负载;对于未过载资源,就没有必要减少它在主机上的资源的使用率,因此为了充分利用资源,迁移的时候就选择未过载资源对应的资源的使用率最低的虚拟机。将这两种情况结合起来考虑,分别对过载资源和未过载资源按照不同的算法确定其迁移权重。
具体地,对所述过载资源,根据所述过载资源的使用率和预设的第一算法,确定所述过载资源的第一迁移权重;
对所述未过载资源,根据所述未过载资源的使用率和预设的第二算法,确定所述未过载资源的第二迁移权重。
本发明不对上述预设的第一算法和预设的第二算法进行限定,但要求根据上述预设的第一算法和预设的第二算法确定的载资源的第一迁移权重和未过载资源的第二迁移权重同时具有如下四个特征:
1)过载资源的第一迁移权重始终大于1,未过载资源的第二迁移权重始终小于1,即过载资源的第一迁移权重始终大于未过载资源的第二迁移权重。
2)过载资源的第一迁移权重关于过载资源的使用率呈非线性关系,未过载资源的第二迁移权重关于未过载资源的使用率呈线性关系。
3)过载资源的使用率越高,其对应的第一迁移权重越大,未过载资源的使用率越高,其对应的第二迁移权重越小。
4)主机的多种类型资源的使用率随着时间动态变化,按照上述算法确定的资源的迁移权重也动态改变。
图3为本发明提供的资源的权重确定方法示意图,如图3所示,301、302以及303分别表示在t1时刻,PM的CPU、MEM以及BW的使用率,307、308以及309分别表示在t1时刻,CPU、MEM以及BW的迁移权重。假设在t1时刻,CPU的使用率大于预先设定的门限值,也即CPU属于过载资源,而MEM以及BW的使用率均不大于预设设定的门限值,也即MEM以及BW属于未过载资源,则从图3中可以看出,对于过载资源,较高的资源的使用率导致其被分配了较高的迁移权重,而对于未过载资源,较高的资源的使用率导致其迁移权重较低,如,BW的使用率大于MEM的使用率,而BW的迁移权重则小于MEM的迁移权重。因此,在选择待迁移虚拟机的时候,由于过载资源的使用率较高,所以其具有更高的优先级进行资源的迁移以平衡资源利用。并且由于过载资源其分配的迁移权重始终大于未过载资源分配的迁移权重,因此,过载资源总是有更高的优先级被迁移出去。
此外,图3中,304、305以及306分别表示在t1+△t时刻,PM的CPU、MEM以及BW的使用率,310、311以及312分别表示在t1+△t时刻,CPU、MEM以及BW的迁移权重,即在不同的时刻,CPU、MEM以及BW的迁移权重是不相同的。由此可以看出,本发明的迁移权重的确定方法在主机的资源的使用率随时间变化时,可以动态更新主机的资源的迁移权重,也即本发明的迁移权重确定方法为动态权重确定方法,所以,本发明的迁移权重的确定方法可以实时的反映主机的负载情况,从而快速的减轻主机负载,并且充分利用了主机的资源。
S230,根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机。
进一步地,所述步骤S230还可以进一步包括:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
将所述各个虚拟机的第一迁移代价值进行比对,将最小的第一迁移代价值对应的虚拟机确定为待迁移虚拟机。
此处,在获取所述各个虚拟机的第一迁移代价值之前,可以根据各个虚拟机的多种类型资源的使用率,先建立多维度决策矩阵。
举例来说,假设源主机上运行5个虚拟机:VM1、VM2、VM3、VM4和VM5,5个虚拟机中每个虚拟机的三种类型资源为:CPU、内存和网络带宽;且根据步骤S220的方法划分的过载资源为CPU,未过载资源为:内存和网络带宽,根据步骤S220的方法确定的过载资源CPU的第一迁移权重为5,未过载资源内存的第二迁移权重为0.2,未过载资源网络带宽的第二迁移权重为0.3;还假设获取到的各个虚拟机的上述三种类型资源的使用率如表1所示:
表1
CPU的使用率 | 内存的使用率 | 网络带宽的使用率 | |
VM<sub>1</sub> | 0.1 | 0.2 | 0.9 |
VM<sub>2</sub> | 0.2 | 0.3 | 0.6 |
VM<sub>3</sub> | 0.3 | 0.5 | 0.7 |
VM<sub>4</sub> | 0.8 | 0.6 | 0.2 |
VM<sub>5</sub> | 0.9 | 0.6 | 0.3 |
需要说明的是,上述表格中三种类型资源的使用率均为规范值,即其范围在0-1之间,如果上述资源的使用率不是规范值,则可以在获取到资源的使用率之后对其进行归一化处理。
对各个虚拟机的三种类型资源的使用率进行规范化处理之后,就可以根据上述表格的内容建立多维度决策矩阵,并根据建立的多维度决策矩阵,选取理想迁移虚拟机,其中,理想虚拟机的确定过程如下:
对所述源主机的过载资源中每种类型过载资源,将所述各个虚拟机的所述类型过载资源的使用率进行比对,将最大的过载资源的使用率作为所述类型过载资源的目标使用率;
对所述源主机的未过载资源中每种未过载资源,将所述各个虚拟机的所述类型未过载资源的使用率进行比对,将最小的未过载资源的使用率作为所述类型未过载资源的目标使用率。
如前述例子中,源主机的过载资源只包括CPU,将虚拟机VM1、VM2、VM3、VM4和VM5的CPU的使用率进行比对,因为0.9(对应VM5)>0.8>0.3>0.2>0.1,所以将VM5的CPU的使用率0.9作为源主机的CPU的目标使用率;而源主机的未过载资源包括内存和网络带宽,首先将VM1、VM2、VM3、VM4和VM5的内存的使用率进行比对,因为0.2(对应VM1)<0.3<0.5<0.6,所以将VM1的内存的使用率0.2作为源主机的内存的目标使用率;然后将VM1、VM2、VM3、VM4和VM5的网络带宽的使用率进行比对,因为0.2(对应VM4)<0.3<0.6<0.7<0.9,所以将VM4的网络带宽的使用率0.2作为源主机的网络带宽的目标使用率;且将CPU的使用率0.9,内存的使用率0.2以及网络带宽的使用率0.2选取为理想虚拟机。
在选取理想虚拟机之后,就可以计算各个虚拟机与理想虚拟机的欧几里德距离,也即获取所述各个虚拟机的第一迁移代价值。具体地,根据公式1计算各个虚拟机的第一迁移代价值:
其中,Di为第i个虚拟机的第一迁移代价值,n为所述源主机的过载资源类型的数目,前述例子中,At为所述源主机的第t种类型过载资源的第一迁移权重,At>1,Sit为第i个虚拟机的第t种类型过载资源的使用率,Pt为所述源主机的第t种类型过载资源的目标使用率,m为所述源主机的未过载资源类型的数目,Bl为所述源主机的第l种类型未过载资源的第二迁移权重,0<Bl<1,Til为第i个虚拟机的第l种类型未过载资源的使用率,Ql为所述源主机的第l种类型未过载资源的目标使用率,n+m为所述源主机的资源类型的数目。
如前述例子中,公式1中i=5,n=1,且A1=5,P1=0.9,m=2,B1=0.2,Q1=0.2,B2=0.3,Q2=0.2,且在计算虚拟机VM1的第一迁移代价值D1时,S11=0.1,T11=0.2,T12=0.9,因此 同理,可以获取到VM2、VM3、VM4和VM5的第一迁移代价值分别为:3.50、3.00、0.506、0.085。
将VM1、VM2、VM3、VM4和VM5的第一迁移代价值进行比对,因为0.085<0.506<3.00<3.50<4.01,而0.085为虚拟机VM5的第一迁移代价值,所以可以将虚拟机VM5确定为待迁移虚拟机。此处VM5的CPU的使用率为0.9,因此,将虚拟机VM5迁移至目标主机之后,可以快速地解决源主机CPU过载的问题,而且可以减少迁移次数。
S240,向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将所述待迁移虚拟机迁移至目标主机。
此处,源主机的监视器即为VMM,上述迁移指令中可以包括待迁移虚拟机的源位置信息以及目标位置信息,其中,目标位置信息是由资源管理器根据放置策略确定的,其确定方法属于现有技术,在此不作赘述。
本发明提供的方法实施例一中,首先根据预先设定的门限值,将源主机上的多种类型资源分为过载资源和未过载资源,分别对过载资源和未过载资源根据不同的算法确定其迁移权重,这些资源的迁移权重将作为后续选取待迁移虚拟机的考虑因素。对于过载资源,其对应的第一迁移权重始终大于1,并且资源的使用率越高,对应的第一迁移权重越大;对于未过载资源,其对应的第二迁移权重始终小于1,并且资源的使用率越高,对应的第二迁移权重越小。然后根据源主机上各个虚拟机的多种类型资源的使用率建立多维度决策矩阵,并根据建立的多维度决策矩阵,选取理想虚拟机,然后计算各个虚拟机与理想虚拟机的欧几里德距离,并将动态权重方法确定的过载资源的第一迁移权重和未过载资源的第二迁移权重考虑进去来确定待迁移虚拟机。
此外,在本发明提供的方法实施例一中,过载资源在虚拟机迁移的时候,由于具有更大的迁移权重,因此其总是具有更高的优先级进行资源的均衡,未过载资源由于其资源的使用率并未超过预先设定的门限值,因此为了充分利用资源,迁移的时候其迁移权重较低。所以,过载资源的使用率较大同时未过载资源的使用率较少的虚拟机在实施例一的方法中,将会有更大的机会被选中,因而可以快速的降低主机负载,减少了虚拟机迁移的次数。并且相比于现有技术中只选择虚拟机体积最大的虚拟机进行迁移,实施例一在选择虚拟机的时候,通过决策矩阵在CPU、内存、网络带宽等多个资源维度上进行精确地资源匹配,能够找到最适合迁移的虚拟机,因此充分的利用了各个维度的资源,提高了资源的使用率。
在此说明,虽然本发明提供的方法实施例一是以触发条件为第一种情况为例进行了说明,当触发条件为第二种情况时,由于主机的资源没有过载,本领域技术人员容易想到不对主机的资源进行划分,而直接根据资源的使用率和预设的第三算法,确定每种资源的迁移权重。
本发明同样不对预设的第三算法进行限定,但要求根据预设的第三算法确定的每种资源的迁移权重同时具有如下5个特征:
1)各个虚拟机根据自身对各种类型资源的需求偏好确定各种类型资源的迁移权重,因此,不同的虚拟机,其各种类型资源的迁移权重一般不同。
2)各种类型资源的迁移权重始终大于1。
3)各种类型资源的迁移权重关于资源的使用率呈非线性关系。
4)各种类型资源的使用率越高,其对应的迁移权重越大。
5)各种类型资源的使用率随着时间动态变化,按照动态权重确定方法,其对应的资源的迁移权重也动态改变。
针对这种由于在线维护以及电源管理等原因触发虚拟机迁移的情况,通过根据虚拟机自身对各种类型资源的的性能偏好确定资源的迁移权重的方法,能够定量的确定该虚拟机对每种类型资源的需求情况,对于后期关于数据中心资源的再分配以及该虚拟机的重新部署,提供了有效的帮助。
此外,由于在触发条件为第二种情况时,主机上的所有虚拟机需要全部迁移出去,因此,在这种情况下不需要考虑待迁移虚拟机的选取。
本发明方法实施例一提供的虚拟机的迁移方法适用于迁移虚拟机所需的网络带宽足够大,且虚拟机的内存不是主要考虑因素的情况;当迁移虚拟机所需的网络带宽比较紧张的情况下,迁移一个虚拟机所需要的时间可能会比较长,迁移时间长意味着可能会影响虚拟机上运行的应用程序的性能,所以本发明还提供了一种虚拟机的迁移方法,该实施例的方法综合考虑了虚拟机上的应用程序的性能以及资源的利用率的情况。
图4为本发明方法实施例二提供的虚拟机的迁移方法流程图,所述方法适用于解决图1中触发条件为第一种情况,且同时考虑迁移性能时,在迁移规划阶段所涉及的待迁移虚拟机选择的问题。在虚拟机迁移的过程中,迁移时间和停机时间会影响到迁移性能,而虚拟机的内存大小和网络带宽是影响迁移时间和停机时间的重要因素。因此,在同一个主机上,虚拟机迁移带宽分配不足并且所有虚拟机动态迁移使用网络带宽相同的条件下,选择占用内存较小的虚拟机进行迁移可以提高迁移性能。如图4所示,所述方法具体可以包括:
S410,资源管理器获取源主机中各个虚拟机的多种类型资源的使用率,其中,所述各个虚拟机具有相同类型的资源。
S420,依次根据所述各个虚拟机的相同类型资源的使用率以及预先为所述各个虚拟机分配的所述类型资源的大小,确定所述源主机的所述类型资源的使用率;直至确定所述源主机的每种类型资源的使用率。
S430,根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重。
S440,根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值。
S450,根据所述各个虚拟机的第一迁移代价值和预先为所述各个虚拟机分配的内存的大小,确定所述各个虚拟机的第二迁移代价值。
假设源主机的内存为10G,而预先为源主机中各个虚拟机VM1、VM2、VM3、VM4和VM5分配的内存的大小分别为1G、2G、3G、2G和2G;优选地,对各个虚拟机的内存的大小分别作归一化处理,归一化处理之后得到的相对值为0.1、0.2、0.3、0.2和0.2。举例来说,假设根据本发明实施例一的方法获取到的VM1、VM2、VM3、VM4和VM5的第一迁移代价值分别为:4.01、3.50、3.00、0.506、0.085;而对预先为源主机中各个虚拟机VM1、VM2、VM3、VM4和VM5分配的内存的大小作归一化处理之后得到的相对值分别为:0.1、0.2、0.3、0.2和0.2,则可以确定VM1、VM2、VM3、VM4和VM5的第二迁移代价值分别为:4.01×0.1,3.50×0.2,3.00×0.3,0.506×0.2,0.085×0.2,即VM1、VM2、VM3、VM4和VM5的第二迁移代价值分别为:0.401、0.7、0.9、0.1012、0.017。
通过上述步骤,可以优先选取预先分配的内存较小的虚拟机进行迁移,预先分配的内存小,意味着迁移该虚拟机所需要的时间较少(因为迁移的过程中需要反复拷贝虚拟机的内存页面,内存小意味着需要拷贝的数据量小),从而可以减少迁移开销,降低迁移操作对虚拟机上所承载的相关应用程序性能的影响。
S460,将所述各个虚拟机的第二迁移代价值进行比对,将最小的第二迁移代价值对应的虚拟机确定为待迁移虚拟机。
将VM1、VM2、VM3、VM4和VM5的第二迁移代价值进行比对,因为0.017<0.1012<0.401<0.7<0.9,而0.017为虚拟机VM5的第二迁移代价值,所以可以将虚拟机VM5确定为待迁移虚拟机,从表1中可以看出,虚拟机VM5具有最小的网络带宽且预先分配了较小的内存,而网络带宽和内存是影响迁移性能的因素,所以将虚拟机VM5作为待迁移虚拟机,可以提高虚拟机迁移的性能。
S470,向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将所述待迁移虚拟机迁移至目标主机。
本发明提供的方法实施例二中,在选取待迁移虚拟机时,考虑到了每个虚拟机的迁移代价,在减少虚拟机迁移次数,提高资源的使用率的基础上,可以进一步的提高迁移性能(即减小迁移开销),降低迁移导致发生用户服务等级协议(Service Level Agreement,SLA)违背的可能性。
装置实施例
图5为本发明装置实施例提供的虚拟机的迁移装置示意图,所述装置可以用于执行图2或图4所述的方法,图5中,该装置包括:获取单元501、划分单元502、选取单元503和发送单元504。
获取单元501,用于获取源主机中各个虚拟机的多种类型资源的使用率,根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率。
可选地,所述各个虚拟机具有相同类型的资源,获取单元501具体用于:
依次根据所述各个虚拟机的相同类型资源的使用率以及预先为所述各个虚拟机分配的所述类型资源的大小,确定所述源主机的所述类型资源的使用率;直至确定所述源主机的每种类型资源的使用率。
划分单元502,用于根据获取单元501确定的所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重。
划分单元502具体用于:对所述源主机的多种类型资源中第一类型资源,当所述第一类型资源的使用率大于预先设定的门限值时,则将所述第一类型资源确定为过载资源;
当所述第一类型资源的使用率不大于预先设定的门限值时,则将所述第一类型资源确定为未过载资源。
划分单元502还具体用于:对所述过载资源,根据所述过载资源的使用率和预设的第一算法,确定所述过载资源的第一迁移权重;
对所述未过载资源,根据所述未过载资源的使用率和预设的第二算法,确定所述未过载资源的第二迁移权重。
选取单元503,用于根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机。
选取单元503具体用于:根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
将所述各个虚拟机的第一迁移代价值进行比对,将最小的第一迁移代价值对应的虚拟机确定为待迁移虚拟机。
发送单元504,用于向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将选取单元503选取的所述待迁移虚拟机迁移至目标主机。
可选地,选取单元503还具体用于:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
根据所述各个虚拟机的第一迁移代价值和预先为所述各个虚拟机分配的内存的大小,确定所述各个虚拟机的第二迁移代价值;
将所述各个虚拟机的第二迁移代价值进行比对,将最小的第二迁移代价值对应的虚拟机确定为待迁移虚拟机。
可选地,所述装置还包括:比对单元505,用于对所述源主机的过载资源中每种类型过载资源,将所述各个虚拟机的所述类型过载资源的使用率进行比对,将最大的过载资源的使用率作为所述类型过载资源的目标使用率;
对所述源主机的未过载资源中每种未过载资源,将所述各个虚拟机的所述类型未过载资源的使用率进行比对,将最小的过载资源的使用率作为所述类型未过载资源的目标使用率。
可选地,选取单元503具体用于:根据如下公式计算所述各个虚拟机的第一迁移代价值:
其中,Di为第i个虚拟机的第一迁移代价值,n为所述源主机的过载资源类型的数目,At为所述源主机的第t种类型过载资源的第一迁移权重,At>1,Sit为第i个虚拟机的第t种类型资源的使用率,Pt为所述源主机的第t种类型过载资源的目标使用率,m为所述源主机的未过载资源类型的数目,Bl为所述源主机的第l种类型未过载资源的第二迁移权重,0<Bl<1,Til为第i个虚拟机的第l种类型资源的使用率,Ql为所述源主机的第l种类型未过载资源的目标使用率,n+m为所述源主机的资源类型的数目。
本发明装置实施例提供的装置植入了本发明方法实施例提供的方法,因此,本发明提供的装置的具体工作过程,在此不复赘述。
本发明装置实施例提供的虚拟机的迁移装置,获取单元501获取源主机中各个虚拟机的多种类型资源的使用率,根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率;划分单元502根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重;选取单元503根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机;发送单元504向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将所述待迁移虚拟机迁移至目标主机。由此,可以提高待迁移虚拟机选择的正确性,从而可以快速解决源主机过载的问题,达到了节约计算机资源的目的。
设备实施例
图6为本发明设备实施例提供的虚拟机的迁移设备示意图。如图6所示,所述迁移设备600包括:处理器602、存储器604、通信接口606和总线608。其中,处理器602、存储器604和通信接口606通过总线608实现彼此之间的通信连接。
处理器602可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),或者一个或多个集成电路,用于执行相关程序,以实现前述本发明方法实施例所提供的技术方案。
存储器604可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器604可以存储操作系统和其他应用程序。在通过软件或者固件来实现本发明实施例提供的技术方案时,用于实现本发明前述方法实施例提供的任一可选技术方案的程序代码保存在存储器604中,并由处理器602来执行。
通信接口606用以与SDN网络中其他交换机或控制服务器通信。
总线608可包括一通路,在迁移设备600各个部件(例如处理器602、存储器604和通信接口606)之间传送信息。
本发明设备实施例提供的虚拟机的迁移设备,可以提高待迁移虚拟机选择的正确性,从而可以快速解决源主机过载的问题,达到了节约计算机资源的目的。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种虚拟机的迁移方法,其特征在于,所述方法包括:
资源管理器获取源主机中各个虚拟机的多种类型资源的使用率,根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率;
根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,所述过载资源的第一迁移权重大于所述未过载资源的第二迁移权重,所述过载资源的使用率越高,所述过载资源对应的第一迁移权重越大,所述未过载资源的使用率越高,所述未过载资源对应的第二迁移权重越小;
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机;
向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将所述待迁移虚拟机迁移至目标主机。
2.根据权利要求1所述的方法,其特征在于,所述各个虚拟机具有相同类型的资源,所述根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率包括:
依次根据所述各个虚拟机的相同类型资源的使用率以及预先为所述各个虚拟机分配的所述类型资源的大小,确定所述源主机的所述类型资源的使用率;直至确定所述源主机的每种类型资源的使用率。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源包括:
对所述源主机的多种类型资源中第一类型资源,当所述第一类型资源的使用率大于预先设定的门限值时,则将所述第一类型资源确定为过载资源;
当所述第一类型资源的使用率不大于预先设定的门限值时,则将所述第一类型资源确定为未过载资源。
4.根据权利要求1所述的方法,其特征在于,所述确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重包括:
对所述过载资源,根据所述过载资源的使用率和预设的第一算法,确定所述过载资源的第一迁移权重;
对所述未过载资源,根据所述未过载资源的使用率和预设的第二算法,确定所述未过载资源的第二迁移权重。
5.根据权利要求1所述的方法,其特征在于,所述根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机包括:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
将所述各个虚拟机的第一迁移代价值进行比对,将最小的第一迁移代价值对应的虚拟机确定为待迁移虚拟机。
6.根据权利要求1所述的方法,其特征在于,所述根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机包括:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
根据所述各个虚拟机的第一迁移代价值和预先为所述各个虚拟机分配的内存的大小,确定所述各个虚拟机的第二迁移代价值;
将所述各个虚拟机的第二迁移代价值进行比对,将最小的第二迁移代价值对应的虚拟机确定为待迁移虚拟机。
7.根据权利要求5或6所述的方法,其特征在于,在所述获取所述各个虚拟机的第一迁移代价值之前,所述方法还包括:
对所述源主机的过载资源中每种过载资源,将所述各个虚拟机的所述过载资源的使用率进行比对,将最大的过载资源的使用率作为所述过载资源的目标使用率;
对所述源主机的未过载资源中每种未过载资源,将所述各个虚拟机的所述未过载资源的使用率进行比对,将最小的过载资源的使用率作为所述未过载资源的目标使用率。
8.根据权利要求7所述的方法,其特征在于,所述根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值包括:
根据如下公式计算所述各个虚拟机的第一迁移代价值:
其中,Di为第i个虚拟机的第一迁移代价值,n为所述源主机的过载资源类型的数目,At为所述源主机的第t种类型过载资源的第一迁移权重,At>1,Sit为第i个虚拟机的第t种类型资源的使用率,Pt为所述源主机的第t种类型过载资源的目标使用率,m为所述源主机的未过载资源类型的数目,Bl为所述源主机的第l种类型未过载资源的第二迁移权重,0<Bl<1,Til为第i个虚拟机的第l种类型资源的使用率,Ql为所述源主机的第l种类型未过载资源的目标使用率,n+m为所述源主机的资源类型的数目。
9.一种虚拟机的迁移装置,其特征在于,所述装置包括:获取单元、划分单元、选取单元和发送单元;
所述获取单元,用于获取源主机中各个虚拟机的多种类型资源的使用率,根据所述各个虚拟机的多种类型资源的使用率,确定所述源主机的多种类型资源的使用率;
所述划分单元,用于根据所述获取单元确定的所述源主机的多种类型资源的使用率,将所述源主机的多种类型资源划分为过载资源和未过载资源,并确定所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,所述过载资源的第一迁移权重大于所述未过载资源的第二迁移权重,所述过载资源的使用率越高,所述过载资源对应的第一迁移权重越大,所述未过载资源的使用率越高,所述未过载资源对应的第二迁移权重越小;
所述选取单元,用于根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,从所述虚拟机中选取待迁移虚拟机;
所述发送单元,用于向所述源主机的监视器发送迁移指令,以使所述监视器根据所述迁移指令,将所述选取单元选取的所述待迁移虚拟机迁移至目标主机。
10.根据权利要求9所述的装置,其特征在于,所述各个虚拟机具有相同类型的资源,所述获取单元具体用于:
依次根据所述各个虚拟机的相同类型资源的使用率以及预先为所述各个虚拟机分配的所述类型资源的大小,确定所述源主机的所述类型资源的使用率;直至确定所述源主机的每种类型资源的使用率。
11.根据权利要求9或10所述的装置,其特征在于,所述划分单元具体用于:
对所述源主机的多种类型资源中第一类型资源,当所述第一类型资源的使用率大于预先设定的门限值时,则将所述第一类型资源确定为过载资源;
当所述第一类型资源的使用率不大于预先设定的门限值时,则将所述第一类型资源确定为未过载资源。
12.根据权利要求9所述的装置,其特征在于,所述划分单元具体用于:
对所述过载资源,根据所述过载资源的使用率和预设的第一算法,确定所述过载资源的第一迁移权重;
对所述未过载资源,根据所述未过载资源的使用率和预设的第二算法,确定所述未过载资源的第二迁移权重。
13.根据权利要求9所述的装置,其特征在于,所述选取单元具体用于:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
将所述各个虚拟机的第一迁移代价值进行比对,将最小的第一迁移代价值对应的虚拟机确定为待迁移虚拟机。
14.根据权利要求9所述的装置,其特征在于,所述选取单元具体用于:
根据所述各个虚拟机的多种类型资源的使用率、所述过载资源的第一迁移权重以及所述未过载资源的第二迁移权重,获取所述各个虚拟机的第一迁移代价值;
根据所述各个虚拟机的第一迁移代价值和预先为所述各个虚拟机分配的内存的大小,确定所述各个虚拟机的第二迁移代价值;
将所述各个虚拟机的第二迁移代价值进行比对,将最小的第二迁移代价值对应的虚拟机确定为待迁移虚拟机。
15.根据权利要求13或14所述的装置,其特征在于,所述装置还包括:比对单元,用于对所述源主机的过载资源中每种过载资源,将所述各个虚拟机的所述过载资源的使用率进行比对,将最大的过载资源的使用率作为所述过载资源的目标使用率;
对所述源主机的未过载资源中每种未过载资源,将所述各个虚拟机的所述未过载资源的使用率进行比对,将最小的过载资源的使用率作为所述未过载资源的目标使用率。
16.根据权利要求15所述的装置,其特征在于,所述选取单元具体用于:
根据如下公式计算所述各个虚拟机的第一迁移代价值:
其中,Di为第i个虚拟机的第一迁移代价值,n为所述源主机的过载资源类型的数目,At为所述源主机的第t种类型过载资源的第一迁移权重,At>1,Sit为第i个虚拟机的第t种类型资源的使用率,Pt为所述源主机的第t种类型过载资源的目标使用率,m为所述源主机的未过载资源类型的数目,Bl为所述源主机的第l种类型未过载资源的第二迁移权重,0<Bl<1,Til为第i个虚拟机的第l种类型资源的使用率,Ql为所述源主机的第l种类型未过载资源的目标使用率,n+m为所述源主机的资源类型的数目。
17.一种虚拟机的迁移设备,其特征在于,所述迁移设备包括:
处理器,存储器,通信接口和总线,其中,所述处理器、所述存储器和所述通信接口通过所述总线通信;
所述通信接口用于与交换机或控制服务器通信;
所述存储器用于存放程序;
当所述迁移设备运行时,所述处理器用于执行所述存储器存储的所述程序,以执行权利要求1至8任一所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/073422 WO2016134542A1 (zh) | 2015-02-28 | 2015-02-28 | 虚拟机的迁移方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106133693A CN106133693A (zh) | 2016-11-16 |
CN106133693B true CN106133693B (zh) | 2019-10-25 |
Family
ID=56787814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580001989.0A Active CN106133693B (zh) | 2015-02-28 | 2015-02-28 | 虚拟机的迁移方法、装置及设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106133693B (zh) |
WO (1) | WO2016134542A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168786B (zh) * | 2017-06-15 | 2020-11-10 | 郑州云海信息技术有限公司 | 一种虚拟机的动态迁移方法及装置 |
CN107291528A (zh) * | 2017-07-14 | 2017-10-24 | 郑州云海信息技术有限公司 | 虚拟机迁移的处理方法和装置 |
CN108182105B (zh) * | 2017-12-12 | 2023-08-15 | 苏州大学 | 基于Docker容器技术的局部动态迁移方法及控制系统 |
CN110119301A (zh) * | 2018-02-07 | 2019-08-13 | 卓望数码技术(深圳)有限公司 | 一种虚拟机迁移方法及系统 |
CN110162379B (zh) * | 2018-04-24 | 2023-04-21 | 腾讯云计算(北京)有限责任公司 | 虚拟机迁移方法、装置和计算机设备 |
US11321139B2 (en) * | 2018-05-31 | 2022-05-03 | Salesforce.Com, Inc. | Streaming traffic pattern for public cloud auto scaling |
US10904303B2 (en) | 2018-05-31 | 2021-01-26 | Salesforce.Com, Inc. | Control message from streaming source to facilitate scaling |
US11150931B2 (en) * | 2018-10-30 | 2021-10-19 | Hewlett Packard Enterprise Development Lp | Virtual workload migrations |
CN111625333A (zh) * | 2020-05-21 | 2020-09-04 | 慧众行知科技(北京)有限公司 | 一种模块迁移方法及系统 |
CN112698714B (zh) * | 2020-12-28 | 2022-06-21 | 武汉卓尔信息科技有限公司 | 一种ups启用时虚拟资源智能管理方法及系统 |
CN113923215B (zh) * | 2021-09-09 | 2023-12-29 | 深信服科技股份有限公司 | 虚拟机调度方法、电子设备及存储介质 |
CN114090257B (zh) * | 2021-11-24 | 2024-11-05 | 中国电信股份有限公司 | 虚拟机的调度方法、装置、存储介质及设备 |
CN114968493B (zh) * | 2022-06-22 | 2023-12-12 | 中国电信股份有限公司 | 虚拟机调度方法、装置、计算机可读介质及电子设备 |
CN116932229B (zh) * | 2023-09-13 | 2023-12-12 | 新华三信息技术有限公司 | 一种内存分配方法、装置、网络管理器及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294546A (zh) * | 2013-04-03 | 2013-09-11 | 华中科技大学 | 多维度资源性能干扰感知的虚拟机在线迁移方法及系统 |
CN103559077A (zh) * | 2013-11-08 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种优化的虚拟机自动迁移方法和系统 |
CN104375897A (zh) * | 2014-10-27 | 2015-02-25 | 西安工程大学 | 基于最小相对负载不均衡度的云计算资源调度方法 |
CN104375621A (zh) * | 2014-11-28 | 2015-02-25 | 广东石油化工学院 | 一种云计算中基于自适应阈值的动态加权负载评估方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849971B2 (en) * | 2008-05-28 | 2014-09-30 | Red Hat, Inc. | Load balancing in cloud-based networks |
US9098335B2 (en) * | 2009-12-23 | 2015-08-04 | Citrix Systems, Inc. | Systems and methods for managing spillover limits in a multi-core system |
CN102759979B (zh) * | 2011-04-29 | 2016-03-30 | 国际商业机器公司 | 一种虚拟机能耗估计方法及装置 |
US9152448B2 (en) * | 2012-05-11 | 2015-10-06 | Vmware, Inc. | Performance of load balancing modules with migration awareness |
CN104184813B (zh) * | 2014-08-20 | 2018-03-09 | 杭州华为数字技术有限公司 | 虚拟机的负载均衡方法和相关设备及集群系统 |
-
2015
- 2015-02-28 CN CN201580001989.0A patent/CN106133693B/zh active Active
- 2015-02-28 WO PCT/CN2015/073422 patent/WO2016134542A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294546A (zh) * | 2013-04-03 | 2013-09-11 | 华中科技大学 | 多维度资源性能干扰感知的虚拟机在线迁移方法及系统 |
CN103559077A (zh) * | 2013-11-08 | 2014-02-05 | 北京华胜天成科技股份有限公司 | 一种优化的虚拟机自动迁移方法和系统 |
CN104375897A (zh) * | 2014-10-27 | 2015-02-25 | 西安工程大学 | 基于最小相对负载不均衡度的云计算资源调度方法 |
CN104375621A (zh) * | 2014-11-28 | 2015-02-25 | 广东石油化工学院 | 一种云计算中基于自适应阈值的动态加权负载评估方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106133693A (zh) | 2016-11-16 |
WO2016134542A1 (zh) | 2016-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106133693B (zh) | 虚拟机的迁移方法、装置及设备 | |
EP3507692B1 (en) | Resource oversubscription based on utilization patterns in computing systems | |
Krishnamurthy et al. | Pratyaastha: an efficient elastic distributed sdn control plane | |
CN102724277B (zh) | 虚拟机热迁移和部署的方法、服务器及集群系统 | |
US8104033B2 (en) | Managing virtual machines based on business priorty | |
US8843772B2 (en) | Systems and methods for dynamic power allocation in an information handling system environment | |
CN102696000B (zh) | 用于虚拟化数据中心中的协调能量管理的方法和设备 | |
US8478878B2 (en) | Placement of virtual machines based on server cost and network cost | |
US8185894B1 (en) | Training a virtual machine placement controller | |
EP3281359B1 (en) | Application driven and adaptive unified resource management for data centers with multi-resource schedulable unit (mrsu) | |
CN108182105B (zh) | 基于Docker容器技术的局部动态迁移方法及控制系统 | |
EP4080357A1 (en) | Virtual machine numa node scheduling method and apparatus, and device and medium | |
CN111966453B (zh) | 一种负载均衡方法、系统、设备及存储介质 | |
CN105975047B (zh) | 云数据中心功耗调节方法和系统 | |
CN104679594B (zh) | 一种中间件分布式计算方法 | |
CN106020934A (zh) | 一种基于虚拟集群在线迁移的优化部署方法 | |
CN106681839B (zh) | 弹性计算动态分配方法 | |
US20140282540A1 (en) | Performant host selection for virtualization centers | |
WO2016122462A1 (en) | Virtual machine placement | |
CN110086726A (zh) | 一种自动切换Kubernetes主节点的方法 | |
CN103561055A (zh) | 基于会话的云计算环境下Web应用自动弹性扩展方法 | |
CN110580198B (zh) | OpenStack计算节点自适应切换为控制节点的方法及装置 | |
CN107506233B (zh) | 一种虚拟资源调度方法、装置及服务器 | |
CN109960579B (zh) | 一种调整业务容器的方法及装置 | |
CN112559122A (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 |