一种虚拟机的热迁移方法、系统、设备以及介质技术方案

技术编号:26170219 阅读:28 留言:0更新日期:2020-10-31 13:36
本发明专利技术公开了一种虚拟机的热迁移方法,包括以下步骤:响应于接收到迁移源虚拟机的指令,获取所述源虚拟机的透传设备的寄存器的种类;响应于所述寄存器为第一类寄存器,读取所述第一类寄存器的内容,并将所述第一类寄存器的内容传输至目标虚拟机的对应的第一类寄存器;响应于所述寄存器为第二类寄存器,捕获迁移过程中对所述第一类寄存器的读写操作,以在所述目标虚拟机执行所述读写操作,进而将所述源虚拟机的所述第二类寄存器的内容同步至所述目标虚拟机的透传设备对应的第二类寄存器。本发明专利技术还公开了一种系统、计算机设备以及可读存储介质。本发明专利技术提出的方案可以实现将透传设备进行热迁移。

【技术实现步骤摘要】
一种虚拟机的热迁移方法、系统、设备以及介质
本专利技术涉及虚拟机领域,具体涉及一种虚拟机的热迁移方法、系统、设备以及存储介质。
技术介绍
虚拟机,是指通过软件模拟的具有完整硬件系统功能的、运行在完全隔离环境种的计算机系统。虚拟机运行在物理机上,物理机上运行有Hypvisor来管理虚拟机。在虚拟化环境中,透传设备是指将物理机上的物理设备给虚拟机使用,物理机就无法对设备进行操控和管理,透传设备目前主要是PCI、PCI-E设备,如网卡、加密卡、特殊外设等。透传的设备因为直接被虚拟机使用,从而使虚拟机获得更好的性能。但也正因为物理机无法管控这些透传设备,导致Hypvisor无法监控设备的状态,导致虚拟化环境中虚拟机热迁移功能无法生效。
技术实现思路
有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种虚拟机的热迁移方法,包括以下步骤:响应于接收到迁移源虚拟机的指令,获取所述源虚拟机的透传设备的寄存器的种类;响应于所述寄存器为第一类寄存器,读取所述第一类寄存器的内容,并将所述第一类寄存器的内容传输至目标虚拟机的对应的第一类寄存器;响应于所述寄存器为第二类寄存器,捕获迁移过程中对所述第一类寄存器的读写操作,以在所述目标虚拟机执行所述读写操作,进而将所述源虚拟机的所述第二类寄存器的内容同步至所述目标虚拟机的透传设备对应的第二类寄存器。在一些实施例中,还包括:获取所述源虚拟机的透传设备的标识;将所述标识关联的DMA脏页对应的数据写入所述目标虚拟机的内存中。在一些实施例中,将所述标识关联的DMA脏页对应的数据写入所述目标虚拟机的内存中,进一步包括:将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器;在所述目标虚拟机读取所述虚拟机监控器获取的DMA脏页,并解析DMA脏页以获得迁移过程中DMA修改的数据,将解析得到的数据写入所述目标虚拟机的内存中。在一些实施例中,将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器,进一步包括:通过调用已配置的DMA脏页传输接口执行将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器的操作。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种虚拟机的热迁移系统,包括:获取模块,所述获取模块配置为响应于接收到迁移源虚拟机的指令,获取所述源虚拟机的透传设备的寄存器的种类;第一响应模块,所述第一响应模块配置为响应于所述寄存器为第一类寄存器,读取所述第一类寄存器的内容,并将所述第一类寄存器的内容传输至目标虚拟机的对应的第一类寄存器;第二响应模块,所述第二响应模块配置为响应于所述寄存器为第二类寄存器,捕获迁移过程中对所述第一类寄存器的读写操作,以在所述目标虚拟机执行所述读写操作,进而将所述源虚拟机的所述第二类寄存器的内容同步至所述目标虚拟机的透传设备对应的第二类寄存器。在一些实施例中,还包括DMA同步模块,所述DMA同步模块配置为:获取所述源虚拟机的透传设备的标识;将所述标识关联的DMA脏页对应的数据写入所述目标虚拟机的内存中。在一些实施例中,所述DMA同步模块还配置为:将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器;在所述目标虚拟机读取所述虚拟机监控器获取的DMA脏页,并解析DMA脏页以获得迁移过程中DMA修改的数据,将解析得到的数据写入所述目标虚拟机的内存中。在一些实施例中,所述DMA同步模块还配置为:通过调用已配置的DMA脏页传输接口执行将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器的操作。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种虚拟机的热迁移方法的步骤。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种虚拟机的热迁移方法的步骤。本专利技术具有以下有益技术效果之一:本专利技术提出的方案通过获取进行热迁移的虚拟机上获取透传设备所有寄存器的状态,那便可以获取透传设备的状态。然后将所有寄存器状态,同步到热迁移目的端机器上的相同PCI设备,这样迁移目的端便能与源端虚拟机中的PCI设备状态同步,再将迁移虚拟机与PCI设备进行绑定,从而便可将透传设备进行热迁移。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为本专利技术的实施例提供的虚拟机的热迁移方法的流程示意图;图2为本专利技术的实施例提供的虚拟机的热迁移方法的另一流程示意图;图3为本专利技术的实施例提供的虚拟机的热迁移系统的结构示意图;图4为本专利技术的实施例提供的计算机设备的结构示意图;图5为本专利技术的实施例提供的计算机可读存储介质的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。根据本专利技术的一个方面,本专利技术的实施例提出一种虚拟机的热迁移方法,如图1所示,其可以包括步骤:S1,响应于接收到迁移源虚拟机的指令,获取所述源虚拟机的透传设备的寄存器的种类;S2,响应于所述寄存器为第一类寄存器,读取所述第一类寄存器的内容,并将所述第一类寄存器的内容传输至目标虚拟机的对应的第一类寄存器;S3,响应于所述寄存器为第二类寄存器,捕获迁移过程中对所述第一类寄存器的读写操作,以在所述目标虚拟机执行所述读写操作,进而将所述源虚拟机的所述第二类寄存器的内容同步至所述目标虚拟机的透传设备对应的第二类寄存器。本专利技术提出的方案通过获取进行热迁移的虚拟机上获取透传设备所有寄存器的状态,那便可以获取透传设备的状态。然后将所有寄存器状态,同步到热迁移目的端机器上的相同PCI设备,这样迁移目的端便能与源端虚拟机中的PCI设备状态同步,再将迁移虚拟机与PCI设备进行绑定,从而便可将透传设备进行热迁移。在一些实施例中,如图2所示,还包括:获取所述源虚拟机的透传设备的标识;将所述标识关联的DMA脏页对应的数据写入所述目标虚拟机的内存中。在一些实施例本文档来自技高网...

【技术保护点】
1.一种虚拟机的热迁移方法,其特征在于,包括以下步骤:/n响应于接收到迁移源虚拟机的指令,获取所述源虚拟机的透传设备的寄存器的种类;/n响应于所述寄存器为第一类寄存器,读取所述第一类寄存器的内容,并将所述第一类寄存器的内容传输至目标虚拟机的对应的第一类寄存器;/n响应于所述寄存器为第二类寄存器,捕获迁移过程中对所述第一类寄存器的读写操作,以在所述目标虚拟机执行所述读写操作,进而将所述源虚拟机的所述第二类寄存器的内容同步至所述目标虚拟机的透传设备对应的第二类寄存器。/n

【技术特征摘要】
1.一种虚拟机的热迁移方法,其特征在于,包括以下步骤:
响应于接收到迁移源虚拟机的指令,获取所述源虚拟机的透传设备的寄存器的种类;
响应于所述寄存器为第一类寄存器,读取所述第一类寄存器的内容,并将所述第一类寄存器的内容传输至目标虚拟机的对应的第一类寄存器;
响应于所述寄存器为第二类寄存器,捕获迁移过程中对所述第一类寄存器的读写操作,以在所述目标虚拟机执行所述读写操作,进而将所述源虚拟机的所述第二类寄存器的内容同步至所述目标虚拟机的透传设备对应的第二类寄存器。


2.如权利要求1所述的方法,其特征在于,还包括:
获取所述源虚拟机的透传设备的标识;
将所述标识关联的DMA脏页对应的数据写入所述目标虚拟机的内存中。


3.如权利要求2所述的方法,其特征在于,将所述标识关联的DMA脏页对应的数据写入所述目标虚拟机的内存中,进一步包括:
将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器;
在所述目标虚拟机读取所述虚拟机监控器获取的DMA脏页,并解析DMA脏页以获得迁移过程中DMA修改的数据,将解析得到的数据写入所述目标虚拟机的内存中。


4.如权利要求3所述的方法,其特征在于,将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器,进一步包括:
通过调用已配置的DMA脏页传输接口执行将所述源虚拟机的透传设备的标识关联的DMA脏页传输至虚拟机监控器的操作。


5.一种虚拟机的热迁移系统,其特征在于,包括:
获取模块,所述获取模块配置为响应于接收到迁移源虚拟机的指令,获取所述源虚拟机的透传设备的寄存器的种类;
第一响应模块,所述第一响应模块配置为响应于所...

【专利技术属性】
技术研发人员:侯亚杰梁记斌刘毅枫
申请(专利权)人:山东超越数控电子股份有限公司
类型:发明
国别省市:山东;37

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

1