【技术实现步骤摘要】
内存快照生成方法、装置、计算机设备及存储介质
[0001]本专利技术涉及虚拟机
,具体涉及内存快照生成方法、装置、计算机设备及存储介质。
技术介绍
[0002]虚拟机(Virtual Machine,VM)在运行时会生成包括内存和CPU(中央处理器)等相关信息的内存脏页数据,内存快照技术是将虚拟机在运行时的内存脏页数据,全部保存在磁盘文件上,形成内存快照,该内存快照中可以包含虚拟机内存以及其他物理设备内存状态信息,其可用于恢复某时刻的运行状态,是一种容灾的有效措施。
[0003]在传统生成内存快照的过程中,随着虚拟机运行时产生内存脏页数据,新增加的内存脏页数据会追加到内存快照末尾。这种追加写的方式逻辑简单,但是在虚拟机业务压力大时,在生成内存快照期间,会不断产生内存脏页数据,新增加的数据会不断追加到内存快照末尾,导致内存快照所占空间较大,这样不仅可能会造成内存快照远大于虚拟机内存值的情况,还会影响后续从内存快照恢复虚拟机以及业务的过程。
技术实现思路
[0004]有鉴于此,本专利技术提供了一种内存快照生成方法、装置、计算机设备及存储介质,以解决内存快照所占空间较大的技术问题。
[0005]第一方面,本专利技术提供了一种内存快照生成方法,包括:确定用于存储内存快照的固定存储区,所述固定存储区的大小不小于目标设备的内存所占存储空间大小;获取需要迁移至所述内存快照的当前内存脏页数据;以覆盖所述固定存储区中历史内存脏页数据的方式,将所述当前内存脏页数据迁移至所述固定存储区的相应位置;所述 ...
【技术保护点】
【技术特征摘要】
1.一种内存快照生成方法,其特征在于,所述方法包括:确定用于存储内存快照的固定存储区,所述固定存储区的大小不小于目标设备的内存所占存储空间大小;获取需要迁移至所述内存快照的当前内存脏页数据;以覆盖所述固定存储区中历史内存脏页数据的方式,将所述当前内存脏页数据迁移至所述固定存储区的相应位置;所述当前内存脏页数据和所述历史内存脏页数据源于所述目标设备的同一内存页。2.根据权利要求1所述的方法,其特征在于,所述目标设备的数量为多个,且多个所述目标设备包括虚拟机和至少一个物理设备;所述固定存储区的大小不小于多个所述目标设备的内存所占存储空间大小之和。3.根据权利要求2所述的方法,其特征在于,所述确定用于存储内存快照的固定存储区,包括:查询多个所述目标设备的内存大小;根据多个所述目标设备的内存大小,确定多个所述目标设备的内存所占存储空间大小之和;划分出大小不小于多个所述目标设备的内存所占存储空间大小之和的固定存储区。4.根据权利要求3所述的方法,其特征在于,所述查询多个所述目标设备的内存大小,包括:从所述内存快照的内存开始段中提取出多个所述目标设备的内存大小。5.根据权利要求3所述的方法,其特征在于,所述根据多个所述目标设备的内存大小,确定多个所述目标设备的内存所占存储空间大小之和,包括:为每个所述目标设备的内存页增加页面偏移地址,确定多个所述目标设备的内存所占存储空间大小之和;其中,所述目标设备的内存所占存储空间大小,包括:所述目标设备的内存大小以及所述目标设备所有内存页的页面偏移地址的大小。6.根据权利要求5所述的方法,其特征在于,多个所述目标设备的内存所占存储空间大小之和,满足:Total
RAM =(Total_ram_bytes / Page_size)
ꢀ×ꢀ
(Page_size + Page_offset);其中,Total
RAM
表示多个所述目标设备的内存所占存储空间大小之和,Total_ram_bytes表示多个所述目标设备的内存大小之和,Page_size表示所述内存页的大小,Page_offset表示页面偏移地址的大小。7.根据权利要求6所述的方法,其特征在于,Page_size = 4096。8.根据权利要求2所述的方法,其特征在于,所述内存快照还用于存储虚拟机开始段和虚拟机状态信息;所述固定存储区的大小不小于,虚拟机开始段大小、虚拟机状态信息大小以及多个目标设备的内存所占存储空间大小之和。9.根据权利要求8所述的方法,其特征在于,所述内存快照还用于存储虚拟化管理平台元数据,所述虚拟化管理平台用于对所述虚拟机进行虚拟化管理;所述固定存储区的大小不小于,虚拟化管理平台元数据大小、虚拟机开始段大小、虚拟
机状态信息大小以及多个目标设备的内存所占存储空间大小之和。10.根据权利要求9所述的方法,其特征在于,所述获取需要迁移至所述内存快照的当前内存脏页数据,包括:建立进程间通信链路,将进程间通信链路的写文件描述符发送至所述虚拟机;基于所述虚拟化管理平台,从所述进程间通信链路的...
【专利技术属性】
技术研发人员:周胜利,王亮,
申请(专利权)人:苏州浪潮智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。