一种镜像文件空间优化方法以及系统技术方案

技术编号:17265103 阅读:77 留言:0更新日期:2018-02-14 12:29
本发明专利技术提供了一种镜像文件空间优化方法以及系统,所述方法包括:在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照,确定目标数据,分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据,对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据,对所述合并后的目标数据进行快照以形成目标数据快照。通过本实施例所提供的方法,能够对虚拟机的镜像文件进行优化,从而减少虚拟机的镜像文件所占用的磁盘空间,优化了磁盘空间中可利用空间的大小,提升了磁盘空间的利用率。

A mirror file space optimization method and system

The present invention provides a method and system for optimizing image file space, the method comprises the following steps: at the moment of the current image file format based on qcow2 snapshot to form a first target snapshot, determine the target data, analysis of the first target snapshot to obtain the difference between the first and second data snapshot snapshot data for all data. The difference between the data and the target data are combined to form the target data after the merger, the target data of the merged to form the target data snapshot snapshot. The method provided by this embodiment can optimize the mirror file of virtual machine, so as to reduce the disk space occupied by the virtual machine's mirror file, optimize the size of the available space in the disk space, and enhance the utilization rate of the disk space.

【技术实现步骤摘要】
一种镜像文件空间优化方法以及系统
本专利技术涉及计算机领域,尤其涉及的是一种镜像文件空间优化方法以及系统。
技术介绍
qcow2是一种非常通用的虚拟机镜像文件格式,在虚拟机中进行频繁大量的数据操作,就会造成镜像文件大小显著增加,导致物理磁盘可用空间的急剧下降。为提升磁盘空间的利用率,则在虚拟机中对客户机数据内容进行删除的操作,当镜像文件中的一部分数据簇在镜像文件中的引用计数为0时,可以对镜像文件进行discard(本领域技术人员称为“挖洞”)操作以释放引用计数为0的数据簇所占用的磁盘空间,以减小镜像文件的大小,释放磁盘空间。然而,对于不支持discard的文件系统,即使在虚拟机中删除数据,镜像文件中引用计数为0的数据簇,也因为无法执行discard操作而无法释放这些数据在虚拟机的镜像文件中所占据的空间,从而无法有效的利用磁盘空间。
技术实现思路
本专利技术实施例提供了一种能够优化虚拟机镜像文件,从而减小镜像文件所占的物理磁盘空间的镜像文件空间优化方法以及系统。本专利技术实施例提供了一种镜像文件空间优化方法,其中,包括:在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照,所述第一目标快照为基于qcow2格式的原始镜像文件的第N次快照,所述第一目标快照包括由所述原始镜像文件转换为所述当前镜像文件过程中依次经过的基于qcow2格式的快照数据以及与各所述快照数据对应的时刻,所述N为非零的正整数;确定目标数据,所述目标数据为基于qcow2格式的原始镜像文件的第1次快照转换得到,所述目标数据为原始镜像文件的第1次快照对应的时刻虚拟机所具有的数据;分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据,所述第一快照数据和所述第二快照数据为所述原始镜像文件转换为所述当前镜像文件过程中所经过的所述快照数据中时刻上任意相邻的两个;对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据;对所述合并后的目标数据进行快照以形成目标数据快照,其中,所述目标数据快照为所述原始镜像文件的第N次快照,且所述目标数据快照为虚拟机的当前状态。可选的,所述在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照之前,所述方法还包括:判断所述当前镜像文件的大小是否大于或等于预设阈值;若确定所述当前镜像文件的空间大于或等于所述预设阈值,则确定执行所述在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照的步骤。可选的,所述方法还包括:将所述目标数据挂载到网络块设备NBD上;所述分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据之后,所述方法还包括:将所述第一快照数据和所述第二快照数据之间的所述差异数据写入到所述NBD设备上;所述对所述合并后的目标数据进行快照以形成目标数据快照之前,所述方法还包括:断开所述NBD设备的连接状态。可选的,所述分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据包括:将所述第一快照数据的簇查询表和所述第二快照数据的簇查询表进行对比以获取不同的数据簇,所述差异数据为所述第一快照数据的簇查询表和所述第二快照数据的簇查询表之间不同的数据簇。可选的,所述对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据包括:将所述第一快照数据的簇查询表和所述第二快照数据的簇查询表之间不同的数据簇复制到所述目标数据中以形成所述合并后的目标数据。可选的,所述在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照之后,所述方法包括:转换所述第一目标快照以获取所述原始镜像文件、所述当前镜像文件、以及由所述原始镜像文件转换为所述当前镜像文件过程中依次经过的所述快照数据;所述对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据之后,所述方法还包括:删除所述当前镜像文件。本专利技术实施例提供了一种镜像文件空间优化系统,其中,包括:第一快照单元,用于在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照,所述第一目标快照为基于qcow2格式的原始镜像文件的第N次快照,所述第一目标快照包括由所述原始镜像文件转换为所述当前镜像文件过程中依次经过的基于qcow2格式的快照数据以及与各所述快照数据对应的时刻,所述N为非零的正整数;确定单元,用于确定目标数据,所述目标数据为基于qcow2格式的原始镜像文件的第1次快照转换得到,所述目标数据为原始镜像文件的第1次快照对应的时刻虚拟机所具有的数据;第一获取单元,用于分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据,所述第一快照数据和所述第二快照数据为所述原始镜像文件转换为所述当前镜像文件过程中所经过的所述快照数据中时刻上任意相邻的两个;第二获取单元,用于对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据;第二快照单元,用于对所述合并后的目标数据进行快照以形成目标数据快照,其中,所述目标数据快照为所述原始镜像文件的第N次快照,且所述目标数据快照为虚拟机的当前状态。可选的,所述系统还包括:判断单元,用于判断所述当前镜像文件的大小是否大于或等于预设阈值;所述第一快照单元,还用于若确定所述当前镜像文件的空间大于或等于所述预设阈值,则确定执行所述在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照的步骤。可选的,所述系统还包括:挂载单元,用于将所述目标数据挂载到网络块设备NBD上;写入单元,用于将所述第一快照数据和所述第二快照数据之间的所述差异数据写入到所述NBD设备上;断开单元,用于断开所述NBD设备的连接状态。可选的,所述第一获取单元,还用于将所述第一快照数据的簇查询表和所述第二快照数据的簇查询表进行对比以获取不同的数据簇,所述差异数据为所述第一快照数据的簇查询表和所述第二快照数据的簇查询表之间不同的数据簇。可选的,所述第二获取单元,还用于将所述第一快照数据的簇查询表和所述第二快照数据的簇查询表之间不同的数据簇复制到所述目标数据中以形成所述合并后的目标数据。可选的,所述系统还包括:转换单元,用于转换所述第一目标快照以获取所述原始镜像文件、所述当前镜像文件、以及由所述原始镜像文件转换为所述当前镜像文件过程中依次经过的所述快照数据;删除单元,用于删除所述当前镜像文件。本专利技术提供了一种镜像文件空间优化方法以及系统,通过本实施例所提供的方法,能够对虚拟机的镜像文件进行优化,从而减少虚拟机的镜像文件所占用的磁盘空间,优化了磁盘空间中可利用空间的大小,提升了磁盘空间的利用率。附图说明图1为现有技术所示的原始镜像文件的转换过程示意图;图2为本专利技术所提供的镜像文件空间优化方法的一种实施例步骤流程图;图3为本专利技术所示的原始镜像文件的转换过程示意图;图4为本专利技术所提供的镜像文件空间优化方法的另一种实施例步骤流程图;图5为本专利技术所提供的镜像文件空间优化系统的一种实施例结构示意图。具体实施方式为更好的理解本专利技术实施例所提供的镜像文件空间优化方法,以下首先对qcow2格式进行详细说明。qcow2格式是模拟处理器Qemu实现的一种虚拟机镜像文件格式,Qemu是在GNU/Linux平台上广泛使用的以GPL许可证分发源码的模拟处理器。虚拟机(英文全称:Virtual本文档来自技高网...
一种镜像文件空间优化方法以及系统

【技术保护点】
一种镜像文件空间优化方法,其特征在于,包括:在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照,所述第一目标快照为基于qcow2格式的原始镜像文件的第N次快照,所述第一目标快照包括由所述原始镜像文件转换为所述当前镜像文件过程中依次经过的基于qcow2格式的快照数据以及与各所述快照数据对应的时刻,所述N为非零的正整数;确定目标数据,所述目标数据为基于qcow2格式的原始镜像文件的第1次快照转换得到,所述目标数据为原始镜像文件的第1次快照对应的时刻虚拟机所具有的数据;分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据,所述第一快照数据和所述第二快照数据为所述原始镜像文件转换为所述当前镜像文件过程中所经过的所述快照数据中时刻上任意相邻的两个;对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据;对所述合并后的目标数据进行快照以形成目标数据快照,其中,所述目标数据快照为所述原始镜像文件的第N次快照,且所述目标数据快照为虚拟机的当前状态。

【技术特征摘要】
1.一种镜像文件空间优化方法,其特征在于,包括:在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照,所述第一目标快照为基于qcow2格式的原始镜像文件的第N次快照,所述第一目标快照包括由所述原始镜像文件转换为所述当前镜像文件过程中依次经过的基于qcow2格式的快照数据以及与各所述快照数据对应的时刻,所述N为非零的正整数;确定目标数据,所述目标数据为基于qcow2格式的原始镜像文件的第1次快照转换得到,所述目标数据为原始镜像文件的第1次快照对应的时刻虚拟机所具有的数据;分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据,所述第一快照数据和所述第二快照数据为所述原始镜像文件转换为所述当前镜像文件过程中所经过的所述快照数据中时刻上任意相邻的两个;对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据;对所述合并后的目标数据进行快照以形成目标数据快照,其中,所述目标数据快照为所述原始镜像文件的第N次快照,且所述目标数据快照为虚拟机的当前状态。2.根据权利要求1所述的方法,其特征在于,所述在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照之前,所述方法还包括:判断所述当前镜像文件的大小是否大于或等于预设阈值;若确定所述当前镜像文件的空间大于或等于所述预设阈值,则确定执行所述在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照的步骤。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:将所述目标数据挂载到网络块设备NBD上;所述分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据之后,所述方法还包括:将所述第一快照数据和所述第二快照数据之间的所述差异数据写入到所述NBD设备上;所述对所述合并后的目标数据进行快照以形成目标数据快照之前,所述方法还包括:断开所述NBD设备的连接状态。4.根据权利要求1或2所述的方法,其特征在于,所述分析所述第一目标快照以获取第一快照数据和第二快照数据之间的差异数据包括:将所述第一快照数据的簇查询表和所述第二快照数据的簇查询表进行对比以获取不同的数据簇,所述差异数据为所述第一快照数据的簇查询表和所述第二快照数据的簇查询表之间不同的数据簇。5.根据权利要求4所述的方法,其特征在于,所述对所有所述差异数据和所述目标数据进行合并以形成合并后的目标数据包括:将所述第一快照数据的簇查询表和所述第二快照数据的簇查询表之间不同的数据簇复制到所述目标数据中以形成所述合并后的目标数据。6.根据权利要求1所述的方法,其特征在于,所述在当前时刻对基于qcow2格式的当前镜像文件进行快照以形成第一目标快照之后,所述方法包括:转换所述第一目标快照以获取所述原始镜像文件、所述当前镜像文件、以及由所述原始镜像文件转换为...

【专利技术属性】
技术研发人员:杨维张友加
申请(专利权)人:深圳市深信服电子科技有限公司
类型:发明
国别省市:广东,44

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

1