一种虚拟机迁移方法及装置的制造方法

文档序号:9672963阅读:191来源:国知局
一种虚拟机迁移方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种虚拟机迁移方法及装置。
【背景技术】
[0002]随着科技的不断发展,虚拟化技术作为应用于服务器中的一项关键技术,具有整合异构、便于实时维护与管理、节省功耗及安全性等优势,虚拟化技术的应用也越来越广泛,而虚拟机(Virtual Machine, VM)在线迁移(online migrat1n)技术是虚拟化技术当中的热点。
[0003]虚拟机在线迁移技术是指在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移。为了保证虚拟机上服务的可用,迁移过程仅允许非常短暂的切换时间,虚拟机在不同物理主机之间进行迁移时,由于切换的时间非常短暂,虚拟机的服务由源主机迁移到目的主机后,能够平滑运行,使用户感觉不到服务的中断,因而迁移过程对用户是透明的。虚拟机的在线迁移适用于对服务可用性要求很高的场景。
[0004]随着ARM (Advanced RISC Machines,高级精简指令集机器)多核技术的日益成熟,及其具有的精简指令集和低功耗等特性,面向ARM平台的虚拟化技术具有较强的技术前瞻性和实用价值。ARM处理器广泛应用于移动终端及嵌入式系统中,网络环境往往相对较复杂。然而,目前的虚拟机在线迁移技术,广泛应用于x86平台,x86平台相对ARM平台,网络环境相对简单,故基于x86平台的虚拟机迁移技术并不适用于ARM平台。
[0005]基于ARM平台的虚拟化研究尚处于一个相对空白的阶段,提供一种适用于ARM平台的虚拟机迁移方法,势在必行。

【发明内容】

[0006]本发明实施例提供一种虚拟机迁移方法及装置,以适用于基于ARM平台的虚拟机迁移。
[0007]第一方面,提供一种虚拟机迁移方法,应用于虚拟机迁移装置,该方法包括:
[0008]将源虚拟机内存中存储待迁移数据的内存页,标记为脏页;
[0009]在设定的时间内,向目标虚拟机迁移标记为脏页的内存页中存储的待迁移数据;
[0010]若迁移时间达到所述设定的时间,则确定迁移策略,所述迁移策略用于迁移源虚拟机中标记为脏页的内存页中存储的且未迁移的待迁移数据;
[0011]依据所述迁移策略,将源虚拟机中标记为脏页的内存页中存储的且未迁移的待迁移数据,迁移到目标虚拟机。
[0012]结合第一方面,在第一种实现方式中,确定迁移策略之前,所述方法还包括:
[0013]确定累计发送数据量,所述累计发送数据量为在所述设定时间内迁移的数据量;
[0014]将所述累计发送数据量与所述设定时间之间的比值,确定为实际传输带宽;
[0015]确定预期剩余时间,所述预期剩余时间为迁移源虚拟机中标记为脏页的内存页中存储的且未迁移的待迁移数据所需的时间;
[0016]确定迁移策略,包括:
[0017]判断所述预期剩余时间是否小于预设的最大停机时间;
[0018]若是,则确定迁移策略为停机进行迁移;
[0019]若否,则根据所述累计发送数据量和所述实际传输带宽,确定迁移策略。
[0020]结合第一方面的第一种实现方式,在第二种实现方式中,根据所述累计发送数据量和所述实际传输带宽,确定迁移策略,包括:
[0021]判断所述累计发送数据量与所述实际传输带宽是否均小于设定值;
[0022]若是,则增大预设的最大等待时间,并确定迁移策略为返回执行将源虚拟机内存中存储待迁移数据的内存页标记为脏页的过程,并在时间达到所述增大的等待时间后,向目标虚拟机迁移标记为脏页的内存页中存储的待迁移数据;
[0023]若否,则根据已执行的迁移次数确定迁移策略。
[0024]结合第一方面的第二种实现方式,在第三种实现方式中,所述根据已执行的迁移次数确定迁移策略,包括:
[0025]判断已执行的迁移次数是否超过预设的最大迁移次数;
[0026]若超过,则确定迁移策略为停机进行迁移;
[0027]若未超过,则根据设定迁移次数中记录的预期剩余时间,确定迁移策略。
[0028]结合第一方面的第三种实现方式,在第四种实现方式中,所述根据设定迁移次数中记录的预期剩余时间,确定迁移策略,包括:
[0029]确定根据设定迁移次数中记录的预期剩余时间的方差;
[0030]确定预期剩余时间曲线图的曲线斜率值,所述预期剩余时间曲线图是以迁移时间为横轴、预期剩余时间为纵轴,绘制的预期剩余时间与迁移时间之间的关系曲线图;
[0031]根据所述方差和所述曲线斜率值判断所述预期剩余时间是否收敛;
[0032]若收敛,则确定迁移策略为停机进行迁移;
[0033]若不收敛,则确定迁移策略为返回执行将源虚拟机内存中存储待迁移数据的内存页标记为脏页的过程。
[0034]结合第一方面的上述任一种实现方式,在第五种实现方式中,在设定的时间内,向目标虚拟机迁移标记为脏页的内存页中存储的待迁移数据,包括:
[0035]根据设定的流量限定值和所述设定的时间,确定在所述设定的时间内能够传送数据量的最大门限值;
[0036]判断当前累计发送数据量是否达到所述最大门限值;
[0037]若当前累计发送数据量达到所述最大门限值,则停止向目标虚拟机迁移标记为脏页的内存页中存储的待迁移数据,直至迁移时间达到所述设定的时间;
[0038]若当前累计发送数据量未达到所述最大门限值,则继续向目标虚拟机迁移标记为脏页的内存页中存储的待迁移数据,直至迁移时间达到所述设定的时间。
[0039]第二方面,提供一种虚拟机迁移装置,包括标记单元、迁移单元和确定单元,其中:
[0040]所述标记单元,用于将源虚拟机内存中存储待迁移数据的内存页,标记为脏页;
[0041]所述迁移单元,用于在设定的时间内,向目标虚拟机迁移所述标记单元中标记为脏页的内存页中存储的待迁移数据;
[0042]所述确定单元,用于在所述迁移单元已执行的迁移时间达到所述设定的时间时,确定迁移策略,所述迁移策略用于迁移源虚拟机中标记为脏页的内存页中存储的且未迁移的待迁移数据;
[0043]所述迁移单元,还用于依据所述确定单元确定的迁移策略,将源虚拟机中标记为脏页的内存页中存储的且未迁移的待迁移数据,迁移到目标虚拟机。
[0044]结合第二方面,在第一种实现方式中,所述确定单元,还用于:
[0045]确定迁移策略之前,确定累计发送数据量,所述累计发送数据量为在所述设定时间内迁移的数据量;将所述累计发送数据量与所述设定时间之间的比值,确定为实际传输带宽;确定预期剩余时间,所述预期剩余时间为迁移源虚拟机中标记为脏页的内存页中存储的且未迁移的待迁移数据所需的时间;
[0046]所述装置还包括判断单元,其中所述判断单元用于:
[0047]判断所述确定单元确定的所述预期剩余时间是否小于预设的最大停机时间;
[0048]所述确定单元,具体用于按如下方式确定迁移策略:
[0049]若所述判断单元判断的结果为所述预期剩余时间小于预设的最大停机时间,则确定迁移策略为停机进行迁移;
[0050]若所述判断单元判断的结果为所述预期剩余时间不小于预设的最大停机时间,则根据所述累计发送数据量和所述实际传输带宽,确定迁移策略。
[0051]结合第二方面的第一种实现方式,在第二种实现方式中,所述判断单元,还用于:
[0052]判断所述确定单元确定的所述累计发送数据量与所述实际传输带宽是否均小于设定值;
[0053]所述确定单元,具体用于按如下方式根据所述累计发送数据量和所述实际传输带宽,确定迁移策略:
[0054]若所述判断单元判断的结果为所述累计发送数据量与所述实际传输带宽均小于设定值,则增大预设的最大等待时间,并确定迁移策略为返回执行将源虚拟机内存中存储待迁移数据的内存页标记为脏页的过程,并在时间达到所述增大的等待时间后,向目标虚拟机迁移标记为脏页的内存页中存储的待迁移数据;
[0055]若所述判断单元判断的结果为所述累计发送数据量与所述实际传输带宽不是均小于设定值,则根据已执行的迁移次数确定迁移策略。
[0056]结合第二方面的第二种实现方式,在第三种实现方式中,所述判断单元,还用于:
[0057]判断所述迁移单元已执行的迁移次数是否超过预设的最大迁移次数;
[0058]所述确定单元,具体用于按如下方式根据已执行的迁移次数确定迁移策略:
[0059]若所述判断单元的判断结果为已执行的迁移次数超过预设的最大迁移次数,则确定迁移策略为停机进行迁移;
[0060]若所述判断单元的判断结果为已执行的迁移次数未超过预设的最大迁移次数,则根据设定迁移次数中记录的预期剩余时间,确定迁移策略。
[0061]结合第二方面的第三种实现方式,在第四种实现方式中,所述确定单元,还用于:
[0062]确定设定迁移次数中记录的预期剩余时间的方差;
[0063]确定预期剩余时间曲线图的曲线斜率值,所述预期剩余时间曲线图是以迁移时间为横轴,预期剩余时间为纵轴,绘制的预期剩余时间与迁移时间之间的关系曲线图;
[0064]所述判断单元,还
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1