一种虚拟机迁移方法和装置及物理主机制造方法及图纸

技术编号:15660389 阅读:46 留言:0更新日期:2017-06-21 10:05
本发明专利技术公开了一种虚拟机迁移方法和装置,以一定程度上解决热迁移混合拷贝方法中预拷贝和后拷贝切换时机难以确定的问题。在本发明专利技术一些可行的实施方式中,方法可包括:采用预拷贝方式将运行在源物理主机上的待迁移的目标虚拟机的内存数据向目的物理主机进行循环迭代拷贝;在每一轮迭代拷贝结束时,计算脏页变化率,所述脏页变化率表示当前一轮迭代拷贝相对于前一轮迭代拷贝的剩余内存脏页数量变化的速率;判断所述脏页变化率是否落入脏页变化率阈值范围;统计所述脏页变化率落入脏页变化率阈值范围的次数,判断所述次数是否大于或等于门限值;若所述次数大于或等于门限值,则采用后拷贝方式向所述目的物理主机迁移所述目标虚拟机。

【技术实现步骤摘要】
一种虚拟机迁移方法和装置及物理主机
本专利技术涉及计算机和通信
,具体涉及一种虚拟机迁移方法和装置及物理主机。
技术介绍
热迁移(livemigration)是虚拟化技术中极其重要的一部分。虚拟化环境中,业务负载运行在虚拟机(VirtualMachine,VM)上,虚拟机运行在物理机上,每个物理机可以运行一台或多台虚拟机;热迁移功能使得虚拟机在不暂停或重启的情况下,可以在线地从原物理机移动到其它物理主机上。目前业界常用的虚拟机迁移方式包括预拷贝迁移(Precopy)和后拷贝迁移(Post-copy),但随着技术的进步,业务对缩短停机时间的需求进一步加大,结合预拷贝迁移与后拷贝迁移优势的混合迁移(Hybrid-copy),逐渐成为研究与应用的热点技术。预拷贝迁移机制(pre-copy),在虚拟机运行的同时,向目的物理主机循环迭代迁移内存页面,同时记录内存脏页,每一轮循环拷贝传输上一轮循环拷贝过程中产生的内存脏页。当剩余内存脏页数量小于预先设定的阈值或迭代次数超过设置的最大迭代次数时停止拷贝;然后,挂起源物理主机上的虚拟机,将中央处理器(CPU)状态和最后一轮未同步的内存页面拷贝到目的物理主机。最后,虚拟机可以在目的物理主机上恢复运行。预拷贝迁移机制希望通过循环迭代拷贝减少虚拟机停机时间。经过若干次迭代,内存脏页逐渐减少,因此剩下的少量脏页能够实现快速迁移,缩短停机时间。由于虚拟机内存需要经过多轮迭代拷贝才能实现迁移目的端对内存状态的同步,但不能控制或预测迁移过程中虚拟机内存的脏页率,因此预拷贝迁移机制存在内存状态同步的收敛问题。该问题是指当网络传输率小于虚拟机修改其内存的速率时,内存状态的迭代复制过程由于不满足最少剩余内存条件而不能主动停止。在停机阶段里的大量剩余内存需要复制,延缓了VM在目的物理主机上恢复运行,这会延长VM停机时间,并影响VM在迁移过程中外部可访问时间。另外,预拷贝迁移机制的内存迭代拷贝还会造成迁移数据的高冗余性,导致迁移过程中对物理资源的不合理消耗。后拷贝迁移机制(Post-copy),虚拟机的处理器的状态先于虚拟机的内存数据传输。后拷贝机制,首先需挂起源物理主机上的虚拟机,拷贝最小的系统状态到目的物理主机;然后在目的物理主机上恢复运行虚拟机,当虚拟机运行遇到缺页时,产生缺页错误,向源物理主机发出请求,此时源物理主机传回虚拟机的缺页。后拷贝技术虽然解决了预拷贝技术中有可能造成的迭代次数过多的问题,但由于虚拟机在目的物理主机上开始运行时,目的物理主机上并没有虚拟机运行所需的内存页,所以将造成大量缺页中断,中断后从源物理主机通过网络传输过所需页面后再运行。这样就造成了虚拟机在目的物理主机上运行时的效率下降,服务质量(QualityofService,QoS)较差。混合迁移机制结合了pre-copy和post-copy两种机制,首先通过若干次预拷贝把虚拟机内存拷贝到目的物理主机上。然后挂起虚拟机,将处理机状态和内存脏页位图拷贝到目的物理主机上,并恢复运行。最后进行后拷贝,从源物理主机按需拷贝和主动推送剩余的内存脏页,完成虚拟机的全部迁移。混合拷贝结合了预拷贝和后拷贝的优点,但是,针对预拷贝迭代多少次切换到后拷贝的问题,并没有较好的解决方案。如果预拷贝的迭代次数过多,会造成总迁移时间的延长和总迁移的数据过多,造成系统资源的浪费。如果预拷贝的迭代次数过少,便切换到后拷贝阶段,会造成后拷贝缺页严重,造成虚拟机性能的下降、用户体验差。可见,如果不能根据虚拟机实际负载选择合适的时机从预拷贝切换到后拷贝,会对虚拟机迁移的效率以及资源消耗造成巨大的影响。
技术实现思路
本专利技术实施例提供一种虚拟机迁移方法和装置及物理主机,以一定程度上解决热迁移混合拷贝方法中预拷贝和后拷贝切换时机难以确定的问题。本专利技术第一方面提供一种虚拟机迁移方法,包括:采用预拷贝方式将运行在源物理主机上的待迁移的目标虚拟机的内存数据向目的物理主机进行循环迭代拷贝;在每一轮迭代拷贝结束时,计算脏页变化率,所述脏页变化率表示当前一轮迭代拷贝相对于前一轮迭代拷贝的剩余内存脏页数量变化的速率;判断所述脏页变化率是否落入脏页变化率阈值范围;统计所述脏页变化率落入脏页变化率阈值范围的次数,判断所述次数是否大于或等于门限值;若所述次数大于或等于门限值,则采用后拷贝方式向所述目的物理主机迁移所述目标虚拟机。在第一种可能的实现方式中,所述计算脏页变化率包括:计算第i+1轮迭代拷贝后的脏页变化率Ri+1=(Mi+1-Mi)/(ti+1-ti),其中Mi表示第i轮迭代拷贝结束后的内存脏页数量,ti表示第i轮迭代拷贝的结束时间;Mi+1表示第i+1轮迭代拷贝结束后的内存脏页数量为,ti+1表示第i+1轮迭代拷贝的结束时间,Ri+1表示第i+1轮迭代拷贝相对于第i轮迭代拷贝的剩余内存脏页数量变化的速率。结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述采用后拷贝方式向所述目的物理主机迁移所述目标虚拟机包括:在所述源物理主机上将所述目标虚拟机挂起;将所述目标虚拟机的处理器状态寄存器数据和内存脏页位图拷贝到所述目的物理主机;在所述目的物理主机上恢复运行所述目标虚拟机;将所述源物理主机上剩余的所述目标虚拟机的内存页面拷贝到所述目的物理主机。结合第一方面或者第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述方法还包括:在所述目标虚拟机迁移完成后,计算迁移的总时间和所述目标虚拟机的停机时间;判断所述迁移的总时间大于迁移时间阈值时,按照第一预设梯度减小所述脏页变化率阈值范围的下限值;判断所述停机时间大于停机时间阈值时,按照第二预设梯度增大所述门限值。本专利技术第二方面提供一种虚拟机迁移装置,包括:热迁移模块,用于采用预拷贝方式将运行在源物理主机上的待迁移的目标虚拟机的内存数据向目的物理主机进行循环迭代拷贝;控制模块,用于在每一轮迭代拷贝结束时,计算脏页变化率,所述脏页变化率表示当前一轮迭代拷贝相对于前一轮迭代拷贝的剩余内存脏页数量变化的速率;判断所述脏页变化率是否落入脏页变化率阈值范围;统计所述脏页变化率落入脏页变化率阈值范围的次数,判断所述次数是否大于或等于门限值;所述热迁移模块,还用于若所述控制模块判断所述次数大于或等于门限值,则采用后拷贝方式向所述目的物理主机迁移所述目标虚拟机。在第一种可能的实现方式中,所述控制模块包括:计算单元,用于计算第i+1轮迭代拷贝后的脏页变化率Ri+1=(Mi+1-Mi)/(ti+1-ti),其中Mi表示第i轮迭代拷贝结束后的内存脏页数量,ti表示第i轮迭代拷贝的结束时间;Mi+1表示第i+1轮迭代拷贝结束后的内存脏页数量为,ti+1表示第i+1轮迭代拷贝的结束时间,Ri+1表示第i+1轮迭代拷贝相对于第i轮迭代拷贝的剩余内存脏页数量变化的速率。结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述热迁移模块,具体用于在所述源物理主机上将所述目标虚拟机挂起;将所述目标虚拟机的处理器状态寄存器数据和内存脏页位图拷贝到所述目的物理主机;以便在所述目的物理主机上恢复运行所述目标虚拟机;将所述源物理主机上剩余的所述目标虚拟机的内存页面拷贝到所述目的物理主机。结合第一方面本文档来自技高网
...
一种虚拟机迁移方法和装置及物理主机

【技术保护点】
一种虚拟机迁移方法,其特征在于,包括:采用预拷贝方式将运行在源物理主机上的待迁移的目标虚拟机的内存数据向目的物理主机进行循环迭代拷贝;在每一轮迭代拷贝结束时,计算脏页变化率,所述脏页变化率表示当前一轮迭代拷贝相对于前一轮迭代拷贝的剩余内存脏页数量变化的速率;判断所述脏页变化率是否落入脏页变化率阈值范围;统计所述脏页变化率落入脏页变化率阈值范围的次数,判断所述次数是否大于或等于门限值;若所述次数大于或等于门限值,则采用后拷贝方式向所述目的物理主机迁移所述目标虚拟机。

【技术特征摘要】
1.一种虚拟机迁移方法,其特征在于,包括:采用预拷贝方式将运行在源物理主机上的待迁移的目标虚拟机的内存数据向目的物理主机进行循环迭代拷贝;在每一轮迭代拷贝结束时,计算脏页变化率,所述脏页变化率表示当前一轮迭代拷贝相对于前一轮迭代拷贝的剩余内存脏页数量变化的速率;判断所述脏页变化率是否落入脏页变化率阈值范围;统计所述脏页变化率落入脏页变化率阈值范围的次数,判断所述次数是否大于或等于门限值;若所述次数大于或等于门限值,则采用后拷贝方式向所述目的物理主机迁移所述目标虚拟机。2.根据权利要求1所述的方法,其特征在于,所述计算脏页变化率包括:计算第i+1轮迭代拷贝后的脏页变化率Ri+1=(Mi+1-Mi)/(ti+1-ti),其中Mi表示第i轮迭代拷贝结束后的内存脏页数量,ti表示第i轮迭代拷贝的结束时间;Mi+1表示第i+1轮迭代拷贝结束后的内存脏页数量,ti+1表示第i+1轮迭代拷贝的结束时间,Ri+1表示第i+1轮迭代拷贝相对于第i轮迭代拷贝的剩余内存脏页数量变化的速率。3.根据权利要求1或2所述的方法,其特征在于,所述采用后拷贝方式向所述目的物理主机迁移所述目标虚拟机包括:在所述源物理主机上将所述目标虚拟机挂起;将所述目标虚拟机的处理器状态寄存器数据和内存脏页位图拷贝到所述目的物理主机;在所述目的物理主机上恢复运行所述目标虚拟机;将所述源物理主机上剩余的所述目标虚拟机的内存页面拷贝到所述目的物理主机。4.根据权利要求1或2所述的方法,其特征在于,还包括:在所述目标虚拟机迁移完成后,计算迁移的总时间和所述目标虚拟机的停机时间;判断所述迁移的总时间大于迁移时间阈值时,按照第一预设梯度减小所述脏页变化率阈值范围的下限值;判断所述停机时间大于停机时间阈值时,按照第二预设梯度增大所述门限值。5.一种虚拟机迁移装置,其特征在于,包括:热迁移模块,用于采用预拷贝方式将运行在源物理主机上的待迁移的目标虚拟机的内存数据向目的物理主机进行循环迭代拷贝;控制模块,用于在每一轮迭代拷贝结束时,计算脏页变化率,所述脏页变化率表示当前一轮迭代拷贝相对于前一轮迭代拷贝的剩余内存脏页数量变化的速率;判断所述脏页变化率是否落入脏页变化率阈值范围;统计所述脏页变化率落入脏页变化率阈值范围的次数,判断所述次数是否大于或等于门限值;所述热迁移模块,还用于若所述控制模块判断所述次数大于或等于门限值,则采用后...

【专利技术属性】
技术研发人员:李江河
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1