虚拟机直通设备的热迁移方法和装置制造方法及图纸

技术编号:19542834 阅读:34 留言:0更新日期:2018-11-24 20:27
本申请实施例公开了虚拟机直通设备的热迁移方法和装置。该方法的一具体实施方式包括:通过调用寄存器状态同步接口执行寄存器状态同步方法,将源端虚拟机直通设备的寄存器状态同步至目标端虚拟机;取消源端虚拟机直通设备的透传状态,迭代执行如下多轮同步操作将源端虚拟机直通设备迁移至目标端虚拟机:通过调用寄存器状态同步接口执行寄存器状态同步方法,捕获迁移过程中对源端虚拟机直通设备的寄存器的读写操作,对目标端虚拟机直通设备的寄存器执行所捕获的读写操作;通过调用DMA脏页传输接口执行DMA脏页同步方法,将源端虚拟机直通设备的DMA脏页对应的数据写入目标端虚拟机的内存中。上述实施方式无需更改虚拟机内核即可实现直通设备的热迁移。

Thermal migration method and device of virtual machine through equipment

The embodiment of this application discloses a thermal migration method and device for a virtual machine through device. One specific implementation of the method includes: implementing register state synchronization method by calling register state synchronization interface, synchronizing register state of source-side virtual machine through device to target-side virtual machine; canceling the transmission state of source-side virtual machine through device, and performing the following multi-round synchronization operation iteratively to make source-side virtual. Machine through device migration to target virtual machine: register state synchronization method is implemented by calling register state synchronization interface, which captures the read and write operation of register of source virtual machine through device during migration, and the capture read and write operation is performed on register of target virtual machine through device; DMA dirty is invoked. Page transfer interface executes DMA dirty page synchronization method, and writes the data corresponding to the DMA dirty page of the source virtual machine through the device into the memory of the target virtual machine. The thermal migration of the through device can be realized without changing the virtual machine kernel.

【技术实现步骤摘要】
虚拟机直通设备的热迁移方法和装置
本申请实施例涉及计算机
,具体涉及虚拟机热迁移
,尤其涉及虚拟机直通设备的热迁移方法和装置。
技术介绍
虚拟机(VirtualMachine),是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机通常运行在宿主机上,每台宿主机上可以运行多台虚拟机。在云计算中,直通设备可以直接将宿主机上的PCI-E(PeripheralComponentInterfaceExpress,外围组件接口表示)设备透传给虚拟机,使得虚拟机可以直接访问该设备而不需要经过宿主机上的VMM(VirtualMachineMonitor,虚拟机监控器),从而使得该设备在虚拟机中获得最佳的性能。然而,由于直通设备的数据传输不需要虚拟机监控器的参与,在虚拟机热迁移时,虚拟机监控器无法获取直通设备的状态,因而无法配置新的虚拟机上的设备状态,所以直通设备无法实现热迁移。
技术实现思路
本申请实施例提出了虚拟机直通设备的热迁移方法和装置。第一方面,本申请实施例提供了一种虚拟机直通设备的热迁移方法,包括:通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至目标端虚拟机;取消源端虚拟机直通设备的透传状态,通过迭代执行多轮同步操作将源端虚拟机直通设备迁移至目标端虚拟机;同步操作包括:通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以捕获迁移过程中对源端虚拟机直通设备的寄存器的读写操作,对目标端虚拟机直通设备的寄存器执行所捕获的读写操作;以及通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,以将源端虚拟机直通设备标识的DMA脏页对应的数据写入目标端虚拟机的内存中。在一些实施例中,上述通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至目标端虚拟机,包括:通过调用已配置的寄存器状态同步接口执行将源端虚拟机直通设备的寄存器状态传输至虚拟机监控器的操作,在目标端虚拟机同步虚拟机监控器获取的寄存器状态;以及上述通过调用寄存器状态同步接口执行寄存器状态同步方法,以捕获迁移过程中对源端虚拟机直通设备的寄存器的读写操作,包括:通过调用已配置的寄存器状态同步接口执行将迁移过程中对源端虚拟机直通设备的寄存器的读写操作记录传输至虚拟机监控器的操作。在一些实施例中,上述通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,以将源端虚拟机直通设备标识的DMA脏页对应的数据写入目标端虚拟机的内存中,包括:通过调用已配置的DMA脏页传输接口执行将源端虚拟机直通设备标识的DMA脏页传输至虚拟机监控器的操作;在目标端虚拟机读取虚拟机监控器获取的DMA脏页,并解析DMA脏页获得迁移过程中DMA修改的数据,将解析得到的数据写入目标端虚拟机的内存中。在一些实施例中,上述方法还包括:读取源端虚拟机直通设备的设备标识;上述通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,包括:通过调用已配置的寄存器状态同步接口执行设备标识关联的寄存器状态同步方法;上述通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,包括:通过调用已配置的DMA脏页传输接口执行设备标识关联的DMA脏页同步方法。在一些实施例中,上述通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至目标端虚拟机,包括:通过调用寄存器状态同步接口读取源端虚拟机直通设备的读写寄存器的内容,将源端虚拟机直通设备的读写寄存器的内容传输并写入目标端虚拟机直通设备的读写寄存器;通过调用寄存器状态同步接口捕捉并记录源端虚拟机直通设备的对读写寄存器的读写操作,在目标端虚拟机直通设备执行源端虚拟机的读写操作,以将源端虚拟机直通设备的状态寄存器的内容同步至目标端虚拟机直通设备的状态寄存器。第二方面,本申请实施例提供了一种虚拟机直通设备的热迁移装置,包括:寄存器状态同步单元,被配置成通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至目标端虚拟机;增量数据同步单元,被配置成取消源端虚拟机直通设备的透传状态,通过迭代执行多轮同步操作将源端虚拟机直通设备迁移至目标端虚拟机;增量数据同步单元包括寄存器读写数据同步单元和DMA脏页同步单元,寄存器读写数据同步单元被配置成执行如下同步操作:通过调用寄存器状态同步接口执行寄存器状态同步方法,以捕获迁移过程中对源端虚拟机直通设备的寄存器的读写操作,对目标端虚拟机直通设备的寄存器执行所捕获的读写操作;DMA脏页同步单元被配置成执行如下同步操作:通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,以将源端虚拟机直通设备标识的DMA脏页对应的数据写入目标端虚拟机的内存中。在一些实施例中,上述寄存器状态同步单元进一步被配置成:通过调用已配置的寄存器状态同步接口执行将源端虚拟机直通设备的寄存器状态传输至虚拟机监控器的操作,在目标端虚拟机同步虚拟机监控器获取的寄存器状态;以及上述寄存器读写数据同步单元进一步被配置成:通过调用已配置的寄存器状态同步接口执行将迁移过程中对源端虚拟机直通设备的寄存器的读写操作记录传输至虚拟机监控器的操作。在一些实施例中,上述DMA脏页同步单元进一步被配置成:通过调用已配置的DMA脏页传输接口执行将源端虚拟机直通设备标识的DMA脏页传输至虚拟机监控器的操作;在目标端虚拟机读取虚拟机监控器获取的DMA脏页,并解析DMA脏页获得迁移过程中DMA修改的数据,将解析得到的数据写入目标端虚拟机的内存中。在一些实施例中,上述装置还包括:读取单元,被配置成读取源端虚拟机直通设备的设备标识;上述寄存器状态同步单元进一步被配置成通过调用已配置的寄存器状态同步接口执行设备标识关联的寄存器状态同步方法;上述寄存器读写数据同步单元进一步被配置成通过调用已配置的寄存器状态同步接口执行设备标识关联的寄存器状态同步方法;DMA脏页同步单元进一步被配置成通过调用已配置的DMA脏页传输接口执行设备标识关联的DMA脏页同步方法。在一些实施例中,上述寄存器状态同步单元进一步被配置成按照如下方式将源端虚拟机直通设备的寄存器状态同步至目标端虚拟机:通过调用寄存器状态同步接口读取源端虚拟机直通设备的读写寄存器的内容,将源端虚拟机直通设备的读写寄存器的内容传输并写入目标端虚拟机直通设备的读写寄存器;通过调用寄存器状态同步接口捕捉并记录源端虚拟机直通设备的对读写寄存器的读写操作,在目标端虚拟机直通设备执行源端虚拟机的读写操作,以将源端虚拟机直通设备的状态寄存器的内容同步至目标端虚拟机直通设备的状态寄存器。第三方面,本申请实施例提供了一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的虚拟机直通设备的热迁移方法。第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的虚拟机直通设备的热迁移方法。本申请上述实施例的虚拟机直通设备的热迁移方法和装置,首先通过调用已配置的寄存器状态同步接口执行寄存器状本文档来自技高网...

【技术保护点】
1.一种虚拟机直通设备的热迁移方法,包括:通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至所述目标端虚拟机;取消所述源端虚拟机直通设备的透传状态,通过迭代执行多轮同步操作将源端虚拟机直通设备迁移至目标端虚拟机;所述同步操作包括:通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以捕获迁移过程中对源端虚拟机直通设备的寄存器的读写操作,对目标端虚拟机直通设备的寄存器执行所捕获的读写操作;以及通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,以将源端虚拟机直通设备标识的DMA脏页对应的数据写入目标端虚拟机的内存中。

【技术特征摘要】
1.一种虚拟机直通设备的热迁移方法,包括:通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至所述目标端虚拟机;取消所述源端虚拟机直通设备的透传状态,通过迭代执行多轮同步操作将源端虚拟机直通设备迁移至目标端虚拟机;所述同步操作包括:通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以捕获迁移过程中对源端虚拟机直通设备的寄存器的读写操作,对目标端虚拟机直通设备的寄存器执行所捕获的读写操作;以及通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,以将源端虚拟机直通设备标识的DMA脏页对应的数据写入目标端虚拟机的内存中。2.根据权利要求1所述的方法,其中,所述通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至所述目标端虚拟机,包括:通过调用已配置的寄存器状态同步接口执行将源端虚拟机直通设备的寄存器状态传输至虚拟机监控器的操作,在目标端虚拟机同步所述虚拟机监控器获取的寄存器状态;以及所述通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以捕获迁移过程中对源端虚拟机直通设备的寄存器的读写操作,包括:通过调用已配置的寄存器状态同步接口执行将迁移过程中对源端虚拟机直通设备的寄存器的读写操作记录传输至所述虚拟机监控器的操作。3.根据权利要求1所述的方法,其中,所述通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,以将源端虚拟机直通设备标识的DMA脏页对应的数据写入目标端虚拟机的内存中,包括:通过调用已配置的DMA脏页传输接口执行将所述源端虚拟机直通设备标识的DMA脏页传输至虚拟机监控器的操作;在目标端虚拟机读取所述虚拟机监控器获取的DMA脏页,并解析DMA脏页获得迁移过程中DMA修改的数据,将解析得到的数据写入所述目标端虚拟机的内存中。4.根据权利要求1-3任一项所述的方法,其中,所述方法还包括:读取源端虚拟机直通设备的设备标识;所述通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,包括:通过调用已配置的寄存器状态同步接口执行所述设备标识关联的寄存器状态同步方法;所述通过调用已配置的DMA脏页传输接口执行DMA脏页同步方法,包括:通过调用已配置的DMA脏页传输接口执行所述设备标识关联的DMA脏页同步方法。5.根据权利要求1所述的方法,其中,所述通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚拟机直通设备的寄存器状态同步至所述目标端虚拟机,包括:通过调用所述寄存器状态同步接口读取源端虚拟机直通设备的读写寄存器的内容,将源端虚拟机直通设备的读写寄存器的内容传输并写入目标端虚拟机直通设备的读写寄存器;通过调用所述寄存器状态同步接口捕捉并记录源端虚拟机直通设备的对读写寄存器的读写操作,在目标端虚拟机直通设备执行所述源端虚拟机的读写操作,以将源端虚拟机直通设备的状态寄存器的内容同步至目标端虚拟机直通设备的状态寄存器。6.一种虚拟机直通设备的热迁移装置,包括:寄存器状态同步单元,被配置成通过调用已配置的寄存器状态同步接口执行寄存器状态同步方法,以将源端虚...

【专利技术属性】
技术研发人员:谢永吉柴稳张宇
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1