[发明专利]一种虚拟机的迁移方法及装置、电子设备、存储介质有效
申请号: | 201910913419.9 | 申请日: | 2019-09-25 |
公开(公告)号: | CN112559119B | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 田殿臣 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 赵娟 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 虚拟机 迁移 方法 装置 电子设备 存储 介质 | ||
本申请实施例提供了一种虚拟机的迁移方法及装置、电子设备、存储介质,所述方法包括:在虚拟机的热迁移过程中,获取所述虚拟机的内存访问特征数据;采用所述内存访问特征数据,将所述虚拟机的内存划分为多个内存区域;其中,每个内存区域对应一热度等级;生成所述多个热度等级对应的页表分割模式,并分别采用所述页表分割模式,对所述多个内存区域进行页表分割;对页表分割后的页表进行脏页记录并迭代拷贝,以完成所述热迁移。通过本申请实施例,实现了对虚拟机热迁移过程中页面分割的优化,能够结合内存访问的冷热程度采用不同分割模式,避免一次性将所有页表标记为只读状态,降低了对VCPU的影响。
技术领域
本申请涉及虚拟化技术领域,特别是涉及一种虚拟机的迁移方法及装置、电子设备、存储介质。
背景技术
在热迁移(Live Migration)技术中,迁移开始后,被迁移的虚拟机(VirtualMachine,VM)在源主机不停止运行,在目的主机上申请运行虚拟机所需的资源,迁移通过循环迭代拷贝,将源主机虚拟机的内存数据发送到目的主机。在第一轮迭代发送所有的内存页数据,接下来对每一轮被修改过的脏页(Dirty Pages)进行记录并迭代拷贝。
在现有技术中,记录和拷贝的页面大小通常为4KB的小页,如果虚拟机使用大页,如2MB的大页,则会预先将大页进行切割,重建4KB为单位的小页,以4KB为单位记录赃页,而不是将整个2MB大页标记为赃页。
然而,在对大页分割的过程中,由于一次性将虚拟机的内存中所有SPTE(ShadowPage Table,影子页表)标记为只读状态(Read Only),虚拟机的VCPU写内存会由于没有写权限而触发EPT(Extended Page Tables,扩展页表)Violation,进而退出到VMM(VirtualMachine Monitor,虚拟机监控器)中,然后通过遍历EPT实现对大页分割,对于内存规格为256G或者512G,这种操作会持续很久,对VCPU(Virtual CPU)性能影响很大。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种虚拟机的迁移方法及装置、电子设备、存储介质,包括:
一种虚拟机的迁移方法,所述方法包括:
在虚拟机的热迁移过程中,获取所述虚拟机的内存访问特征数据;
采用所述内存访问特征数据,将所述虚拟机的内存划分为多个内存区域;其中,每个内存区域对应一热度等级;
生成所述多个热度等级对应的页表分割模式,并分别采用所述页表分割模式,对所述多个内存区域进行页表分割;
对页表分割后的页表进行脏页记录并迭代拷贝,以完成所述热迁移。
可选地,所述生成所述多个热度等级对应的页表分割模式,并分别采用所述页表分割模式,对所述多个内存区域进行页表分割的步骤包括:
采用所述热度等级,确定所述多个内存区域对应的标记顺序;
按照所述标记顺序,依次将所述多个内存区域中页表标记为只读状态;
对所述标记为只读状态的页表进行页表分割。
可选地,所述按照所述标记顺序,依次将所述多个内存区域中页表标记为只读状态的步骤包括:
针对每个内存区域,确定所述热度等级对应的标记数量;
确定所述标记数量对应的目标虚拟机物理页框号,并按照所述标记顺序,将所述目标虚拟机物理页框号对应的页表标记为只读状态。
可选地,所述确定所述标记数量对应的目标虚拟机物理页框号的步骤包括:
获取所述内存区域对应的虚拟机物理页框号数组;其中,所述虚拟机物理页框号数组包括新生成的脏页对应的虚拟机物理页框号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910913419.9/2.html,转载请声明来源钻瓜专利网。