CN114489930A - 一种虚拟机热迁移方法、装置及*** - Google Patents
一种虚拟机热迁移方法、装置及*** Download PDFInfo
- Publication number
- CN114489930A CN114489930A CN202111593288.4A CN202111593288A CN114489930A CN 114489930 A CN114489930 A CN 114489930A CN 202111593288 A CN202111593288 A CN 202111593288A CN 114489930 A CN114489930 A CN 114489930A
- Authority
- CN
- China
- Prior art keywords
- physical machine
- destination
- machine
- virtual machine
- cpu
- 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.)
- Pending
Links
Images
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种虚拟机热迁移方法、装置及***,用于解决现有技术存在的无法在保障业务连续性同时实现虚拟机热迁移的技术问题,所述方法包括:获取待迁移虚拟机的配置信息,并确定目的端物理机;向所述目的端物理机发送模拟请求;其中,所述模拟请求用于指示所述目的端物理机模拟缺失CPU指令,所述缺失CPU指令为所述源端物理机支持但所述目的端物理机不支持的CPU指令;向所述目的端物理机发送协商请求,并在接收所述目的端物理机返回的协商成功响应时,将所述待迁移虚拟机的内存热迁移到所述目的端物理机;其中,所述协商请求中携带所述配置信息。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种虚拟机热迁移方法、装置及***。
背景技术
虚拟机热迁移(Live Migration)是云计算运营中的一个关键技术,可以在保持虚拟机在源端物理机上正常运行的情况下,将虚拟机从源端物理机迁移到目的端物理机,以实现计算资源的动态调度,物理故障的主动运维。其中,虚拟机热迁移对于虚拟机、源端物理机和目的端物理机都有限制条件,例如,源端物理机和目的端物理机共享存储或者不共享存储时但通过块(Block)迁移,源端物理机和目的端物理机的时间、网络配置和中央处理器(central processing unit,CPU)类型或特性需要保持一致或兼容,虚拟机的虚拟操作***模拟器(Quick EMUlator,QEMU)版本和只读内存(Read Only Memory,ROM)版本需要保持一致或兼容。
目前,由于在异构或异平台的源端物理机和目的端物理机之间进行虚拟机热迁移时,需要将虚拟机配置为host-model模式或host-passthrough模式,而这两种模式的虚拟机在热迁移时需要源端物理机和目的端物理机的CPU特性保持完全一致,对于虚拟机较多但物理机较少或者物理机群障的场景而言,若遵守限制条件将无法保障业务连续性,若不遵守限制条件就无法实现虚拟机热迁移,例如,若源端物理机和目的端物理机的CPU特性完全不同或一致性较低,将虚拟机从源端物理机迁移到目的端物理机后,一旦虚拟机在目的端物理机使用了不支持的CPU指令,就会导致服务异常甚至虚拟机故障。
可见,现有技术存在无法在保障业务连续性同时实现虚拟机热迁移的问题。
发明内容
本申请实施例提供一种虚拟机热迁移方法、装置及***,用于解决现有技术存在的无法在保障业务连续性同时实现虚拟机热迁移的技术问题。
第一方面,为解决上述技术问题,本申请实施例提供一种虚拟机热迁移方法,应用于源端物理机,包括:
获取待迁移虚拟机的配置信息,并确定目的端物理机;
向所述目的端物理机发送模拟请求;其中,所述模拟请求用于指示所述目的端物理机模拟缺失中央处理器CPU指令,所述缺失CPU指令为所述源端物理机支持但所述目的端物理机不支持的CPU指令;
向所述目的端物理机发送协商请求,并在接收所述目的端物理机返回的协商成功响应时,将所述待迁移虚拟机的内存热迁移到所述目的端物理机;其中,所述协商请求中携带所述配置信息。
在本申请实施例中,源端物理机可以获取待迁移虚拟机的配置信息,并确定目的端物理机,向目的端物理机发送模拟请求,其中,模拟请求用于指示目的端物理机模拟缺失CPU指令,缺失CPU指令为源端物理机支持但目的端物理机不支持的CPU指令,向目的端物理机发送协商请求,并在接收目的端物理机返回的协商成功响应时,将待迁移虚拟机的内存热迁移到目的端物理机;其中,协商请求中携带待迁移虚拟机的配置信息。通过指示目的端物理机模拟缺失CPU指令,提高源端物理机的CPU特性和目的端物理机的CPU特性的匹配率,避免虚拟机在目的端物理机使用不支持的CPU指令导致的服务异常甚至虚拟机故障,从而在保障业务连续性同时实现虚拟机热迁移。
一种可选实施方式中,所述确定目的端物理机,包括:
获取所述源端物理机的CPU特性与至少一个物理机的CPU特性的匹配率,并确定是否存在所述匹配率大于预设阈值的物理机;
若存在,则确定所述匹配率大于预设阈值的物理机为所述目的端物理机;
若不存在,则基于所述至少一个物理机的CPU特性的集合长度和使用频率对所述至少一个物理机进行从大到小排序,得到目标排序结果,确定所述目标排序结果中排序最高的物理机为所述目的端物理机。
一种可选实施方式中,所述基于所述至少一个物理机的CPU特性的集合长度和使用频率对所述至少一个物理机进行从大到小排序,得到目标排序结果,包括:
基于所述至少一个物理机的CPU特性的集合长度对所述至少一个物理机进行从大到小排序,得到第一排序结果;
基于所述至少一个物理机的CPU特性的使用频率对所述第一排序结果中排序相同的物理机进行从大到小排序,得到第二排序结果;
确定所述第二排序结果为所述目标排序结果。
一种可选实施方式中,所述向所述目的端物理机发送模拟请求,包括:
向所述目的端物理机发送模拟请求,以使所述目的端物理机向虚拟机管理器VMM发送第一指令,并向现场可编程逻辑门阵列FPGA发送第二指令,其中,所述第一指令指示所述VMM加载CPU指令模拟器模拟所述缺失CPU指令,所述第二指令指示所述FPGA烧写所述缺失CPU指令。
在本申请实施例中,源端物理机可以向目的端物理机发送模拟请求,以使目的端物理机向VMM发送第一指令,并向FPGA发送第二指令,其中,第一指令指示VMM加载CPU指令模拟器模拟缺失CPU指令,第二指令指示FPGA烧写缺失CPU指令。使得目的端物理机通过软件和硬件结合的方式模拟缺失CPU指令,相较于纯软件的方式,提高了模拟的缺失CPU指令的性能,进而避免虚拟机在目的端物理机使用不支持的CPU指令导致的服务异常甚至虚拟机故障,在保障业务连续性同时实现虚拟机热迁移。
一种可选实施方式中,还包括:
在获取待迁移虚拟机的配置信息之前,将所述待迁移虚拟机的状态由非迁移切换到准备;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之前,将所述待迁移虚拟机的状态由准备换到迁移;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之后,将所述待迁移虚拟机的状态由迁移切换到非迁移,并清理所述待迁移虚拟机的内存。
第二方面,本申请实施例还提供一种虚拟机热迁移装置,应用于源端物理机,包括:
确定模块,用于获取待迁移虚拟机的配置信息,并确定目的端物理机;
发送模块,用于向所述目的端物理机发送模拟请求;其中,所述模拟请求用于指示所述目的端物理机模拟缺失中央处理器CPU指令,所述缺失CPU指令为所述源端物理机支持但所述目的端物理机不支持的CPU指令;
迁移模块,用于向所述目的端物理机发送协商请求,并在接收所述目的端物理机返回的协商成功响应时,将所述待迁移虚拟机的内存热迁移到所述目的端物理机;其中,所述协商请求中携带所述配置信息。
一种可选实施方式中,所述确定模块,具体用于:
获取所述源端物理机的CPU特性与至少一个物理机的CPU特性的匹配率,并确定是否存在所述匹配率大于预设阈值的物理机;
若存在,则确定所述匹配率大于预设阈值的物理机为所述目的端物理机;
若不存在,则基于所述至少一个物理机的CPU特性的集合长度和使用频率对所述至少一个物理机进行从大到小排序,得到目标排序结果,确定所述目标排序结果中排序最高的物理机为所述目的端物理机。
一种可选实施方式中,所述确定模块,具体用于:
基于所述至少一个物理机的CPU特性的集合长度对所述至少一个物理机进行从大到小排序,得到第一排序结果;
基于所述至少一个物理机的CPU特性的使用频率对所述第一排序结果中排序相同的物理机进行从大到小排序,得到第二排序结果;
确定所述第二排序结果为所述目标排序结果。
一种可选实施方式中,所述发送模块,具体用于:
向所述目的端物理机发送模拟请求,以使所述目的端物理机向虚拟机管理器VMM发送第一指令,并向现场可编程逻辑门阵列FPGA发送第二指令,其中,所述第一指令指示所述VMM加载CPU指令模拟器模拟所述缺失CPU指令,所述第二指令指示所述FPGA烧写所述缺失CPU指令。
一种可选实施方式中,所述装置还包括处理模块,用于:
在获取待迁移虚拟机的配置信息之前,将所述待迁移虚拟机的状态由非迁移切换到准备;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之前,将所述待迁移虚拟机的状态由准备换到迁移;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之后,将所述待迁移虚拟机的状态由迁移切换到非迁移,并清理所述待迁移虚拟机的内存。
第三方面,本申请实施例还提供一种虚拟机热迁移***,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中的任一种实施方式包括的步骤。
第四方面,本申请实施例提供一种存储介质,该存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中的任一种实施方式包括的步骤。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的一种虚拟机热迁移***的结构示意图;
图2为本申请实施例提供的一种虚拟机热迁移方法的流程示意图;
图3为本申请实施例提供的一种虚拟机热迁移装置的结构示意图;
图4为本申请实施例提供的又一种虚拟机热迁移***的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,能够以不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中,“至少一个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
目前,由于在异构或异平台的源端物理机和目的端物理机之间进行虚拟机热迁移时,需要将虚拟机配置为host-model模式或host-passthrough模式,而这两种模式的虚拟机在热迁移时需要源端物理机和目的端物理机的CPU特性保持完全一致,对于虚拟机较多但物理机较少或者物理机群障的场景而言,若遵守限制条件将无法保障业务连续性,若不遵守限制条件就无法实现虚拟机热迁移,例如,若源端物理机和目的端物理机的CPU特性完全不同或一致性较低,将虚拟机从源端物理机迁移到目的端物理机后,一旦虚拟机在目的端物理机使用了不支持的CPU指令,就会导致服务异常甚至虚拟机故障。可见,现有技术存在无法在保障业务连续性同时实现虚拟机热迁移的问题。
鉴于此,本申请实施例提供一种虚拟机热迁移方法,该方法中源端物理机可以获取待迁移虚拟机的配置信息,并确定目的端物理机,向目的端物理机发送模拟请求,其中,模拟请求用于指示目的端物理机模拟缺失CPU指令,缺失CPU指令为源端物理机支持但目的端物理机不支持的CPU指令,向目的端物理机发送协商请求,并在接收目的端物理机返回的协商成功响应时,将待迁移虚拟机的内存热迁移到目的端物理机;其中,协商请求中携带待迁移虚拟机的配置信息。通过指示目的端物理机模拟缺失CPU指令,提高源端物理机的CPU特性和目的端物理机的CPU特性的匹配率,避免虚拟机在目的端物理机使用不支持的CPU指令导致的服务异常甚至虚拟机故障,从而在保障业务连续性同时实现虚拟机热迁移。
为了更好的理解上述技术方案,下面通过说明书附图以及具体实施例对本申请技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
如图1所示,为本申请实施例所提供方法可适用的一种虚拟机热迁移***的结构示意图,当然本申请实施例所提供方法可适用到多种虚拟机热迁移***上,应当理解图1所示的虚拟机热迁移***是对可适用本申请实施例所提供方法的虚拟机热迁移***的简单说明,而不是对可适用本申请实施例所提供方法的虚拟机热迁移***的限定。
图1所示的虚拟机热迁移***包括源端物理机101、目的端物理机102,其中,源端物理机101上运行有待迁移虚拟机1011,目的端物理机102中包括虚拟机管理器(VirtualMachine Manager,VMM)1021和现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)1022。
需要说明的是,在本申请实施例中,源端物理机101上可以运行一个待迁移虚拟机,也可以运行多个待迁移虚拟机,图1仅是示例性的绘制一个待迁移虚拟机,本申请实施例并不限定源端物理机101上运行的待迁移虚拟机的数量。
需要说明的是,在本申请实施例在,源端物理机101和目的端物理机102可以是异构或异平台,也可以是同构或同平台,本申请实施例对此并不做具体限定,为了方便说明,下面以源端物理机101和目的端物理机102是异构或异平台,运行在源端物理机101上的待迁移虚拟机配置为host-model模式或host-passthrough模式为例。
如图2所示,为本申请实施例提供的一种虚拟机热迁移方法的流程示意图,该虚拟机热迁移方法可以应用于前述图1所示的虚拟机热迁移***中的源端物理机。该方法的具体流程描述如下。
步骤201:源端物理机获取待迁移虚拟机的配置信息,并确定目的端物理机。
在本申请实施例中,热迁移又称动态迁移或实时迁移,即虚拟机保存(save)或恢复(restore),通常是将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上,恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。当需要将运行在源端物理机上的待迁移虚拟机热迁移到目的端物理机时,源端物理机可以先获取待迁移虚拟机的配置信息,再从至少一个物理机中确定目的端物理机。
具体的,获取源端物理机的CPU特性与至少一个物理机的CPU特性的匹配率,并确定是否存在匹配率大于预设阈值的物理机,若存在,则确定匹配率大于预设阈值的物理机为目的端物理机,若不存在,则基于至少一个物理机的CPU特性的集合长度和使用频率对至少一个物理机进行从大到小排序,得到目标排序结果,确定目标排序结果中排序最高的物理机为目的端物理机。
示例性的,若预设阈值为95%,源端物理机的CPU特性与第一物理机的CPU特性的匹配率为80%,与第二物理机的CPU特性的匹配率为90%,与第三物理机的CPU特性的匹配率为92%,则确定不存在匹配率大于预设阈值的物理机,需要基于第一物理机、第二物理机和第三物理机的CPU特性的集合长度和使用频率对第一物理机、第二物理机和第三物理机进行从大到小排序,得到目标排序结果,若目标排序结果是第三物理机、第二物理机和第一物理机,确定目标排序结果中排序最高的第三物理机为目的端物理机。
需要说明的是,在本申请实施例中,在基于至少一个物理机的CPU特性的集合长度和使用频率对至少一个物理机进行从大到小排序,得到目标排序结果时,可以先基于至少一个物理机的CPU特性的集合长度对至少一个物理机进行从大到小排序,得到第一排序结果,再基于至少一个物理机的CPU特性的使用频率对第一排序结果中排序相同的物理机进行从大到小排序,得到第二排序结果,确定第二排序结果为目标排序结果。
示例性的,若第一物理机、第二物理机和第三物理机的CPU特性的集合长度分别为20、30和30,CPU特性的使用频率为30%、40%和60%,则先基于第一物理机、第二物理机和第三物理机的CPU特性的集合长度对至少一个物理机进行从大到小排序,得到第一排序结果是第二物理机和第三物理机并列为第一,第一物理机为第二,再基于第一物理机、第二物理机和第三物理机的CPU特性的使用频率对第一排序结果中排序相同的第二物理机和第三物理机进行从大到小排序,得到第二排序结果是第三物理机、第二物理机和第一物理机,确定第二排序结果为目标排序结果。
需要说明的是,在本申请实施例中,在获取待迁移虚拟机的配置信息之前,可以将待迁移虚拟机的状态由非迁移切(no-migrating)换到准备(preparing)。
步骤202:源端物理机向目的端物理机发送模拟请求。
在本申请实施例中,源端物理机确定目的端物理机之后,可以向目的端物理机发送模拟请求,其中,模拟请求用于指示目的端物理机模拟缺失CPU指令,缺失CPU指令为源端物理机支持但目的端物理机不支持的CPU指令。
需要说明的是,在本申请实施例中,源端物理机向目的端物理机发送模拟请求之后,目的端物理机将向VMM发送第一指令,并向FPGA发送第二指令,其中,第一指令指示VMM加载CPU指令模拟器模拟缺失CPU指令,第二指令指示FPGA烧写缺失CPU指令。使得目的端物理机通过软件和硬件结合的方式模拟缺失CPU指令,不仅避免虚拟机在目的端物理机使用不支持的CPU指令导致的服务异常甚至虚拟机故障,在保障业务连续性同时实现虚拟机热迁移,而且相较于纯软件的方式,软件和硬件结合的方式提高了模拟的缺失CPU指令的性能。
步骤203:源端物理机向目的端物理机发送协商请求,并在接收目的端物理机返回的协商成功响应时,将待迁移虚拟机的内存热迁移到目的端物理机。
在本申请实施例中,源端物理机向目的端物理机发送模拟请求之后,可以向目的端物理机发送协商请求,并在接收目的端物理机返回的协商成功响应时,将待迁移虚拟机的内存热迁移到目的端物理机,其中,协商请求中携带待迁移虚拟机的配置信息。
需要说明的是,在本申请实施例中,在源端物理机向目的端物理机发送协商请求之后,目的端物理机可以基于协商请求中携带的待迁移虚拟机的配置信息开始为待迁移虚拟机分配所需的资源,例如,调用VMM进行协商预迁移(pre_live_migration),创建本地资源目录,创建或链接存储资源,创建网络设备并连接,若协商预迁移失败,则删除网络设备,删除或者断联存储资源,删除本地资源目录。
需要说明的是,在本申请实施例中,在将待迁移虚拟机的内存热迁移到目的端物理机时,目的端物理机可以启动VMM监测热迁移进度,例如,VMM执行待迁移虚拟机的内存的热迁移,并在执行待迁移虚拟机的内存的热迁移后检查。
需要说明的是,在本申请实施例中,在将待迁移虚拟机的内存热迁移到目的端物理机之前,可以将待迁移虚拟机的状态由准备(preparing)换到迁移(migrating),在将待迁移虚拟机的内存热迁移到目的端物理机之后,可以将待迁移虚拟机的状态由迁移(migrating)切换到非迁移(no-migrating),并清理待迁移虚拟机的内存。
上述方案,源端物理机在获取待迁移虚拟机的配置信息,并确定目的端物理机之后,先向目的端物理机发送模拟请求,其中,模拟请求用于指示目的端物理机模拟缺失CPU指令,缺失CPU指令为源端物理机支持但目的端物理机不支持的CPU指令,再向目的端物理机发送协商请求,然后在接收目的端物理机返回的协商成功响应时,将待迁移虚拟机的内存热迁移到目的端物理机;其中,协商请求中携带待迁移虚拟机的配置信息。通过指示目的端物理机模拟缺失CPU指令,提高源端物理机的CPU特性和目的端物理机的CPU特性的匹配率,避免虚拟机在目的端物理机使用不支持的CPU指令导致的服务异常甚至虚拟机故障,从而在保障业务连续性同时实现虚拟机热迁移。
基于同一发明构思,本申请实施例还提供一种虚拟机热迁移装置,该虚拟机热迁移装置可以应用于前述图1所示的虚拟机热迁移***中的源端物理机。该虚拟机热迁移装置可以实现前述的虚拟机热迁移方法对应的功能。该虚拟机热迁移装置可以是硬件结构、软件模块、或硬件结构加软件模块。该虚拟机热迁移装置可以由芯片***实现,芯片***可以由芯片构成,也可以包含芯片和其他分立器件。请参见图3,为本申请实施例提供的一种虚拟机热迁移装置的结构示意图,该虚拟机热迁移装置包括确定模块301、发送模块302以及迁移模块303。
确定模块301,用于获取待迁移虚拟机的配置信息,并确定目的端物理机;
发送模块302,用于向所述目的端物理机发送模拟请求;其中,所述模拟请求用于指示所述目的端物理机模拟缺失中央处理器CPU指令,所述缺失CPU指令为所述源端物理机支持但所述目的端物理机不支持的CPU指令;
迁移模块303,用于向所述目的端物理机发送协商请求,并在接收所述目的端物理机返回的协商成功响应时,将所述待迁移虚拟机的内存热迁移到所述目的端物理机;其中,所述协商请求中携带所述配置信息。
一种可选实施方式中,所述确定模块301,具体用于:
获取所述源端物理机的CPU特性与至少一个物理机的CPU特性的匹配率,并确定是否存在所述匹配率大于预设阈值的物理机;
若存在,则确定所述匹配率大于预设阈值的物理机为所述目的端物理机;
若不存在,则基于所述至少一个物理机的CPU特性的集合长度和使用频率对所述至少一个物理机进行从大到小排序,得到目标排序结果,确定所述目标排序结果中排序最高的物理机为所述目的端物理机。
一种可选实施方式中,所述确定模块301,具体用于:
基于所述至少一个物理机的CPU特性的集合长度对所述至少一个物理机进行从大到小排序,得到第一排序结果;
基于所述至少一个物理机的CPU特性的使用频率对所述第一排序结果中排序相同的物理机进行从大到小排序,得到第二排序结果;
确定所述第二排序结果为所述目标排序结果。
一种可选实施方式中,所述发送模块302,具体用于:
向所述目的端物理机发送模拟请求,以使所述目的端物理机向虚拟机管理器VMM发送第一指令,并向现场可编程逻辑门阵列FPGA发送第二指令,其中,所述第一指令指示所述VMM加载CPU指令模拟器模拟所述缺失CPU指令,所述第二指令指示所述FPGA烧写所述缺失CPU指令。
一种可选实施方式中,所述装置还包括处理模块,用于:
在获取待迁移虚拟机的配置信息之前,将所述待迁移虚拟机的状态由非迁移切换到准备;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之前,将所述待迁移虚拟机的状态由准备换到迁移;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之后,将所述待迁移虚拟机的状态由迁移切换到非迁移,并清理所述待迁移虚拟机的内存。
基于同一发明构思,本申请实施例还提供一种虚拟机热迁移***,请参见图4,为本申请实施例提供的一种虚拟机热迁移***的结构示意图,该虚拟机热迁移***包括至少一个处理器402,以及与至少一个处理器连接的存储器401,本申请实施例中不限定处理器402与存储器401之间的具体连接介质,图4是以处理器402和存储器401之间通过总线400连接为例,总线400在图4中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不以此为限。总线400可以分为地址总线、数据总线、控制总线等,为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器401存储有可被至少一个处理器402执行的指令,至少一个处理器402通过调用存储器401存储的指令,可以执行前述的虚拟机热迁移方法中所包括的步骤。其中,处理器402是虚拟机热迁移***的控制中心,可以利用各种接口和线路连接整个虚拟机热迁移***的各个部分,通过执行存储在存储器401内的指令,从而实现虚拟机热迁移***的各种功能。可选的,处理器402可包括一个或多个处理单元,处理器402可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器402中。在一些实施例中,处理器402和存储器401可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器401作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器401可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器401是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器401还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
在本申请实施例中,处理器402可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的虚拟机热迁移方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
通过对处理器402进行设计编程,可以将前述实施例中介绍的虚拟机热迁移方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的虚拟机热迁移方法的步骤,如何对处理器402进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行如前述的虚拟机热迁移方法的步骤。
在一些可能的实施方式中,本申请提供的虚拟机热迁移方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在虚拟机热迁移***上运行时,程序代码用于使该虚拟机热迁移***执行本说明书上述描述的根据本申请各种示例性实施方式的虚拟机热迁移方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种虚拟机热迁移方法,其特征在于,应用于源端物理机,包括:
获取待迁移虚拟机的配置信息,并确定目的端物理机;
向所述目的端物理机发送模拟请求;其中,所述模拟请求用于指示所述目的端物理机模拟缺失中央处理器CPU指令,所述缺失CPU指令为所述源端物理机支持但所述目的端物理机不支持的CPU指令;
向所述目的端物理机发送协商请求,并在接收所述目的端物理机返回的协商成功响应时,将所述待迁移虚拟机的内存热迁移到所述目的端物理机;其中,所述协商请求中携带所述配置信息。
2.如权利要求1所述的方法,其特征在于,所述确定目的端物理机,包括:
获取所述源端物理机的CPU特性与至少一个物理机的CPU特性的匹配率,并确定是否存在所述匹配率大于预设阈值的物理机;
若存在,则确定所述匹配率大于预设阈值的物理机为所述目的端物理机;
若不存在,则基于所述至少一个物理机的CPU特性的集合长度和使用频率对所述至少一个物理机进行从大到小排序,得到目标排序结果,确定所述目标排序结果中排序最高的物理机为所述目的端物理机。
3.如权利要求2所述的方法,其特征在于,所述基于所述至少一个物理机的CPU特性的集合长度和使用频率对所述至少一个物理机进行从大到小排序,得到目标排序结果,包括:
基于所述至少一个物理机的CPU特性的集合长度对所述至少一个物理机进行从大到小排序,得到第一排序结果;
基于所述至少一个物理机的CPU特性的使用频率对所述第一排序结果中排序相同的物理机进行从大到小排序,得到第二排序结果;
确定所述第二排序结果为所述目标排序结果。
4.如权利要求1-3任一所述的方法,其特征在于,所述向所述目的端物理机发送模拟请求,包括:
向所述目的端物理机发送模拟请求,以使所述目的端物理机向虚拟机管理器VMM发送第一指令,并向现场可编程逻辑门阵列FPGA发送第二指令,其中,所述第一指令指示所述VMM加载CPU指令模拟器模拟所述缺失CPU指令,所述第二指令指示所述FPGA烧写所述缺失CPU指令。
5.如权利要求1所述的方法,其特征在于,还包括:
在获取待迁移虚拟机的配置信息之前,将所述待迁移虚拟机的状态由非迁移切换到准备;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之前,将所述待迁移虚拟机的状态由准备换到迁移;
在将所述待迁移虚拟机的内存热迁移到所述目的端物理机之后,将所述待迁移虚拟机的状态由迁移切换到非迁移,并清理所述待迁移虚拟机的内存。
6.一种虚拟机热迁移装置,其特征在于,应用于源端物理机,包括:
确定模块,用于获取待迁移虚拟机的配置信息,并确定目的端物理机;
发送模块,用于向所述目的端物理机发送模拟请求;其中,所述模拟请求用于指示所述目的端物理机模拟缺失中央处理器CPU指令,所述缺失CPU指令为所述源端物理机支持但所述目的端物理机不支持的CPU指令;
迁移模块,用于向所述目的端物理机发送协商请求,并在接收所述目的端物理机返回的协商成功响应时,将所述待迁移虚拟机的内存热迁移到所述目的端物理机;其中,所述协商请求中携带所述配置信息。
7.如权利要求6所述的装置,其特征在于,所述确定模块,具体用于:
获取所述源端物理机的CPU特性与至少一个物理机的CPU特性的匹配率,并确定是否存在所述匹配率大于预设阈值的物理机;
若存在,则确定所述匹配率大于预设阈值的物理机为所述目的端物理机;
若不存在,则基于所述至少一个物理机的CPU特性的集合长度和使用频率对所述至少一个物理机进行从大到小排序,得到目标排序结果,确定所述目标排序结果中排序最高的物理机为所述目的端物理机。
8.如权利要求7所述的装置,其特征在于,所述确定模块,具体用于:
基于所述至少一个物理机的CPU特性的集合长度对所述至少一个物理机进行从大到小排序,得到第一排序结果;
基于所述至少一个物理机的CPU特性的使用频率对所述第一排序结果中排序相同的物理机进行从大到小排序,得到第二排序结果;
确定所述第二排序结果为所述目标排序结果。
9.一种虚拟机热迁移***,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-5任一项所述的方法包括的步骤。
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-5任一项所述的方法包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593288.4A CN114489930A (zh) | 2021-12-23 | 2021-12-23 | 一种虚拟机热迁移方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111593288.4A CN114489930A (zh) | 2021-12-23 | 2021-12-23 | 一种虚拟机热迁移方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489930A true CN114489930A (zh) | 2022-05-13 |
Family
ID=81493230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111593288.4A Pending CN114489930A (zh) | 2021-12-23 | 2021-12-23 | 一种虚拟机热迁移方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489930A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700899A (zh) * | 2023-06-14 | 2023-09-05 | 北京志凌海纳科技有限公司 | 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和*** |
-
2021
- 2021-12-23 CN CN202111593288.4A patent/CN114489930A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116700899A (zh) * | 2023-06-14 | 2023-09-05 | 北京志凌海纳科技有限公司 | 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和*** |
CN116700899B (zh) * | 2023-06-14 | 2023-11-14 | 北京志凌海纳科技有限公司 | 一种虚拟机热迁移过程中Option ROM的兼容性解决方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618155B (zh) | 一种虚拟机容错的方法、装置及*** | |
CN109495306B (zh) | 一种业务网络的扩容方法及设备 | |
US11036535B2 (en) | Data storage method and apparatus | |
CN107395710B (zh) | 一种云平台网元的配置和高可用ha实现方法和装置 | |
CN111143034B (zh) | 一种控制网络数据转发平面的方法、装置及*** | |
JP2021524104A (ja) | マスター・スタンドバイコンテナシステム切替 | |
CN108319492B (zh) | 复位物理机的方法、装置与*** | |
CN104283951A (zh) | 一种实例迁移的方法、装置及*** | |
CN111669284A (zh) | OpenStack自动化部署方法、电子设备、存储介质及*** | |
CN113342471A (zh) | 虚拟机迁移方法、***及电子设备 | |
CN112000353A (zh) | 应用运行方法、装置及存储介质 | |
CN111736943A (zh) | 虚拟机的迁移方法和*** | |
CN114489930A (zh) | 一种虚拟机热迁移方法、装置及*** | |
CN110602229A (zh) | 基于动态切片的终端***版本下载方法、装置及*** | |
CN109542829B (zh) | 多***中gpu设备的控制方法、装置及电子设备 | |
CN110780889A (zh) | 一种云手机数据克隆方法及云手机数据还原方法 | |
CN116560802B (zh) | 一种基于虚拟机负载的虚拟机自适应热迁移方法及*** | |
US20220206836A1 (en) | Method and Apparatus for Processing Virtual Machine Migration, Method and Apparatus for Generating Virtual Machine Migration Strategy, Device and Storage Medium | |
CN110569157B (zh) | 存储测试方法、装置、服务器及存储介质 | |
CN112631994A (zh) | 数据迁移方法及*** | |
CN111866210A (zh) | 一种虚拟ip均衡分配方法、***、终端及存储介质 | |
CN105743696A (zh) | 一种云计算平台管理方法 | |
CN111124669A (zh) | 一种分布式SaaS软件的运营方法、***、终端及存储介质 | |
CN107577518B (zh) | 一种虚拟机部署方法及装置 | |
CN107688479B (zh) | Android***网络集群及其搭建的方法、Android***网络集群数据处理的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |