一种虚拟机热迁移方法及装置制造方法及图纸

技术编号:21115421 阅读:30 留言:0更新日期:2019-05-16 08:54
本发明专利技术实施例提出一种虚拟机热迁移方法及装置,涉及云计算技术领域。该方法及装置在源主机向目的主机发送的待迁移的配置有第一VF驱动的第一虚拟机的内存数据,以使目的主机将内存数据同步至目的主机创建的第二虚拟机中之前,向智能网卡发送第一控制指令以使第一虚拟机可通过运行第一VF驱动与第一物理功能网卡进行网络I/O的数据交互,使得在迁移第一虚拟机的内存数据的同时,第一虚拟机还能通过第一物理功能网卡收/发数据,使得源主机能够读取到迁移过程中第一虚拟机的数据变化,并能够将变化的数据同步至第二虚拟机,既能解决现有技术中利用智能网卡不能实现虚拟机在线迁移的问题,又能避免利用virtio‑net驱动智能网卡导致的网卡综合性能低的问题。

A Method and Device for Heat Transfer of Virtual Machine

【技术实现步骤摘要】
一种虚拟机热迁移方法及装置
本专利技术涉及云计算
,具体而言,涉及一种虚拟机热迁移方法及装置。
技术介绍
SR-IOV(Single-RootI/OVirtualization,单根I/O虚拟化)是一种IO虚拟化技术,该技术可以在一个物理PCIe(PeripheralComponentInterconnectionExpress,快速外设组件互连)设备上虚拟化出多个虚拟的PCIe设备,虚拟PCIe设备只能通过原物理PCIe设备进行配置和管理,每个虚拟PCIe设备可以有独立的中断和DMA(DirectMemoryAccess,直接内存存取),这样虚拟机可以直接通过虚拟PCIe设备访问物理PCIE设备,不需要VMM(VirtualMachineMonitor,虚拟机监控器)的干预。以SR-IOVNIC(NetworkInterfaceCard,网络接口卡)为例,SR-IOVNIC一般定义了一个PF(PhysicalFunction,物理功能)和若干个VF(VirtualFunction,虚拟功能),PF和VF可作为单独的网卡使用,VF一般通过PCIe透传技术将硬件透传到虚拟机中,这样在虚拟机中可以直接访问VF的硬件寄存器。然而,由于SR-IOVVF网卡是PCIe的物理网卡功能,如果使用VF网卡,会使虚拟客户机无法进行在线迁移。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种虚拟机热迁移方法及装置,以解决或者改善上述问题。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供了一种虚拟机热迁移方法,应用于主机,所述虚拟机热迁移方法包括:若所述主机为与第一智能网卡物理电连接的源主机,响应接收到的虚拟机迁移指令向目的主机发送所述源主机上布设的待迁移的第一虚拟机的配置信息,以使所述目的主机依据所述配置信息创建第二虚拟机,其中,所述第一智能网卡包括第一物理功能网卡,所述第一虚拟机上配置有第一VF驱动;向所述第一智能网卡发送第一控制指令,以使所述第一智能网卡通过所述第一物理功能网卡与所述配置有所述第一虚拟功能驱动的第一虚拟机进行网络I/O的数据交互;向所述目的主机发送所述第一虚拟机的内存数据,以使所述目的主机将所述第一虚拟机的内存数据同步至所述第二虚拟机中。第二方面,本专利技术实施例还提供了一种虚拟机热迁移方法,应用于智能网卡,所述虚拟机热迁移方法包括:若所述智能网卡为与源主机物理电连接的第一智能网卡,当接收到所述源主机发送的第一控制指令时,通过所述第一智能网卡的第一物理功能网卡与所述源主机上布设的待迁移的配置有第一虚拟功能驱动的第一虚拟机进行网络I/O的数据交互;其中,所述第一控制指令与所述源主机接收到的虚拟机迁移指令关联。第三方面,本专利技术实施例还提供了一种虚拟机热迁移装置,应用于主机,所述虚拟机热迁移装置包括:信息发送单元,若所述主机为与第一智能网卡物理电连接的源主机,所述信息发送单元用于响应接收到的虚拟机迁移指令向目的主机发送所述源主机上布设的待迁移的第一虚拟机的配置信息,以使所述目的主机依据所述配置信息创建第二虚拟机,其中,所述第一智能网卡包括第一物理功能网卡,所述第一虚拟机上配置有第一虚拟功能驱动;指令发送单元,用于向所述第一智能网卡发送第一控制指令,以使所述第一智能网卡通过所述第一物理功能网卡与所述配置有所述第一虚拟功能驱动的第一虚拟机进行网络I/O的数据交互;所述信息发送单元还用于向所述目的主机发送所述第一虚拟机的内存数据,以使所述目的主机将所述第一虚拟机的内存数据同步至所述第二虚拟机中。第四方面,本专利技术实施例还提供了一种虚拟机热迁移装置,应用于智能网卡,所述虚拟机热迁移装置包括:网卡配置单元,若所述智能网卡为与源主机物理电连接的第一智能网卡,所述网卡配置单元用于当接收到所述源主机发送的第一控制指令时,通过所述第一智能网卡的第一物理功能网卡与所述源主机上布设的待迁移的配置有第一虚拟功能驱动的第一虚拟机进行网络I/O的数据交互;其中,所述第一控制指令与所述源主机接收到的虚拟机迁移指令关联。本专利技术实施例提供的虚拟机热迁移方法,在源主机向目的主机发送源主机上布设的待迁移的配置有第一VF驱动的第一虚拟机的内存数据,以使目的主机将第一虚拟机的内存数据同步至目的主机根据源主机响应接收到的虚拟机迁移指令而发送的第一虚拟机的配置信息创建的第二虚拟机中之前,向智能网卡发送第一控制指令以使第一虚拟机可通过运行第一VF驱动与第一物理功能网卡进行网络I/O的数据交互,使得在迁移第一虚拟机的内存数据的同时,第一虚拟机还能通过第一物理功能网卡收/发数据,使得源主机能够读取到迁移过程中第一虚拟机的数据变化,并能够将变化的数据同步至第二虚拟机,既能解决现有技术中利用智能网卡不能实现虚拟机在线迁移的问题,又能避免利用virtio-net驱动智能网卡导致的网卡综合性能低的问题。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了一种常见的虚拟机热迁移方法的应用场景。图2示出了本专利技术实施例提供的虚拟机热迁移方法的应用场景。图3示出了本专利技术实施例提供的主机的方框示意图。图4示出了本专利技术实施例提供的智能网卡的方框示意图。图5示出了本专利技术实施例提供的虚拟机热迁移方法的信令流程图。图6示出了本专利技术实施例提供的第一虚拟机热迁移装置的功能模块图。图7示出了本专利技术实施例提供的第二虚拟机热迁移装置的功能模块图。图标:110-源主机;120-目的主机;130-第一虚拟机;140-第二虚拟机;150-第一智能网卡;152-第一物理功能网卡;154-第一虚拟功能网卡;160-第二智能网卡;162-第二物理功能网卡;164-第二虚拟功能网卡;210-第一存储器;220-第一处理器;230-第一通信模块;310-第二存储器;320-第二处理器;330-总线接口;400-第一虚拟机热迁移装置;410-信息发送单元;420-指令发送单元;430-虚拟机控制单元;440-队列同步单元;450-虚拟机创建单元;460-网口分配单元;470-内存同步单元;480-信息接收单元;490-队列更新单元;500-第二虚拟机热迁移装置;510-网卡配置单元;520-聚合网口新建单元。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开本文档来自技高网...

【技术保护点】
1.一种虚拟机热迁移方法,应用于主机,其特征在于,所述虚拟机热迁移方法包括:若所述主机为与第一智能网卡物理电连接的源主机,响应接收到的虚拟机迁移指令向目的主机发送所述源主机上布设的待迁移的第一虚拟机的配置信息,以使所述目的主机依据所述配置信息创建第二虚拟机,其中,所述第一智能网卡包括第一物理功能网卡,所述第一虚拟机上配置有第一虚拟功能驱动;向所述第一智能网卡发送第一控制指令,以使所述第一智能网卡通过所述第一物理功能网卡与所述配置有所述第一虚拟功能驱动的第一虚拟机进行网络I/O的数据交互;向所述目的主机发送所述第一虚拟机的内存数据,以使所述目的主机将所述第一虚拟机的内存数据同步至所述第二虚拟机中。

【技术特征摘要】
1.一种虚拟机热迁移方法,应用于主机,其特征在于,所述虚拟机热迁移方法包括:若所述主机为与第一智能网卡物理电连接的源主机,响应接收到的虚拟机迁移指令向目的主机发送所述源主机上布设的待迁移的第一虚拟机的配置信息,以使所述目的主机依据所述配置信息创建第二虚拟机,其中,所述第一智能网卡包括第一物理功能网卡,所述第一虚拟机上配置有第一虚拟功能驱动;向所述第一智能网卡发送第一控制指令,以使所述第一智能网卡通过所述第一物理功能网卡与所述配置有所述第一虚拟功能驱动的第一虚拟机进行网络I/O的数据交互;向所述目的主机发送所述第一虚拟机的内存数据,以使所述目的主机将所述第一虚拟机的内存数据同步至所述第二虚拟机中。2.根据权利要求1所述的虚拟机热迁移方法,其特征在于,在所述向所述目的主机发送所述第一虚拟机的内存数据的步骤之后,所述虚拟机热迁移方法还包括:在所述第一虚拟机的内存数据同步至所述第二虚拟机后,暂停运行所述第一虚拟机;将所述第一物理功能网卡中的第一物理功能队列同步至所述源主机的第一主机环形队列以得到第一同步队列并生成同步指令;将所述第一同步队列、所述第一主机环形队列对应的源主机数据及所述同步指令发送至所述目的主机。3.根据权利要求1所述的虚拟机热迁移方法,其特征在于,所述第二虚拟机上配置有第二虚拟功能驱动,所述虚拟机热迁移方法还包括:若所述主机为与第二智能网卡物理电连接的目的主机,所述目的主机根据所述配置信息生成第二控制指令,其中,所述第二智能网卡包括第二物理功能网卡;向所述第二智能网卡发送第二控制指令,以使所述第二智能网卡新建第二聚合网口并控制所述第二聚合网口与所述第二物理功能网卡通信;在所述第二智能网卡新建所述第二聚合网口后,将所述第二聚合网口分配给所述第二虚拟机,以使所述配置有第二虚拟功能驱动的第二虚拟机通过所述第二聚合网口与所述第二物理功能网卡通信。4.根据权利要求3所述的虚拟机热迁移方法,其特征在于,所述虚拟机热迁移方法还包括:接收源主机发送的第一同步队列、第一主机环形队列对应的源主机数据及同步指令,其中,所述第一同步队列为所述源主机将所述第一物理功能网卡中的第一物理功能队列同步至所述源主机的第一主机环形队列得到;响应所述同步指令而根据所述源主机数据的地址变化信息以及预存储的地址页表更新所述第一同步队列得到第二同步队列;将所述第二同步队列同步至所述第二物理功能网卡中的第二物理功能队列。5.根据权利要求4所述的虚拟机热迁移方法,其特征在于,所述第二智能网卡还包括第二虚拟功能网卡,所述第二聚合网口包括与所述第二虚拟功能网卡通信的第一虚拟接口及与所述第二物理功能网卡通信的第二虚拟接口;所述响应所述同步指令而将所述第一同步队列同步至所述第二物理功能网卡中的第二物理功能队列的步骤之后,所述虚拟机热迁移方法还包括:开启所述第二虚拟机;向所述第二智能网卡发送第三控制指令,以使所述第二智能网卡将所述第二虚拟接口从所述第二聚合网口中删除,并开启所述第一虚拟接口以使所述第二虚拟功能网卡与所述配置有第二虚拟功能驱动的第二虚拟机进行网络I/O的数据交互。6.一种虚拟机热迁移方法,应用于智能网卡,其特征在于,所述虚拟机热迁移方法包括:若所述智能网卡为与源主机物理电连接的第一智能网卡,当接收到所述源主机发送的第一控制指令时,通过所述第一智能网卡的第一物理功能网卡与所述源主机上布设的待迁移的...

【专利技术属性】
技术研发人员:钟晋明
申请(专利权)人:新华三云计算技术有限公司
类型:发明
国别省市:四川,51

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

1