一种虚拟机热迁移方法、计算机设备及介质与流程

文档序号:36997025发布日期:2024-02-09 12:38阅读:12来源:国知局
一种虚拟机热迁移方法、计算机设备及介质与流程

本申请涉及计算机,尤其涉及一种虚拟机热迁移方法、计算机设备及介质。


背景技术:

1、随着数据中心和云计算等技术的发展,虚拟化技术和半虚拟化技术有广泛应用,例如处理器虚拟化、存储器虚拟化、设备虚拟化等。虚拟服务器和虚拟计算服务可以部署在多个计算节点、多个硬件平台上。有时候需要将虚拟机从一个计算节点转移到另一个计算节点,或者从一个硬件平台转移到另一个硬件平台。虚拟机热迁移指的是,通过虚拟机保存和恢复技术,将一个虚拟机的运行状态完整保存并且可以在新的硬件平台或者新的计算节点上快速恢复到原本的运行状态以便实现虚拟机平滑运行。发起虚拟机热迁移的虚拟机称作源虚拟机,而新的虚拟机称作目的虚拟机,用于承载目的虚拟机的物理节点或者物理主机需要有足够的内存资源并且满足特定状态要求。现有技术中,虚拟机热迁移的解决方案缺乏足够的灵活性来应对硬件环境的变化也不利于提升系统性能。

2、为此,本申请提供了一种虚拟机热迁移方法、计算机设备及介质,用于应对现有技术中的技术难题。


技术实现思路

1、第一方面,本申请提供了一种虚拟机热迁移方法。所述虚拟机热迁移方法用于从第一虚拟机到第二虚拟机的虚拟机热迁移,所述第一虚拟机包括第一物理内存和第一虚拟内存,所述第二虚拟机包括第二物理内存和第二虚拟内存,所述虚拟机热迁移方法包括:基于第一虚拟机迁移协议,调用第一函数接口,传输所述第一虚拟机的队列信息、内存信息和设备信息到所述第二虚拟机;基于所述第一虚拟机迁移协议,启动从所述第一虚拟机到所述第二虚拟机的虚拟机热迁移流程,包括:停止所述第一虚拟机,排空所述第一虚拟机的队列,执行从所述第一虚拟机到所述第二虚拟机的数据拷贝,以及实现从所述第一虚拟机到所述第二虚拟机的设备特性和设备状态的转移;其中,至少在启动所述虚拟机热迁移流程之前,基于独立于所述第一虚拟机迁移协议的第二虚拟机迁移协议,调用独立于所述第一函数接口的第二函数接口,分配所述第二虚拟机的所述第二物理内存中的第三物理内存,锁定所述第二虚拟机的所述第三物理内存,以及建立所述第二虚拟机的所述第三物理内存和所述第二虚拟机的所述第二虚拟内存之间的第一直接内存访问映射,所述第三物理内存用于所述虚拟机热迁移流程和所述第一直接内存访问映射用于所述虚拟机热迁移流程完成后的虚拟化设备数据访问。

2、通过本申请的第一方面,通过第二虚拟机迁移协议以及调用第二函数接口,将内存分配、内存锁定以及建立直接内存访问映射从依赖第一虚拟机迁移协议来进行的所述虚拟机热迁移流程中独立出来,从而可以独立地管理和执行,有利于体现第二虚拟机相关的硬件环境的变化,并且,可以优化内存延时分配和大内存映射的影响,有助于降低时延。

3、在本申请的第一方面的一种可能的实现方式中,至少在启动所述虚拟机热迁移流程之后并且在完成所述虚拟机热迁移流程之前,基于所述第二虚拟机迁移协议,调用所述第二函数接口,分配所述第二虚拟机的所述第二物理内存中的第四物理内存,锁定所述第二虚拟机的所述第四物理内存,解除所述第一直接内存访问映射,以及建立所述第二虚拟机的所述第四物理内存和所述第二虚拟机的所述第二虚拟内存之间的第二直接内存访问映射,所述第四物理内存用于所述虚拟机热迁移流程和所述第二直接内存访问映射用于所述虚拟机热迁移流程完成后的虚拟化设备数据访问。

4、在本申请的第一方面的一种可能的实现方式中,所述第三物理内存包括第一内存空间和第二内存空间,所述第四物理内存包括所述第一内存空间和第三内存空间,所述第二内存空间不同于所述第三内存空间。

5、在本申请的第一方面的一种可能的实现方式中,所述第二内存空间位于第一节点,所述第三内存空间位于第二节点,所述第二虚拟机的物理处理器对所述第二节点的访问速度高于所述物理处理器对所述第一节点的访问速度。

6、在本申请的第一方面的一种可能的实现方式中,所述第二虚拟机的物理处理器位于所述第二节点。

7、在本申请的第一方面的一种可能的实现方式中,所述第四物理内存对所述第二虚拟机的中央处理器的亲和度高于所述第三物理内存对所述第二虚拟机的中央处理器的亲和度。

8、在本申请的第一方面的一种可能的实现方式中,所述第二内存空间通过内存热插拔被移除,所述第三内存空间通过内存热插拔被添加。

9、在本申请的第一方面的一种可能的实现方式中,所述第一虚拟机迁移协议不支持在执行所述虚拟机热迁移流程期间的内存热插拔。

10、在本申请的第一方面的一种可能的实现方式中,所述第一虚拟机迁移协议基于虚拟宿主机用户协议和虚拟化硬件加速还有数据平面开发工具包。

11、在本申请的第一方面的一种可能的实现方式中,所述第二虚拟机的系统模拟器基于所述虚拟宿主机用户协议传输所述第一虚拟机的队列信息、内存信息和设备信息到所述第二虚拟机的数据平面开发工具包,所述第二虚拟机的数据平面开发工具包用于调用所述第二虚拟机的虚拟化硬件加速驱动以便实现从所述第一虚拟机到所述第二虚拟机的设备特性和设备状态的转移,其中,所述第一函数接口和所述第二函数接口均属于所述虚拟化硬件加速驱动的函数指针数组。

12、在本申请的第一方面的一种可能的实现方式中,所述第二虚拟机的所述虚拟化硬件加速驱动的所述函数指针数组中的所述第二函数接口被调用以便建立所述第一直接内存访问映射。

13、在本申请的第一方面的一种可能的实现方式中,所述第一直接内存访问映射还用于所述第二虚拟机的主机物理地址和所述第二虚拟机的客户机物理地址之间的输入输出内存管理单元映射。

14、在本申请的第一方面的一种可能的实现方式中,通过第一进程调用所述第一函数接口,以及,通过第二进程调用所述第二函数接口,其中,所述第二进程独立于所述第一进程。

15、第二方面,本申请实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据上述任一方面的任一种实现方式的方法。

16、第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。

17、第四方面,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的指令,当所述指令在计算机设备上运行时使得所述计算机设备执行根据上述任一方面的任一种实现方式的方法。



技术特征:

1.一种虚拟机热迁移方法,其特征在于,所述虚拟机热迁移方法用于从第一虚拟机到第二虚拟机的虚拟机热迁移,所述第一虚拟机包括第一物理内存和第一虚拟内存,所述第二虚拟机包括第二物理内存和第二虚拟内存,所述虚拟机热迁移方法包括:

2.根据权利要求1所述的虚拟机热迁移方法,其特征在于,至少在启动所述虚拟机热迁移流程之后并且在完成所述虚拟机热迁移流程之前,基于所述第二虚拟机迁移协议,调用所述第二函数接口,分配所述第二虚拟机的所述第二物理内存中的第四物理内存,锁定所述第二虚拟机的所述第四物理内存,解除所述第一直接内存访问映射,以及建立所述第二虚拟机的所述第四物理内存和所述第二虚拟机的所述第二虚拟内存之间的第二直接内存访问映射,所述第四物理内存用于所述虚拟机热迁移流程和所述第二直接内存访问映射用于所述虚拟机热迁移流程完成后的虚拟化设备数据访问。

3.根据权利要求2所述的虚拟机热迁移方法,其特征在于,所述第三物理内存包括第一内存空间和第二内存空间,所述第四物理内存包括所述第一内存空间和第三内存空间,所述第二内存空间不同于所述第三内存空间。

4.根据权利要求3所述的虚拟机热迁移方法,其特征在于,所述第二内存空间位于第一节点,所述第三内存空间位于第二节点,所述第二虚拟机的物理处理器对所述第二节点的访问速度高于所述物理处理器对所述第一节点的访问速度。

5.根据权利要求4所述的虚拟机热迁移方法,其特征在于,所述第二虚拟机的物理处理器位于所述第二节点。

6.根据权利要求2所述的虚拟机热迁移方法,其特征在于,所述第四物理内存对所述第二虚拟机的中央处理器的亲和度高于所述第三物理内存对所述第二虚拟机的中央处理器的亲和度。

7.根据权利要求3所述的虚拟机热迁移方法,其特征在于,所述第二内存空间通过内存热插拔被移除,所述第三内存空间通过内存热插拔被添加。

8.根据权利要求7所述的虚拟机热迁移方法,其特征在于,所述第一虚拟机迁移协议不支持在执行所述虚拟机热迁移流程期间的内存热插拔。

9.根据权利要求1所述的虚拟机热迁移方法,其特征在于,所述第一虚拟机迁移协议基于虚拟宿主机用户协议和虚拟化硬件加速还有数据平面开发工具包。

10.根据权利要求9所述的虚拟机热迁移方法,其特征在于,所述第二虚拟机的系统模拟器基于所述虚拟宿主机用户协议传输所述第一虚拟机的队列信息、内存信息和设备信息到所述第二虚拟机的数据平面开发工具包,所述第二虚拟机的数据平面开发工具包用于调用所述第二虚拟机的虚拟化硬件加速驱动以便实现从所述第一虚拟机到所述第二虚拟机的设备特性和设备状态的转移,其中,所述第一函数接口和所述第二函数接口均属于所述虚拟化硬件加速驱动的函数指针数组。

11.根据权利要求10所述的虚拟机热迁移方法,其特征在于,所述第二虚拟机的所述虚拟化硬件加速驱动的所述函数指针数组中的所述第二函数接口被调用以便建立所述第一直接内存访问映射。

12.根据权利要求1所述的虚拟机热迁移方法,其特征在于,所述第一直接内存访问映射还用于所述第二虚拟机的主机物理地址和所述第二虚拟机的客户机物理地址之间的输入输出内存管理单元映射。

13.根据权利要求1所述的虚拟机热迁移方法,其特征在于,通过第一进程调用所述第一函数接口,以及,通过第二进程调用所述第二函数接口,其中,所述第二进程独立于所述第一进程。

14.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1至13中任一项所述的方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机设备上运行时使得所述计算机设备执行根据权利要求1至13中任一项所述的方法。


技术总结
本申请涉及计算机技术领域并提供一种虚拟机热迁移方法、计算机设备及介质。方法包括:基于第一虚拟机迁移协议,调用第一函数接口,传输第一虚拟机的队列信息、内存信息和设备信息到第二虚拟机;基于第一虚拟机迁移协议,启动虚拟机热迁移流程,包括:停止第一虚拟机,排空队列,执行数据拷贝,以及实现设备特性和状态的转移;至少在启动之前,基于独立于第一虚拟机迁移协议的第二虚拟机迁移协议,调用独立于第一函数接口的第二函数接口,分配第二虚拟机的第二物理内存中的第三物理内存,锁定第三物理内存,以及建立第三物理内存和第二虚拟内存之间的第一直接内存访问映射。如此,降低时延和提升性能。

技术研发人员:王旭
受保护的技术使用者:珠海星云智联科技有限公司
技术研发日:
技术公布日:2024/2/8
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1