一种虚拟机内存数据的迁移方法及相关装置和集群系统制造方法及图纸

技术编号:9596636 阅读:129 留言:0更新日期:2014-01-23 02:09
本发明专利技术实施例公开了一种虚拟机内存的迁移方法及相关装置和集群系统。涉及通信领域,降低了虚拟机内存迁移时的处理器利用率及时间开销。本发明专利技术实施例提供的方法包括:获取发送第一虚拟机内存数据的数据发送请求,其中,数据发送请求包含第一虚拟机的标识,以及请求发送的内存数据的PFN;根据第一虚拟机的标识查询对应关系信息库,得到第一虚拟机的对应关系,根据请求发送的内存数据的PFN查询第一虚拟机的对应关系,得到请求发送的内存数据的物理内存页地址;通过RDMA网卡将所述请求发送的内存数据的物理内存页地址存储的内存数据发送至目的物理主机。

【技术实现步骤摘要】
一种虚拟机内存数据的迁移方法及相关装置和集群系统
本专利技术涉及通信领域,尤其涉及一种虚拟机数据内存的迁移方法及相关装置和集群系统。
技术介绍
虚拟机迁移是将虚拟机的内存从源物理主机发送至目的物理主机。虚拟机迁移是虚拟机实时迁移的主要部分,虚拟机实时迁移可以在保持虚拟机运行的同时,将虚拟机从源物理主机迁移至目的物理主机,并在目的物理主机上恢复运行,实现服务整合。通过虚拟机实时迁移可以实现服务器的在线维护、在线升级、负载均衡,并为灾难恢复提供了一种解决方案。在现有技术中,xen虚拟化平台下,虚拟机迁移采用迭代发送虚拟机内存的方法,每次迭代时分批次地选取当次迭代的脏页并将这些页面映射至特权虚拟机的用户态进程的线性地址空间,映射完成后,再调用超级调用进行页表的更新从而建立线性地址空间与物理地址的联系,取得映射的线性地址后,通过用户态的远程直接内存读取(RemoteDirectMemoryAccess,简称RDMA)接口注册已映射的虚拟机内存对应的物理地址至RDMA网卡,并通过其他RDMA系统调用按照RDMA通信协议进行后续的数据传输。在数据成功发送后,将虚拟机的内存从用户态进程空间中解映射,同时注销已注册的物理内存。专利技术人发现现有技术至少存在以下问题:在虚拟化平台下,虚拟机迁移需要映射虚拟机的内存并通过超级调用更新页表,导致虚拟机所在的物理机中的中央处理器(CentralProcessingUnit,简称CPU)利用率及时间开销较大。
技术实现思路
本专利技术实施例提供一种虚拟机内存数据的迁移方法及相关装置和集群系统,以降低虚拟机所在的物理主机中的处理器利用率及时间开销。本专利技术实施例采用的技术方案是:第一方面,提供了一种虚拟机内存数据的迁移方法,包括:获取发送第一虚拟机内存数据的数据发送请求,其中,所述数据发送请求包含所述第一虚拟机的标识,以及请求发送的内存数据的物理页框号(PhysicalFrameNumber,简称PFN);根据所述第一虚拟机的标识查询对应关系信息库,得到所述第一虚拟机的对应关系,其中,所述对应关系信息库包含待迁移的虚拟机的对应关系,所述第一虚拟机的对应关系为基于所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间,以及所述地址空间对应的所述第一虚拟机内存的PFN,以及所述第一虚拟机内存的PFN对应的所述第一虚拟机内存的物理内存页地址后,建立的所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址的对应关系;根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址;通过RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机。在第一种可能的实现方式中,根据第一方面,在所述获取发送第一虚拟机内存数据的数据发送请求之前,所述方法还包括:获取特权虚拟机用户态进程触发的迁移所述第一虚拟机的内存数据的迁移请求,其中,所述迁移请求中包含所述第一虚拟机的标识;根据所述迁移请求中的所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间;根据所述地址空间获取所述第一虚拟机内存的PFN;根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址;建立所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址之间的对应关系。在第二种可能的实现方式中,结合第一种可能的实现方式,在所述根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址之后,所述获取发送第一虚拟机内存数据的数据发送请求之前,所述方法还包括:将所述第一虚拟机内存的物理内存页地址注册至所述RDMA网卡。在第三种可能的实现方式中,结合第一方面或者第一种可能的实现方式,根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址之后,通过RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机之前,所述方法还包括:将所述请求发送的内存数据的物理内存页地址注册至所述RDMA网卡。在第四种可能的实现方式中,结合第一方面,第一种可能的实现方式至第三种可能的实现方式中的任一种,所述获取发送第一虚拟机内存数据的数据发送请求包括:依序提取数据发送请求队列中的数据发送请求,其中,所述数据发送请求包含不同的待迁移的虚拟机的数据发送请求,所述数据发送请求队列中的数据发送请求按照时间先后或者优先级高低进行排序。第二方面,提供了一种宿主机,包括:获取单元,用于获取发送第一虚拟机内存数据的数据发送请求,其中,所述数据发送请求包含所述第一虚拟机的标识,以及请求发送的内存数据的PFN;第一查询单元,用于根据所述第一虚拟机的标识查询对应关系信息库,得到所述第一虚拟机的对应关系,其中,所述对应关系信息库包含待迁移的虚拟机的对应关系,所述第一虚拟机的对应关系为基于所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间,以及所述地址空间对应的所述第一虚拟机内存的PFN,以及所述第一虚拟机内存的PFN对应的所述第一虚拟机内存的物理内存页地址后,建立的所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址的对应关系;第二查询单元,用于根据所述请求发送的内存数据的PFN查询所述第一查询单元得到的所述第一虚拟机的对应关系,获取所述请求发送的内存数据的物理内存页地址;驱动发送单元,用于通过RDMA网卡将所述第二查询单元得到的请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机。在第一种可能的实现方式中,结合第二方面,所述Host还包括建立单元,用于在所述获取单元获取发送第一虚拟机内存数据的数据发送请求之前,获取特权虚拟机用户态进程触发的迁移所述第一虚拟机的内存数据的迁移请求,其中,所述迁移请求中包含所述第一虚拟机的标识;根据所述迁移请求中的所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间;根据所述地址空间获取所述第一虚拟机内存的PFN;根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址;建立所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址之间的对应关系。在第二种可能的实现方式中,结合第一种可能的实现方式,所述Host还包括:第一注册单元,用于在所述建立单元根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址之后,所述获取单元获取发送第一虚拟机内存数据的数据发送请求之前,将所述建立单元获取的第一虚拟机内存的物理内存页地址注册至所述RDMA网卡。在第三种可能的实现方式中,结合第二方面或者第一种可能的实现方式,所述Host还包括:第二注册单元,用于在所述第二查询单元根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址之后,所述驱动发送单元通过RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机之前,将所述第二查询单元得到的请求发送的内存数据的物理内存页地址注册至所述RDMA网卡。在第四种可能的实现方式中,结合第二方面,第一种可能的实现方式至第三种可能的实现方式中的任一种,所述获取单元具体用于,依序提取数据发送请求队列中的数据发送请求,其中,所述数据本文档来自技高网...
一种虚拟机内存数据的迁移方法及相关装置和集群系统

【技术保护点】
一种虚拟机内存数据的迁移方法,其特征在于,包括:获取发送第一虚拟机内存数据的数据发送请求,其中,所述数据发送请求包含所述第一虚拟机的标识,以及请求发送的内存数据的物理页框号PFN;根据所述第一虚拟机的标识查询对应关系信息库,得到所述第一虚拟机的对应关系,其中,所述对应关系信息库包含待迁移的虚拟机的对应关系,所述虚拟机的对应关系为基于所述虚拟机的标识获取所述虚拟机内存的地址空间,以及所述地址空间对应的所述虚拟机内存的PFN,以及所述虚拟机内存的PFN对应的所述虚拟机内存的物理内存页地址后,建立的所述虚拟机内存的PFN与所述虚拟机内存的物理内存页地址的对应关系;根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址;通过远程直接内存读取RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机。

【技术特征摘要】
1.一种虚拟机内存数据的迁移方法,其特征在于,包括:获取发送第一虚拟机内存数据的数据发送请求,其中,所述数据发送请求包含所述第一虚拟机的标识,以及请求发送的内存数据的物理页框号PFN;根据所述第一虚拟机的标识查询对应关系信息库,得到所述第一虚拟机的对应关系,其中,所述对应关系信息库包含待迁移的虚拟机的对应关系,所述第一虚拟机的对应关系为基于所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间,以及所述地址空间对应的所述第一虚拟机内存的PFN,以及所述第一虚拟机内存的PFN对应的所述第一虚拟机内存的物理内存页地址后,建立的所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址的对应关系;根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址;通过远程直接内存读取RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机。2.根据权利要求1所述的方法,其特征在于,在所述获取发送第一虚拟机内存数据的数据发送请求之前,所述方法还包括:获取特权虚拟机用户态进程触发的迁移所述第一虚拟机的内存数据的迁移请求,其中,所述迁移请求中包含所述第一虚拟机的标识;根据所述迁移请求中的所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间;根据所述地址空间获取所述第一虚拟机内存的PFN;根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址;建立所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址之间的对应关系。3.根据权利要求2所述的方法,其特征在于,在所述根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址之后,所述获取发送第一虚拟机内存数据的数据发送请求之前,所述方法还包括:将所述第一虚拟机内存的物理内存页地址注册至所述RDMA网卡。4.根据权利要求1或2所述的方法,其特征在于,在所述根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址之后,通过RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机之前,所述方法还包括:将所述请求发送的内存数据的物理内存页地址注册至所述RDMA网卡。5.根据权利要求1所述方法,其特征在于,所述获取发送第一虚拟机内存数据的数据发送请求包括:依序提取数据发送请求队列中的数据发送请求,其中,所述数据发送请求包含不同的待迁移的虚拟机的数据发送请求,所述数据发送请求队列中的数据发送请求按照时间先后或者优先级高低进行排序。6.一种宿主机Host,其特征在于,包括:获取单元,用于获取发送第一虚拟机内存数据的数据发送请求,其中,所述数据发送请求包含所述第一虚拟机的标识,以及请求发送的内存数据的物理页框号PFN;第一查询单元,用于根据所述第一虚拟机的标识查询对应关系信息库,得到所述第一虚拟机的对应关系,其中,所述对应关系信息库包含待迁移的虚拟机的对应关系,所述第一虚拟机的对应关系为基于所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间,以及所述地址空间对应的所述第一虚拟机内存的PFN,以及所述第一虚拟机内存的PFN对应的所述第一虚拟机内存的物理内存页地址后,建立的所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址的对应关系;第二查询单元,用于根据所述请求发送的内存数据的PFN查询所述第一查询单元得到的所述第一虚拟机的对应关系,获取所述请求发送的内存数据的物理内存页地址;驱动发送单元,用于通过远程直接内存读取RDMA网卡将所述第二查询单元得到的请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机。7.根据权利要求6所述的Host,其特征在于,所述Host还包括建立单元,用于在所述获取单元获取发送第一虚拟机内存数据的数据发送请求之前,获取特权虚拟机用户态进程触发的迁移所述第一虚拟机的内存数据的迁移请求,其中,所述迁移请求中包含所述第一虚拟机的标识;根据所述迁移请求中的所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间;根据所述地址空间获取所述第一虚拟机内存的PFN;根据所述第一虚拟机内存...

【专利技术属性】
技术研发人员:杨杰章晓峰
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1