[发明专利]一种虚拟机内存数据的迁移方法及相关装置和集群系统有效
申请号: | 201310462273.3 | 申请日: | 2013-09-30 |
公开(公告)号: | CN103530167A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 杨杰;章晓峰 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F15/16 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 张娜 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 内存 数据 迁移 方法 相关 装置 集群 系统 | ||
技术领域
本发明涉及通信领域,尤其涉及一种虚拟机数据内存的迁移方法及相关装置和集群系统。
背景技术
虚拟机迁移是将虚拟机的内存从源物理主机发送至目的物理主机。虚拟机迁移是虚拟机实时迁移的主要部分,虚拟机实时迁移可以在保持虚拟机运行的同时,将虚拟机从源物理主机迁移至目的物理主机,并在目的物理主机上恢复运行,实现服务整合。通过虚拟机实时迁移可以实现服务器的在线维护、在线升级、负载均衡,并为灾难恢复提供了一种解决方案。
在现有技术中,xen虚拟化平台下,虚拟机迁移采用迭代发送虚拟机内存的方法,每次迭代时分批次地选取当次迭代的脏页并将这些页面映射至特权虚拟机的用户态进程的线性地址空间,映射完成后,再调用超级调用进行页表的更新从而建立线性地址空间与物理地址的联系,取得映射的线性地址后,通过用户态的远程直接内存读取(Remote Direct Memory Access,简称RDMA)接口注册已映射的虚拟机内存对应的物理地址至RDMA网卡,并通过其他RDMA系统调用按照RDMA通信协议进行后续的数据传输。在数据成功发送后,将虚拟机的内存从用户态进程空间中解映射,同时注销已注册的物理内存。
发明人发现现有技术至少存在以下问题:在虚拟化平台下,虚拟机迁移需要映射虚拟机的内存并通过超级调用更新页表,导致虚拟机所在的物理机中的中央处理器(Central Processing Unit,简称CPU)利用率及时间开销较大。
发明内容
本发明实施例提供一种虚拟机内存数据的迁移方法及相关装置和集群系统,以降低虚拟机所在的物理主机中的处理器利用率及时间开销。
本发明实施例采用的技术方案是,
第一方面,提供了一种虚拟机内存数据的迁移方法,包括:
获取发送第一虚拟机内存数据的数据发送请求,其中,所述数据发送请求包含所述第一虚拟机的标识,以及请求发送的内存数据的物理页框号(Physical Frame Number,简称PFN);
根据所述第一虚拟机的标识查询对应关系信息库,得到所述第一虚拟机的对应关系,其中,所述对应关系信息库包含待迁移的虚拟机的对应关系,所述虚拟机的对应关系为基于所述虚拟机的标识获取所述虚拟机内存的地址空间,以及所述地址空间对应的所述虚拟机内存的PFN,以及所述虚拟机内存的PFN对应的所述虚拟机内存的物理内存页地址后,建立的所述虚拟机内存的PFN与所述虚拟机内存的物理内存页地址的对应关系;
根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址;
通过RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机。
在第一种可能的实现方式中,根据第一方面,在所述获取发送第一虚拟机内存数据的数据发送请求之前,所述方法还包括:
获取特权虚拟机用户态进程触发的迁移所述第一虚拟机的内存数据的迁移请求,其中,所述迁移请求中包含所述第一虚拟机的标识;
根据所述迁移请求中的所述第一虚拟机的标识获取所述第一虚拟机内存的地址空间;
根据所述地址空间获取所述虚拟机内存的PFN;
根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址;
建立所述第一虚拟机内存的PFN与所述第一虚拟机内存的物理内存页地址之间的对应关系。
在第二种可能的实现方式中,结合第一种可能的实现方式,
在所述根据所述第一虚拟机内存的PFN计算所述第一虚拟机内存的物理内存页地址之后,所述获取发送第一虚拟机内存数据的数据发送请求之前,所述方法还包括:
将所述第一虚拟机内存的物理内存页地址注册至所述RDMA网卡。
在第三种可能的实现方式中,结合第一方面或者第一种可能的实现方式,根据所述请求发送的内存数据的PFN查询所述第一虚拟机的对应关系,得到所述请求发送的内存数据的物理内存页地址之后,通过RDMA网卡将所述请求发送的内存数据的物理内存页地址上所存储的内存数据发送至目的物理主机之前,所述方法还包括:
将所述请求发送的内存数据的物理内存页地址注册至所述RDMA网卡。
在第四种可能的实现方式中,结合第一方面,第一种可能的实现方式至第三种可能的实现方式中的任一种,所述获取发送第一虚拟机内存数据的数据发送请求包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310462273.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:具有直接喷射系统和进气道燃料喷射系统的内燃发动机
- 下一篇:二次空气喷射系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置