G06F9/455 G06F11/14 G06F12/02
1.一种虚拟机内存快照方法,其特征在于,用以利用虚拟化平台对虚拟机内存进行快照操作,所述虚拟机安装有内存清理模块,所述虚拟化平台安装有快照模块,所述虚拟机内存快照方法包括:
在对虚拟机内存进行快照操作之前,通过所述内存清理模块接收内存清理指令;
基于所述内存清理模块,向虚拟机申请内存空间,并拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问;
利用所述快照模块,执行快照操作,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程。
2.如权利要求1所述的虚拟机内存快照方法,其特征在于,基于所述内存清理模块,向虚拟机申请内存空间包括:
利用所述内存清理模块,向虚拟机申请未分配的内存空间;
为申请到的内存空间配置预设标识,以实现拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问。
3.如权利要求2所述的虚拟机内存快照方法,其特征在于,为申请到的内存空间配置预设标识为零值或者特征值。
4.如权利要求1所述的虚拟机内存快照方法,其特征在于,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程包括:
在内存页为零页,或,内存页符合预设值的情况下,按照零页的方式保存到文件;
在内存页为普通页的情况下,设置元数据信息,拷贝整个内存页。
5.如权利要求4所述的虚拟机内存快照方法,其特征在于,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程还包括:在内存页为全零页,直接忽略,不执行拷贝。
6.一种终端设备,其特征在于,所述终端设备包括处理器和存储器,基于所述处理器和所述存储器,在所述终端设备上运行有虚拟机和虚拟化平台,所述虚拟机安装有内存清理模块,所述虚拟化平台安装有快照模块,所述处理器被配置为:
在对虚拟机内存进行快照操作之前,通过所述内存清理模块接收内存清理指令;
基于所述内存清理模块,向虚拟机申请内存空间,并拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问;
利用所述快照模块,执行快照操作,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程。
7.如权利要求6所述的终端设备,其特征在于,所述处理器还被配置为:
利用所述内存清理模块,向虚拟机申请未分配的内存空间;
为申请到的内存空间配置预设标识,以实现拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问。
8.如权利要求7所述的终端设备,其特征在于,为申请到的内存空间配置预设标识为零值或者特征值。
9.如权利要求6所述的终端设备,其特征在于,所述处理器还被配置为:
在内存页为零页,或,内存页符合预设值的情况下,按照零页的方式保存到文件;
在内存页为普通页的情况下,设置元数据信息,拷贝整个内存页。
10.如权利要求9所述的终端设备,其特征在于,所述处理器还被配置为:在内存页为全零页,直接忽略,不执行拷贝。
本申请涉及计算机技术领域,尤其涉及一种虚拟机内存快照方法及终端设备。
虚拟机快照是对虚拟机某时刻运行状态的副本,可用于恢复某时刻的运行状态,是一种容灾的有效措施。一般分为两类:一类为磁盘快照,仅仅对虚拟机磁盘进行快照,这种方式恢复的时候无法完全恢复虚拟机运行状态,包括处理器、内存等信息,不适用于需要恢复虚拟机系统运行状态的场景。另外一类为磁盘快照和内存快照相结合的方案,对虚拟机内存和磁盘同时做快照。这种方式可以完整恢复虚拟机某时刻的运行状态,可以弥补仅仅磁盘快照的缺陷。所以虚拟机内存快照是针对虚拟机容灾场景必不可少的部分。
现有的虚拟机内存快照技术是对虚拟机整个内存的复制,并将内存快照保存到磁盘上。例如虚拟机内存为4G,快照文件必须包含4G的虚拟机内存。快照文件包含管理部分加虚拟机内存部分大于4G。对于大内存的虚拟机,内存快照过程比较耗时,同样恢复过程也非常耗时。另外保存快照文件太大,也占用了不少的磁盘空间。
本申请实施例提供一种虚拟机内存快照方法及终端设备,用以可有效减少快照大小,提升快照制作和恢复时间,减少快照占用磁盘空间。
本申请实施例提供一种虚拟机内存快照方法,用以利用虚拟化平台对虚拟机内存进行快照操作,所述虚拟机安装有内存清理模块,所述虚拟化平台安装有快照模块,所述虚拟机内存快照方法包括:
在对虚拟机内存进行快照操作之前,通过所述内存清理模块接收内存清理指令;
基于所述内存清理模块,向虚拟机申请内存空间,并拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问;
利用所述快照模块,执行快照操作,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程。
可选的,基于所述内存清理模块,向虚拟机申请内存空间包括:
利用所述内存清理模块,向虚拟机申请未分配的内存空间;
为申请到的内存空间配置预设标识,以实现拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问。
可选的,为申请到的内存空间配置预设标识为零值或者特征值。
可选的,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程包括:
在内存页为零页,或,内存页符合预设值的情况下,按照零页的方式保存到文件;
在内存页为普通页的情况下,设置元数据信息,拷贝整个内存页。
可选的,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程还包括:在内存页为全零页,直接忽略,不执行拷贝。
本申请还提出一种终端设备,所述终端设备包括处理器和存储器,基于所述处理器和所述存储器,在所述终端设备上运行有虚拟机和虚拟化平台,所述虚拟机安装有内存清理模块,所述虚拟化平台安装有快照模块,所述处理器被配置为:
在对虚拟机内存进行快照操作之前,通过所述内存清理模块接收内存清理指令;
基于所述内存清理模块,向虚拟机申请内存空间,并拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问;
利用所述快照模块,执行快照操作,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程。
可选的,所述处理器还被配置为:
利用所述内存清理模块,向虚拟机申请未分配的内存空间;
为申请到的内存空间配置预设标识,以实现拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问。
可选的,为申请到的内存空间配置预设标识为零值或者特征值。
可选的,所述处理器还被配置为:
在内存页为零页,或,内存页符合预设值的情况下,按照零页的方式保存到文件;
在内存页为普通页的情况下,设置元数据信息,拷贝整个内存页。
可选的,所述处理器还被配置为:在内存页为全零页,直接忽略,不执行拷贝。
本申请实施例通过通过内存清理模块接收内存清理指令,基于内存清理模块向虚拟机申请内存空间,并根据内存页的类型执行对应的拷贝流程,由此可有效减少快照大小,提升快照制作和恢复时间,减少快照占用磁盘空间。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请实施例的虚拟机架构示例;
图2为本申请实施例的虚拟机内存快照方法的基本流程图;
图3为本申请实施例的虚拟机内存快照方法的快照流程;
图4为本申请实施例的虚拟机内存快照方法的快照恢复流程。
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本申请实施例提供一种虚拟机内存快照方法,用以利用虚拟化平台对虚拟机内存进行快照操作,如图1所示,所述虚拟机安装有内存清理模块,所述虚拟化平台安装有快照模块。
其中,内存清理模块:用于将虚拟机内部未分配的内存页设置为零(或者特征值)。
快照模块:用于对虚拟机内存进行内部快照,并将快照保存到文件中。
如图2所示,所述虚拟机内存快照方法包括如下:
在步骤S201中,虚拟化平台在对虚拟机内存进行快照操作之前,虚拟机通过所述内存清理模块接收内存清理指令。
在步骤S202中,基于虚拟机的所述内存清理模块,向虚拟机申请内存空间,并拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问。在一些实施例中,基于所述内存清理模块,向虚拟机申请内存空间包括:利用虚拟机的所述内存清理模块,向虚拟机申请未分配的内存空间;并为申请到的内存空间配置预设标识,以实现拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问。
具体的,在对虚拟机内存进行快照操作之前,通知内存清理模块,以基于该内存清理模块的尽可能申请内存,并设置为private,不允许虚拟机将该内存重新分配,最后将内存清空。在一些实施例中,为申请到的内存空间配置预设标识为零值或者特征值,保证正常内存访问不会设置为该值。
在步骤S203中,利用虚拟化平台的所述快照模块,执行快照操作,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程。如图3所示,在一些实施例中,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程包括:
在内存页为零页,或,内存页符合预设值的情况下,按照零页的方式保存到文件;
在内存页为普通页的情况下,设置元数据信息,拷贝整个内存页。
在一些实施例中,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程还包括:在内存页为全零页,直接忽略,不执行拷贝。
具体的,本示例中,快照操作包括,遍历每页内容,检测内存页的具体内容,如果是零页(或者符合预设值的特征值),忽略掉,不需要拷贝整个页面。如果是普通页,则按照之前流程,设置元数据信息,拷贝整个页面。遍历整个虚拟机内存,全部处理完成后退出。
如图4所示,本实施例还提出快照后的恢复流程,包括如下步骤:
首先检查快照有效性,然后,遍历快照管理信息到对应的页面
将所到的页面恢复到内存中,判断恢复是否完成,若未完成,则重复遍历,并执行恢复步骤。
本申请实施例通过通过内存清理模块接收内存清理指令,基于内存清理模块向虚拟机申请内存空间,并根据内存页的类型执行对应的拷贝流程,由此可有效减少快照大小,提升快照制作和恢复时间,减少快照占用磁盘空间。
本申请还提出一种终端设备,所述终端设备包括处理器和存储器,基于所述处理器和所述存储器,在所述终端设备上运行有虚拟机和虚拟化平台,所述虚拟机安装有内存清理模块,所述虚拟化平台安装有快照模块,所述处理器被配置为:
在对虚拟机内存进行快照操作之前,通过所述内存清理模块接收内存清理指令;
基于所述内存清理模块,向虚拟机申请内存空间,并拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问;
利用所述快照模块,执行快照操作,遍历所有内存页内容,并根据内存页的类型执行对应的拷贝流程。
在一些实施例中,所述处理器还被配置为:
利用所述内存清理模块,向虚拟机申请未分配的内存空间;
为申请到的内存空间配置预设标识,以实现拒绝虚拟机重新分配所申请的内存空间,且,所申请的内存空间不会被正常内存访问。
在一些实施例中,为申请到的内存空间配置预设标识为零值或者特征值。
在一些实施例中,所述处理器还被配置为:
在内存页为零页,或,内存页符合预设值的情况下,按照零页的方式保存到文件;
在内存页为普通页的情况下,设置元数据信息,拷贝整个内存页。
在一些实施例中,所述处理器还被配置为:在内存页为全零页,直接忽略,不执行拷贝。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。
本文发布于:2023-04-13 19:08:52,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/86670.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |