一种虚拟机迁移管理方法、装置及系统的制作方法

文档序号:6522613阅读:354来源:国知局
一种虚拟机迁移管理方法、装置及系统的制作方法
【专利摘要】本发明实施例公开了一种虚拟机迁移管理方法,所述方法包括:根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。本发明实施例还公开了一种虚拟机迁移管理装置和系统。采用本发明,能够一定程度上提高虚拟机迁移决策的准确性。
【专利说明】一种虚拟机迁移管理方法、装置及系统
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种虚拟机迁移管理方法、装置及系统。
【背景技术】
[0002]虚拟机热迁移是虚拟化领域的一项关键技术,是实现虚拟化集群动态资源调度、不中断业务更换和维护主机的重要手段。虚拟机热迁移的基本原理是:在不影响用户业务或用户不感知的情况下,将运行的虚拟机从源物理机迁移到目标物理机。为了快速解决资源热点以及电源整合,每次可能需要决定迁移多个虚拟机,当前的策略是根据主机并发迁移虚拟机数目并结合历史虚拟机迁移时间的平均值进行计算每台主机最多容纳虚拟机迁移数目,而虚拟机的规格和业务的不同导致迁移时间的偏差较大,因此对迁移时间的评估不准确,无法做出合理的虚拟机热迁移决策。

【发明内容】

[0003]有鉴于此,本发明实施例提供一种虚拟机迁移管理方法、装置及系统,可通过动态计算虚拟机迁移时间,一定程度上提高虚拟机迁移决策的准确性。
[0004]为了解决上述技术问题,本发明实施例第一方面提供了一种虚拟机迁移管理方法,所述方法包括:
[0005]根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;`
[0006]分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;
[0007]若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
[0008]在第一方面的第一种可能实现方式中,所述方法还包括:
[0009]在开始将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,在所述源计算节点当前的可用迁移时间中减去所述迁移时间,以及在所述目的计算节点当前的可用迁移时间中减去所述迁移时间。
[0010]在第一方面的第二种可能实现方式中,所述根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间包括:
[0011]待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfaJl-cf)/(1-q),传输次数 n=min {N0, N},其中 apMVi/BWi」,q=MCRYij X〈1,MV^.为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BffV^.为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值。[0012]在第一方面的第三种可能实现方式中,所述根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间包括:
[0013]待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfaJl-cf)/(1-q),传输次数 n=min {N。,N},其中 &。= ((MV^.X CV^.) /BffV^.),q=MCRYij X ((MV^.X CV^.) /BWVijXl, MVU为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BWV.j为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值,CV.j为待迁移虚拟机的内存压缩比。
[0014]结合第一方面以及第一方面的第一至第三种可能实现方式,在第一方面的第四种可能实现方式中,所述方法还包括:
[0015]在每轮资源调度开始时初始化所有计算节点的可用迁移时间Μ?^ΚΧΤ,其中队为对应计算节点支持的并发迁移虚拟机数目,T为资源调度周期。
[0016]结合第一方面的第四种可能实现方式,在第一方面的第五种可能实现方式中,若在每轮资源调度开始时检测到计算节点正在进行虚拟机迁移,则初始化所述计算节点的可迁移时间MTeNiXT-MTVij,其中Μ?^为该计算节点中正在进行迁移的虚拟机的迁移时间。
[0017]相应的,本发明实施例第二方面提供了一种虚拟机迁移管理装置,包括:
[0018]迁移时间计算模块,用于根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;
[0019]可迁移时间管理模块,用于分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;
[0020]迁移判断模块,用于若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
[0021]在第二方面的第一种可能实现方式中,所述可迁移时间管理模块还用于:
[0022]在开始将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,在所述源计算节点当前的可用迁移时间中减去所述迁移时间,以及在所述目的计算节点当前的可用迁移时间中减去所述迁移时间。
[0023]在第二方面的第二种可能实现方式中,所述迁移时间计算模块计算迁移时间包括:
[0024]待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfaJl-cf)/(1-q),传输次数 n=min {N0, N},其中 apMVi/BWi」,q=MCRYij X〈1,MV^.为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BffV^.为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值。
[0025]在第一方面的第三种可能实现方式中,所述迁移时间计算模块计算迁移时间包括:
[0026]待迁移虚拟机从·源计算节点i至目的计算节点j的迁移时间MTVfaJl-cf)/(1-q),传输次数 n=min {N。,N},其中 &。= ((MV^.X CV^.) /BffV^.),q=MCRYij X ((MV^.X CV^.) /BWVijXl, MVU为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BWV.j为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值,CV.j为待迁移虚拟机的内存压缩比。
[0027]结合第二方面以及第二方面的第一至第三种可能实现方式,所述可迁移时间管理模块还用于:
[0028]在每轮资源调度开始时初始化所有计算节点的可用迁移时间Μ?^ΚΧΤ,其中队为对应计算节点支持的并发迁移虚拟机数目,T为资源调度周期。
[0029]结合第二方面的第四种可能实现方式,在第二方面的第五种可能实现方式中,所述可迁移时间管理模块还用于:
[0030]若在每轮资源调度开始时检测到计算节点正在进行虚拟机迁移,则初始化所述计算节点的可迁移时间MTfNiXT-MTVij,其中MTVij为该计算节点中正在进行迁移的虚拟机的迁移时间。
[0031]相应的,本发明实施例第三方面还提供了一种虚拟机迁移管理系统,包括至少两个承载虚拟机的计算节点设备和如本发明实施例第二方面所述的任意一种虚拟机迁移管
理装置。
[0032]相应的,本发明实施例第四方面还提供了一种虚拟机迁移管理系统,包括承载有至少一个待迁移虚拟机的源计算节点、目的计算节点,以及虚拟机迁移管理装置,
[0033]所述虚拟机迁移管理装置用于根据所述待迁移虚拟机的迁移参数计算所述待迁移虚拟机从所述源计算节点迁移至所述目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点`迁移至目的计算节点。
[0034]在本发明实施例第四方面第一种可能的实现方式中,所述迁移时间可以通过以下两种中的任意一种实现方式计算获得:
[0035]待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfaJl-cf)/(1-q),传输次数 n=min {N0, N},其中 apMVi/BWi」,q=MCRYij X〈1,MV^.为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BffV^.为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值,以及
[0036]待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfaJl-cf)/(1-q),传输次数 n=min {N。,N},其中 &。= ((MV^.X CV^.) /BffV^.),q=MCRYij X ((MV^.X CV^.) /BWVijXl, MVU为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BWV.j为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值,CV.j为待迁移虚拟机的内存压缩比。
[0037]本发明实施例通过待迁移虚拟机的迁移参数动态地计算迁移时间,并将计算得到的迁移时间与源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间进行比较从而确定是否可以进行虚拟机迁移,一定程度上提高了虚拟机迁移决策的准确性。【专利附图】

【附图说明】
[0038]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]图1是本发明实施例中一种虚拟机迁移管理方法的流程示意图;
[0040]图2是本发明另一实施例中的虚拟机迁移管理方法的流程示意图;
[0041]图3是本发明实施例中的虚拟机迁移管理装置的结构示意图;
[0042]图4是本发明另一实施例中的虚拟机迁移管理装置的结构示意图;
[0043]图5是本发明实施例中的一种虚拟机迁移管理系统的结构示意图;
[0044]图6是本发明另一实施例中的虚拟机迁移管理系统的结构示意图;
[0045]图7是本发明实施例中提及的分布式资源管理系统的结构示意图。
【具体实施方式】
[0046]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0047]本发明实施例中的虚拟机迁移管理方法可以由虚拟机迁移管理装置完成,所述虚拟机迁移管理装置可以实现在独立的节点设备中,也可以实现在如图7所示的分布式资源管理系统的管理节点设备中,图7所示的分布式资源管理系统中包括管理节点设备和多个计算节点,其中多个计算节点可以汇聚成节点簇,在节点簇中还可以设定主节点Master和从属节点Slave。
[0048]图1是本发明实施例中的一种虚拟机迁移管理方法的流程示意图,如图所示本实施例中的虚拟机迁移管理方法至少可以包括:
[0049]S101,根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽。
[0050]以预拷贝方式进行虚拟机迁移为例,虚拟机迁移管理装置可以根据负载均衡等因素决策需要从计算节点i迁移至计算节点j的虚拟机Vu,即待迁移虚拟机,进而获取该待迁移虚拟机的上层的业务QoS (Quality of Service,服务质量保证)为其限定的内存改变速率MCRVU以及下层的网络QoS为其限定的迁移网络带宽BWVU,进而迁移时间的推导过程可以如下:
[0051]第1轮拷贝,设源计算节点分配给虚拟机Vu的内存为MVU,在本实施例中称之为分配内存。将虚拟机vu的分配内存MVU从源计算节点i传输到目的计算节点j,时间消耗为:
[0052]t0=MViJ/BWViJ ;(示例性的MVU单位可以为Mb,BWVi」单位可以为Mb/s)
[0053]第2轮拷贝,在第1轮拷贝的时间、内,虚拟机Vu的分配内存有h X MVU X MCRVU被改变掉,需要把这部分内存再从源计算节点i传输到目的计算节点j,时间消耗为[0054]t!=t0 X MVij X MCRVij/BWVi^MCRVij X (MVij/BffVij)2 ;
[0055]第3轮,在第2轮拷贝的时间&内,虚拟机Vu的分配内存有& XMVij XMCRVU被改变掉,需要把这部分内存再从源计算节点i传输到目的计算节点j,时间消耗为:
[0056]t2=t! X MVij X MCRVij/BWVi^ (MCRVj 2 X3 ;
[0057]以此类推,最终迁移时间应该为:
[0058]MTViJ=t0+t1+t2+......+tn_!
[0059]=MViJ/BWViJ+MCRViJX2+......+(MCRViJ)n_1X (MVij/BffVij)11 设 afMVi/
BffV^qzMCRVijX (MVi/BWVi」),通常情况下,通过设置MCRV。和BWVi」可以保证q是小于1的,所以上式是收敛的,则上述等式进一步化简为:
[0060]ΜΤν=Β0+Β0Χ q:+......+a0X qn 1=a0 (l_qn) / (l_q)...................公式(1)
[0061]其中n为传输总次(轮)数,minW,N},其中凡为预设的最大传输次数,N为满足aoXq^1小于预设内存脏页阈值X的最小整数值,内存脏页即每轮拷贝传输过程中发生变化的内存页,内存脏页阈值X是一个内存脏页的数量值,可以预先由管理员设定,也就是说当某一轮拷贝的内存脏页数量小于该内存脏页阈值时,可以停止拷贝。
[0062]而在可选实施例中,可以采用先对虚拟机内存进行压缩再拷贝的方式进行虚拟机迁移,根据采用的压缩算法可以确定内存压缩比cvu,进而公式(1)可以调整为:
[0063]迁移时间MTVifa。(l-q11) / (1-q),传输次数 n=min {N0, N},其中 aQ= ((MV^.X CV^.) /BffV^.),q=MCRYijX ((MV^.XCV^.)/BffV^.) <1, n 的确定方式与前文相同。
[0064]S102,分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间。
[0065]具体的,可以为每个计算节点设置一个可用迁移时间,即在每个调度周期该计算节点可以用以虚拟机迁移的时间。例如在每隔一定周期或者有典型事件(例如添加/删除计算节点到虚拟资源集群中、启动/关闭虚拟机等)触发资源调度时初始化每个计算节点的可用迁移时间,进而随着计算节点上发生的影响该可用迁移时间的典型事件(例如将原先运行在自身计算节点的虚拟机迁移至别的计算节点,或将原本运行在其他计算节点的虚拟机迁移至自身计算节点等)可以对该计算节点上的可用迁移时间进行更新,虚拟机迁移管理装置可以在决策需要从计算节点i迁移至计算节点j的虚拟机¥〃后,分别获取源计算节点即计算节点i当前的可用迁移时间和目的计算节点即计算节点j当前的可用迁移时间。
[0066]S103,若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
[0067]即将S101中计算得到的所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间分别与源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间进行比较,若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定可以将所述待迁移虚拟机从源计算节点迁移至目的计算节点;若所述源计算节点当前的可用迁移时间小于所述迁移时间或所述目的计算节点当前的可用迁移时间均小于所述迁移时间,则确定所述待迁移虚拟机不可以从源计算节点迁移至目的计算节点。
[0068]在可选实施例中,在确定可以将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,虚拟机迁移管理装置可以向所述源计算节点和目的计算节点分别下发虚拟机迁移指令,以使其开始进行所述待迁移虚拟机的虚拟机迁移,与此同时将所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去所述迁移时间,使得下一次需要进行虚拟机迁移时可以根据更新后的可用迁移时间确定是否可以进行虚拟机迁移,从而实现了动态的对虚拟机迁移进行决策。对虚拟机迁移以实现对对应计算节点的可用迁移时间的准确管理,。
[0069]而在其他可选实施例中,虚拟机迁移管理装置也可以待所述待迁移虚拟机的迁移完成后,在所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去本次迁移的实际迁移时间,从而可以实现对计算节点的可用迁移时间更为准确的管理。
[0070]可见,本实施例结合图1所描述的虚拟机迁移管理方法可以根据待迁移虚拟机的迁移参数动态地计算迁移时间,并将计算得到的迁移时间与源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间进行比较从而确定是否可以进行虚拟机迁移,可以对于计算节点的虚拟机并发迁移数量进行动态管理,实现了更为准确的对虚拟机迁移进行决策。
[0071]图2是本发明另一实施例中的虚拟机迁移管理方法的流程示意图,如图所示本实施例中的虚拟机迁移管理方法可以包括:
[0072]S201,在每轮资源调度开始时初始化所有计算节点的可用迁移时间。
[0073]具体实现中,所述计算节点i的可用迁移时间可以初始化为Μ?^ΚΧΤ,其中队为计算节点i允许的并发迁移虚拟机数目,T为资源调度周期。
[0074]在可选实施例中, 在初始化各计算节点的可用迁移时间时,可以检测各计算节点当前是否正在进行虚拟机迁移,若当前计算节点i正在进行向计算节点j的虚拟机的迁移,则可以将计算节点i的可用迁移时间初始化为MTfNiXT-MTVij,MTVij为根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽,具体计算迁移时间的方式前文实施例中已详细举例,本实施例中不再赘述。
[0075]S202,根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽。
[0076]具体的,虚拟机迁移管理装置可以根据负载均衡等因素决策需要从计算节点i迁移至计算节点j的虚拟机Vij;即待迁移虚拟机,进而获取该待迁移虚拟机的上层的业务QoS(Quality of Service,服务质量保证)为其限定的内存改变速率MCRVU以及下层的网络QoS为其限定的迁移网络带宽BWVij,进而可以计算虚拟机Vu从计算节点i迁移至计算节点j的迁移时间MTVij,具体的计算方法可以参考前文实施例中的步骤S101,本实施例中不再赘述。
[0077]S203,分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间。
[0078]S204,若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
[0079]即将S202中计算得到的所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间分别与源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间进行比较,若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定可以将所述待迁移虚拟机从源计算节点迁移至目的计算节点;若所述源计算节点当前的可用迁移时间小于所述迁移时间或所述目的计算节点当前的可用迁移时间均小于所述迁移时间,则确定所述待迁移虚拟机不可以从源计算节点迁移至目的计算节点。
[0080]S205,在开始将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,在所述源计算节点当前的可用迁移时间中减去所述迁移时间,以及在所述目的计算节点当前的可用迁移时间中减去所述迁移时间。
[0081]具体实现中,在确定可以将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,虚拟机迁移管理装置可以向所述源计算节点和目的计算节点分别下发虚拟机迁移指令,以使其开始进行所述待迁移虚拟机的虚拟机迁移,并将所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去所述迁移时间。而在其他可选实施例中,虚拟机迁移管理装置也可以待所述待迁移虚拟机的迁移完成后,在所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去本次迁移的实际迁移时间。
[0082]可见,本实施例结合图2所描述的虚拟机迁移管理方法可以根据待迁移虚拟机的迁移参数动态地计算迁移时间,并将计算得到的迁移时间与源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间进行比较从而确定是否可以进行虚拟机迁移,可以对于计算节点的虚拟 机并发迁移数量进行动态管理,实现了更为准确的对虚拟机迁移进行决策。
[0083]图3是本发明实施例提供的一种虚拟机迁移管理装置的结构示意图,本发明的虚拟机迁移管理装置可以实现在分布式资源管理系统的管理节点设备中,也可以实现在其他独立的节点设备中。如图所示本实施例中的虚拟机迁移装置可以包括:
[0084]迁移时间计算模块310,用于根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽。
[0085]具体实现中,以预拷贝方式进行虚拟机迁移为例,虚拟机迁移管理装置可以根据负载均衡等因素决策需要从计算节点i迁移至计算节点j的虚拟,即待迁移虚拟机,进而获取该待迁移虚拟机的上层的业务QoS (Quality of Service,服务质量保证)为其限定的内存改变速率MCRVU以及下层的网络QoS为其限定的迁移网络带宽BWVi」,进而迁移时间计算模块310计算可以根据公式(1)计算迁移时间:
[0086]ΜΤν^.=Β0(1-αη)/(1-α),传输次数 n=min{N。,Ν},其中 afMVi/BWVu,q=MCRVuX (MVij/BWVijXLMVij为所述待迁移虚拟机的分配内存大小,凡为预设的最大传输次数,N为满足小于预设内存脏页阈值的最小整数值。具体迁移时间的计算推导过程前文实施例中已详细阐述,本实施例中不再赘述。
[0087]而在可选实施例中,可以采用先对虚拟机内存进行压缩再拷贝的方式进行虚拟机迁移,根据采用的压缩算法可以确定内存压缩比cvu,进而公式(1)可以调整为:
[0088]迁移时间MTVifa。(l-q11) / (1-q),传输次数 n=min {N0, Ν},其中 aQ= ((MV^.X CV^.) /BffV^.),q=MCRYijX ((MV^.XCV^.)/BffV^.) <1, n 的确定方式与前文相同。
[0089]可迁移时间管理模块320,用于分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间。
[0090]具体的,可迁移时间管理模块320可以为每个计算节点设置一个可用迁移时间,例如在每隔一定周期或者有典型事件(例如添加/删除计算节点到虚拟资源集群中、启动/关闭虚拟机等)触发资源调度时初始化每个计算节点的可用迁移时间。可选的,在初始化各计算节点的可用迁移时间时,可以先检测各计算节点当前是否正在进行虚拟机迁移,若当前计算节点i正在进行向计算节点j的虚拟机的迁移,则可以将计算节点i的可用迁移时间初始化为MI^NiXT-MTVij,MTVij为迁移时间计算模块310根据待迁移虚拟机Vu的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽。
[0091]进而随着计算节点上发生的影响该可用迁移时间的典型事件(例如将原先运行在自身计算节点的虚拟机迁移至别的计算节点,或将原本运行在其他计算节点的虚拟机迁移至自身计算节点等)可以对该计算节点上的可用迁移时间进行更新,虚拟机迁移管理装置可以在决策需要从计算节点i迁移至计算节点j的虚拟机\^后,分别获取源计算节点即计算节点i当前的可用迁移时间和目的计算节点即计算节点j当前的可用迁移时间。例如在迁移判断模块330确定可以将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,虚拟机迁移管理装置可以向所述源计算节点和目的计算节点分别下发虚拟机迁移指令,以使其开始进行所述待迁移虚拟机的虚拟机迁移,并由可迁移时间管理模块320将所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去所述迁移时间。而在其他可选实施例中,可迁移时间管理模块320也可以待所述待迁移虚拟机的迁移完成后,在所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去本次迁移的实际迁移时间。
[0092]迁移判断模块330,用于若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
[0093]即将迁移时间计算模块310计算得到的所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间分别与源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间进行比较,若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则迁移判断模块330确定可以将所述待迁移虚拟机从源计算节点迁移至目的计算节点;若所述源计算节点当前的可用迁移时间小于所述迁移时间或所述目的计算节点当前的可用迁移时间均小于所述迁移时间,则迁移判断模块330确定所述待迁移虚拟机不可以从源计算节点迁移至目的计算节点。
[0094]在可选实施例中,在确定可以将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,迁移判断模块330可以向所述源计算节点和目的计算节点分别下发虚拟机迁移指令,以使其开始进行所述待迁移虚拟机的虚拟机迁移,与此同时迁移判断模块330可以通知可迁移时间管理模块320将所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去所述迁移时间。
[0095]可见,本实施例结合图3所描述的虚拟机迁移管理装置可以根据待迁移虚拟机的迁移参数动态地计算迁移时间,并将计算得到的迁移时间与源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间进行比较从而确定是否可以进行虚拟机迁移,可以对于计算节点的虚拟机并发迁移数量进行动态管理,实现了更为准确的对虚拟机迁移进行决策。
[0096]图4是本发明另一实施例中的虚拟机迁移管理装置的结构示意图,如图所示如图3所示,该虚拟机迁移管理装置400可以包括:至少一个处理器401,例如CPU,至少一个网络接口 403,存储器404,至少一个通信总线402。其中,通信总线402用于实现这些组件之间的连接通信。网络接口 403可选的可以包括标准的有线接口、无线接口(如W1-FI接口)。例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器404可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器404可选的还可以是至少一个位于远离前述处理器401的存储装置。存储器404中存储一组程序代码,且处理器401用于调用存储器404中存储的程序代码,用于执行以下操作:
[0097]根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;
[0098]分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;
[0099]若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
[0100]进而在可选实施例中,所述根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间包括:
[0101]待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfaJl-cf)/(1-q),传输次数 n=min {Ν0, Ν},其中 apMVi/BWi」,q=MCRYij X〈1,MV^.为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BffV^.为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值。
[0102]进而在可选实施例中,可以采用先对虚拟机内存进行压缩再拷贝的方式进行虚拟机迁移,根据采用的压缩算法可以确定内存压缩比CVU,进而公式(1)可以调整为:
[0103]迁移时间MTVifa。(l-q11) / (1-q),传输次数 n=min {Ν。,Ν},其中 &。= ((MV^.X CV^.) /BffV^.),q=MCRYijX ((MV^.XCV^.)/BffV^.) <1, n 的确定方式与前文相同。
[0104]进而在可选实施例中,处理器401调用存储器404中存储的程序代码还可以执行以下步骤:
[0105]在开始将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,在所述源计算节点当前的可用迁移时间中减去所述迁移时间,以及在所述目的计算节点当前的可用迁移时间中减去所述迁移时间。从而使得下一次需要进行虚拟机迁移时可以根据更新后的可用迁移时间确定是否可以进行虚拟机迁移,从而实现了动态的对虚拟机迁移进行决策。对虚拟机迁移以实现对对应计算节点的可用迁移时间的准确管理,。
[0106]而在其他可选实施例中,虚拟机迁移管理装置也可以待所述待迁移虚拟机的迁移完成后,在所述源计算节点当前的可用迁移时间以及目的计算节点当前的可用迁移时间分别减去本次迁移的实际迁移时间,从而可以实现对计算节点的可用迁移时间更为准确的管理。
[0107]进而在可选实施例中,处理器401调用存储器404中存储的程序代码还可以执行以下步骤:
[0108]在每轮资源调度开始时初始化所有计算节点的可用迁移时间Μ?^ΚΧΤ,其中队为对应计算节点支持的并发迁移虚拟机数目,T为资源调度周期。
[0109]进而在可选实施例中,在初始化各计算节点的可用迁移时间时,可以检测各计算节点当前是否正在进行虚拟机迁移,若当前计算节点i正在进行向计算节点j的虚拟机的迁移,则可以将计算节点i的可用迁移时间初始化为MTeNiXT-MTVij,MTVij为根据待迁移虚拟机Vu的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间。
[0110]可见,本实施例结合图4所描述的虚拟机迁移管理装置可以根据待迁移虚拟机的迁移参数动态地计算迁移时间,并将计算得到的迁移时间与源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间进行比较从而确定是否可以进行虚拟机迁移,可以对于计算节点的虚拟机并发迁移数量进行动态管理,实现了更为准确的对虚拟机迁移进行决策。
[0111]图5是本发明实施例提出的一种虚拟机迁移管理系统的结构示意图,如图所示本实施例中的虚拟机迁移管理系统至少可以包括至少两个承载虚拟机的计算节点设备510、计算节点设备520......计算机节点设备5n0以及虚拟机迁移管理装置500,其中:
[0112]所述虚拟机迁移管理装置500可以如前文任一实施例描述的虚拟机迁移管理装置,用于根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
[0113]所述计算节点设备用于在所述虚拟机迁移管理装置确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点时,负责将待迁移虚拟机进行迁移操作。
[0114]进而本实施例介绍的虚拟机迁移管理系统可以用以实现前文任一方法实施例中的全部或部分虚拟机迁移管理方法流程。
[0115]图6是本发明另一实施例中的一种虚拟机迁移管理系统,其特征在于,包括承载有至少一个待迁移虚拟机的源计算节点i620、目的计算节点j630,以及虚拟机迁移管理装置 610,
[0116]所述虚拟机迁·移管理装置610用于根据所述待迁移虚拟机的迁移参数计算所述待迁移虚拟机从所述源计算节点i620迁移至所述目的计算节点j630的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;分别获取所述源计算节点i620当前的可用迁移时间和所述目的计算节点j630当前的可用迁移时间;若所述源计算节点i620当前的可用迁移时间和所述目的计算节点j630当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点i620迁移至目的计算节点j630。
[0117]在可选实施例中,所述迁移时间可以通过以下两种中的任意一种实现方式计算获得:
[0118]待迁移虚拟机从源计算节点i620至目的计算节点j630的迁移时间MTVij=B0 (1-Qn) / (Ι-q),传输次数 n=min {N0, N},其中 Btl=MVijZBWVij, Q=MCRVij X ((MVij X CVij) /BffVijXl, MVij为所述待迁移虚拟机的分配内存大小,MCRVij为所述待迁移虚拟机的内存改变速率,BffVij为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足BtlXcf1小于预设内存脏页阈值的最小整数值,以及
[0119]待迁移虚拟机从源计算节点i620至目的计算节点j630的迁移时间 MTVfa^l-qnVa-q),传输次数 n=min {N。,N},其中 a。= ((MVij X CVij)/BWVij),Q=MCRVijX ((MVijXCVijVBWVijXl, MVij为所述待迁移虚拟机的分配内存大小,MCRVij为所述待迁移虚拟机的内存改变速率,BWVij为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足BtlXqH小于预设内存脏页阈值的最小整数值,CVu为待迁移虚拟机的内存压缩比。
[0120] 进而本实施例介绍的虚拟机迁移管理系统可以用以实现前文任一方法实施例中的全部或部分虚拟机迁移管理方法流程。
[0121]本发明实施例通过根据待迁移虚拟机的迁移参数动态地计算迁移时间,并将计算得到的迁移时间与源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间进行比较从而确定是否可以进行虚拟机迁移,可以对于计算节点的虚拟机并发迁移数量进行动态管理,实现了更为准确的对虚拟机迁移进行决策。
[0122]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0123]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种虚拟机迁移管理方法,其特征在于,所述方法包括:根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
2.如权利要求1所述的虚拟机迁移管理方法,其特征在于,所述根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间包括:待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfadQ-qn)/ (l_q),传输次数 n=min{NQ,N},其中 afMVij/BWVi」,q=MCRV1]X (MVi/BWVi」)〈1,MV^.为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BffV^.为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值。
3.如权利要求1所述的虚拟机迁移管理方法,其特征在于,所述根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间包括:待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVijZaJl-qn)/(l_q),传输次数 n=min {N。,N},其中 &。= ((MV^.X CV^.) /BffV^.),q=MCRYij X ((MV^.X CV^.) /BffV^.)〈1,MVU为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BWV.j为所述待迁移虚拟机分`配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足aoXq^1小于预设内存脏页阈值的最小整数值,CV.j为待迁移虚拟机的内存压缩比。
4.如权利要求1~3中任一项所述的虚拟机迁移管理方法,其特征在于,所述方法还包括:在开始将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,在所述源计算节点当前的可用迁移时间中减去所述迁移时间,以及在所述目的计算节点当前的可用迁移时间中减去所述迁移时间。
5.如权利要求1~4中任一项所述的虚拟机迁移管理方法,其特征在于,所述方法还包括:在每轮资源调度开始时初始化所有计算节点的可用迁移时间MTeNiXT,其中队为对应计算节点支持的并发迁移虚拟机数目,T为资源调度周期。
6.如权利要求5所述的虚拟机迁移管理方法,其特征在于,若在每轮资源调度开始时检测到计算节点正在进行虚拟机迁移,则初始化所述计算节点的可迁移时间MI^NiXT-MTVij,其中MTVij为该计算节点中正在进行迁移的虚拟机的迁移时间。
7.—种虚拟机迁移管理装置,其特征在于,包括:迁移时间计算模块,用于根据待迁移虚拟机的迁移参数计算所述待迁移虚拟机从源计算节点迁移至目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;可迁移时间管理模块,用于分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;迁移判断模块,用于若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
8.如权利要求7所述的虚拟机迁移管理装置,其特征在于,所述可迁移时间管理模块还用于:在开始将所述待迁移虚拟机从源计算节点迁移至目的计算节点后,在所述源计算节点当前的可用迁移时间中减去所述迁移时间,以及在所述目的计算节点当前的可用迁移时间中减去所述迁移时间。
9.如权利要求7所述的虚拟机迁移管理装置,其特征在于,所述迁移时间计算模块计算迁移时间包括:待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfadQ-qn)/ (l_q),传输次数 n=min{NQ,N},其中 afMVij/BWVi」,q=MCRV1]X (MVi/BWVi」)〈1,MV^.为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BffV^.为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足hXcf1小于预设内存脏页阈值的最小整数值。
10.如权利要求7所述的 虚拟机迁移管理装置,其特征在于,所述迁移时间计算模块计算迁移时间包括:待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVijZaJl-qn)/(l_q),传输次数 n=min {N。,N},其中 &。= ((MV^.X CV^.) /BffV^.),q=MCRYij X ((MV^.X CV^.) /BffV^.)〈1,MVU为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BWV.j为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足aoXq^1小于预设内存脏页阈值的最小整数值,CV.j为待迁移虚拟机的内存压缩比。
11.如权利要求7~10中任一项所述的虚拟机迁移管理装置,其特征在于,所述可迁移时间管理模块还用于:在每轮资源调度开始时初始化所有计算节点的可用迁移时间MTeNiXT,其中队为对应计算节点支持的并发迁移虚拟机数目,T为资源调度周期。
12.如权利要求11所述的虚拟机迁移管理装置,其特征在于,所述可迁移时间管理模块还用于:若在每轮资源调度开始时检测到计算节点正在进行虚拟机迁移,则初始化所述计算节点的可迁移时间MTeNi X T-MTVij,其中MTVij为该计算节点中正在进行迁移的虚拟机的迁移时间。
13.—种虚拟机迁移管理系统,其特征在于,包括至少两个承载虚拟机的计算节点设备和如权利要求7~12中任一项所述的虚拟机迁移管理装置。
14.一种虚拟机迁移管理系统,其特征在于,包括承载有至少一个待迁移虚拟机的源计算节点、目的计算节点,以及虚拟机迁移管理装置,所述虚拟机迁移管理装置用于根据所述待迁移虚拟机的迁移参数计算所述待迁移虚拟机从所述源计算节点迁移至所述目的计算节点的迁移时间,其中所述迁移参数包括所述待迁移虚拟机的分配内存大小、内存改变速率以及迁移网络带宽;分别获取所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间;若所述源计算节点当前的可用迁移时间和所述目的计算节点当前的可用迁移时间均不小于所述迁移时间,则确定将所述待迁移虚拟机从源计算节点迁移至目的计算节点。
15.如权利要求14所述的虚拟机迁移管理系统,其特征在于,所述迁移时间可以通过以下两种中的任意一种实现方式计算获得:待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVfadQ-qn)/ (l_q),传输次数 n=min{NQ,N},其中 afMVij/BWVi」,q=MCRV1]X (MVi/BWVi」)〈1,MV^.为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BffV^.为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足4X/-1小于预设内存脏页阈值的最小整数值,以及待迁移虚拟机从源计算节点i至目的计算节点j的迁移时间MTVijZaJl-qn)/(l_q),传输次数 n=min {N。,N},其中 &。= ((MV^.X CV^.) /BffV^.),q=MCRYij X ((MV^.X CV^.) /BffV^.)〈1,MVU为所述待迁移虚拟机的分配内存大小,MCRVU为所述待迁移虚拟机的内存改变速率,BWV.j为所述待迁移虚拟机分配得到的迁移网络带宽,N0为预设的最大传输次数,N为满足aoXq^1小于预设内存脏页阈值`的最小整数值,CV.j为待迁移虚拟机的内存压缩比。
【文档编号】G06F9/48GK103685256SQ201310656235
【公开日】2014年3月26日 申请日期:2013年12月6日 优先权日:2013年12月6日
【发明者】于璠, 巩玉旺, 王振国 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1