基于qcow2格式的虚拟机镜像克隆方法及系统的制作方法

文档序号:6525986阅读:619来源:国知局
基于qcow2格式的虚拟机镜像克隆方法及系统的制作方法【专利摘要】一种基于qcow2格式的虚拟机镜像克隆方法及系统,该方法包括步骤:创建qcow2格式的模板镜像文件;创建至少一个qcow2格式的镜像文件;将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;基于每个qcow2格式的镜像文件分别创建并运行虚拟机;将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中,使得虚拟机镜像文件的复制时间大大缩短,同时节省了存储空间。【专利说明】基于qcow2格式的虚拟机镜像克隆方法及系统【
技术领域
】[0001]本发明涉及云计算网络系统的虚拟机领域,尤其涉及一种基于qC0W2格式的虚拟机镜像克隆方法及系统。【
背景技术
】[0002]云计算网络系统中大量采用了虚拟化技术,该技术的好处就是可快速生成满足用户要求的虚拟机,用户往往会要求从一个模板生产出多个类似的虚拟机,这些虚拟机90%的数据是相同的,只有10%的数据是每个虚拟机特有的。现有技术中的的虚拟机生成方法通常是把模板虚拟机所使用的镜像复制多份,然后利用这些复制好的镜像来创建虚拟机。这种方法存在若干缺陷,例如,复制多份数据的过程非常耗时,而且随着镜像文件大小的增力口,需要的时间长度也会线性的增加。另外,同样的数据复制多份是对用户的存储空间的极大浪费。[0003]可见,现有技术中复制多份数据的过程非常耗时,而且随着镜像文件大小的增加,需要的时间长度也会线性的增加,而且同样的数据复制多份是对用户的存储空间的极大浪费。因此,需要提供一种新型的虚拟机镜像克隆方法,以便能够快速的复制虚拟机镜像,并节省存储空间。【
发明内容】[0004]本发明的目的是提供一种基于qcow2格式的虚拟机镜像克隆方法及系统,该方法包括步骤:创建qcow2格式的模板镜像文件;创建至少一个qcow2格式的镜像文件;将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;基于每个qcow2格式的镜像文件分别创建并运行虚拟机;将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中,使得虚拟机镜像文件的复制时间大大缩短,同时节省了存储空间。[0005]根据本发明的一个方面,提供一种基于qcow2格式的虚拟机镜像克隆方法,包括步骤:步骤SI,创建qcow2格式的模板镜像文件;步骤S2,仓Ij建至少一个qcow2格式的镜像文件;步骤S3,将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;步骤S4,基于每个qC0W2格式的镜像文件分别创建并运行虚拟机;步骤S5,将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。[0006]其中,步骤S5后,任何对所述qcow2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。[0007]其中,所述qC0W2格式的模板镜像文件为只读模式。[0008]根据本发明的另一方面,提供一种基于qcow2镜像格式的虚拟机镜像快速复制系统,包括:虚拟机控制单元,用于基于qcow2格式的镜像文件分别创建并运行虚拟机;复制单元,用于对虚拟机的镜像文件进行复制和管理。[0009]其中,所述对虚拟机的镜像文件进行复制和管理包括:复制单元创建qcow2格式的模板镜像文件;复制单元创建至少一个qcow2格式的镜像文件;复制单元将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;复制单元将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。[0010]其中,任何对所述qcow2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。[0011]其中,所述qcow2格式的模板镜像文件为只读模式。[0012]本发明提供一种基于qcow2格式的虚拟机镜像克隆方法及系统,该方法包括步骤:创建qcow2格式的模板镜像文件;创建至少一个qcow2格式的镜像文件;将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;基于每个qcow2格式的镜像文件分别创建并运行虚拟机;将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中,使得虚拟机镜像文件的复制时间大大缩短,同时节省了存储空间。【专利附图】【附图说明】[0013]图1是当前qcow2文件中逻辑地址与物理地址的对应关系示意图;[0014]图2是qcow2文件的后备文件的应用示意图;[0015]图3是更新qcow2文件时qcow2文件的后备文件的应用示意图;[0016]图4是本发明中基于qcow2格式的虚拟机镜像克隆方法的流程示意图图;[0017]图5是本发明中基于qcow2格式的虚拟机镜像克隆系统的结构示意图。【具体实施方式】[0018]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。[0019]本发明提供一种基于qcow2镜像格式的虚拟机镜像快速克隆方法。通过该方法,无论镜像空间有多大,都可以实现在预定的时间内完成克隆操作。另外,通过所述方法,可以实现多个镜像之间共享相同数据,从而可以有效节省存储空间。[0020]Qemu是在GNU/Linux平台上广泛使用的以GPL许可证分发源码的模拟处理器。qcow2是Qemu实现的一种虚拟机镜像格式。qcow2文件存储数据的基本单元是簇(cluster),簇的默认大小为64KB,在创建qcow2文件时可指定大小,但大小必须是2的次方ai^n,128KB,256KB,512KB,l]\^..)。qcow2以簇为单位组织虚拟机镜像逻辑地址到qcow2文件存储介质上的物理地址映射关系,即将连续的逻辑地址以簇为单位分成多个簇,将每个簇在存储介质上的物理地址的映射关系保存至该qcow2文件的簇查询表。[0021]图1是当前qcow2文件中逻辑地址与物理地址的对应关系示意图。[0022]如图1所示,对于任意给定的一个逻辑地址,首先计算该逻辑地址的簇序号dl以及它在簇内的偏移量d2,则该逻辑地址在当前qC0W2文件中可以表示为d=(dl,d2)。然后,在qcow2文件的簇查询表(10kuptable)中查找到簇序号dl在qcow2文件所在介质中的物理地址,记为dl’。此时,该逻辑地址所对应的物理地址即为(dl’,d2)。[0023]图2是qcow2文件的后备文件的应用示意图。[0024]如图2所示,qcow2格式的文件支持后备文件(backingfile)的概念,如果在本qcow2文件中找不到要读取的逻辑地址的对应关系,会去后备文件中去读取。创建qcow2文件时,可指定它的后备qcow2文件,这时,任何对该qcow2文件的读取操作都会直接指向它的后备文件。对于任意给定的一个逻辑地址,首先计算该逻辑地址的簇序号dl以及它在簇内的偏移量d2,则该逻辑地址在当前qcow2文件中可以表示为d=(dl,d2)。然后,在qcow2文件的簇查询表(10kuptable)中查找簇序号dl在qcow2文件所在介质中的物理地址,如果查询不到对应的记录,则在后备文件的簇查询表中查找对应的记录,记为dl’。此时,该逻辑地址所对应的物理地址即为(dl’,d2)。[0025]图3是更新qcow2文件时qcow2文件的后备文件的应用示意图。[0026]如图3所示,当对qC0W2文件进行写操作时,首先计算将要写入的逻辑地址的簇序号dl以及它在簇内的偏移量d2,则该逻辑地址在当前qc0W2文件中可以表示为d=(dl,d2)。然后,在qcow2文件的簇查询表(10kuptable)中查找簇序号dl在qcow2文件所在介质中的物理地址,如果查询不到对应的记录,则在后备文件的簇查询表中查找对应的记录,然后复制该记录对应的簇到qcow2文件中,并同时更新qcow2文件的簇查询表,将dl修改为dl’,然后按照写操作的要求写入数据到d=(dl’,d2)对应的簇中。[0027]图4显示了本发明的基于qcow2格式的虚拟机镜像克隆方法的流程示意图。[0028]如图4所示,本发明的基于qcow2格式的虚拟机镜像克隆方法的处理流程具体包括以下步骤:[0029]步骤SI,创建qcow2格式的模板镜像文件。[0030]步骤S2,创建至少一个qcow2格式的镜像文件。[0031]根据需要的虚拟机的数量创建多个qcow2格式的镜像文件,例如创建10个镜像文件。[0032]步骤S3,将每个镜像文件的后备文件设置所述模板镜像文件。[0033]具体来说,将每个创建的qcow2格式的镜像文件的后备文件均设置为上述模板镜像文件。本步骤中,通过将模板镜像文件设置为多个镜像文件的后备文件,实质上实现了快速的将模板镜像文件复制了多份,即快速创建了多个虚拟机镜像。[0034]现有技术中,通常是简单的将模板镜像文件分别复制多份来实现虚拟机镜像克隆,这种文件复制过程速度慢、耗时长,并且占用大量存储空间,因此极大的减慢了系统运行效率,浪费了存储空间,本发明的该步骤中,根据qcow2格式文件的特性,相当于快速将模板镜像文件复制了10份,由于设置后备文件的过程很快,没有进行任何复制操作,因而大大提闻了系统运行效率,节省了存储空间。[0035]步骤S4,基于每个镜像文件分别创建并运行虚拟机。[0036]因为上述设置后备文件的速度很快,相较于传统的复制整个文件要快很多,也就可以基于这10个镜像文件快速创建10个虚拟机。[0037]步骤S5,将虚拟机修改的数据分别存储在对应的镜像文件中。[0038]虚拟机创建后,当虚拟机对数据进行修改时,虚拟机控制单元将修改的数据存储在对应的qcow2格式的镜像文件中,而不是该文件的后备文件即模板镜像文件中,保证后备文件始终不会被修改,这样再次读取该数据时,根据qcow2格式文件的特性,会先在对应的qC0W2文件中进行读取,如果读取不到,再去后备文件中读取,从而保证上述创建的10个qcow2格式文件最大可能的共享数据。[0039]图5是本发明的基于qcow2镜像格式的虚拟机镜像快速复制系统的结构示意图。[0040]如图5所示,本发明的基于qcow2镜像格式的虚拟机镜像快速复制系统具体包括下述组成部件:[0041]虚拟机控制单元501,用于基于qC0W2格式的镜像文件分别创建并运行虚拟机。[0042]复制单元502,用于对虚拟机的镜像文件进行复制和管理。[0043]其中,所述对虚拟机的镜像文件进行复制和管理包括:[0044]复制单元502创建qcow2格式的模板镜像文件。[0045]复制单元502创建至少一个qcow2格式的镜像文件。[0046]根据需要的虚拟机的数量创建多个qcow2格式的镜像文件,例如创建10个镜像文件。[0047]复制单元502将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件。[0048]具体来说,将每个创建的qC0W2格式的镜像文件的后备文件均设置为上述模板镜像文件。本步骤中,通过将模板镜像文件设置为多个镜像文件的后备文件,实质上实现了快速的将模板镜像文件复制了多份,即快速创建了多个虚拟机镜像。[0049]现有技术中,通常是简单的将模板镜像文件分别复制多份来实现虚拟机镜像克隆,这种文件复制过程速度慢、耗时长,并且占用大量存储空间,因此极大的减慢了系统运行效率,浪费了存储空间,本发明中,根据qcow2格式文件的特性,相当于快速将模板镜像文件复制了10份,由于设置后备文件的过程很快,没有进行任何复制操作,因而大大提高了系统运行效率,节省了存储空间。[0050]复制单元502将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。[0051]虚拟机创建后,当虚拟机对数据进行修改时,虚拟机控制单元501将修改的数据存储在对应的qcow2格式的镜像文件中,而不是该文件的后备文件即模板镜像文件中,保证后备文件始终不会被修改,这样再次读取该数据时,根据qcow2格式文件的特性,会先在对应的qcow2文件中进行读取,如果读取不到,再去后备文件中读取,从而保证上述创建的10个qcow2格式文件最大可能的共享数据。[0052]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。【权利要求】1.一种基于qcow2格式的虚拟机镜像克隆方法,其特征在于,包括步骤:步骤SI,创建qC0W2格式的模板镜像文件;步骤S2,创建至少一个qcow2格式的镜像文件;步骤S3,将每个创建的qC0W2格式的镜像文件的后备文件分别设置为qc0W2格式的模板镜像文件;步骤S4,基于每个qC0W2格式的镜像文件分别创建并运行虚拟机;步骤S5,将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。2.根据权利要求1所述的方法,其特征在于,步骤S5后,任何对所述qC0W2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。3.根据权利要求1或2任意一项所述的方法,其特征在于,所述qC0W2格式的模板镜像文件为只读模式。4.一种基于qc0W2镜像格式的虚拟机镜像快速复制系统,其特征在于,包括:虚拟机控制单元,用于基于qcow2格式的镜像文件分别创建并运行虚拟机;复制单元,用于对虚拟机的镜像文件进行复制和管理。5.根据权利要求4所述的系统,其特征在于,所述对虚拟机的镜像文件进行复制和管理包括:复制单元创建qcow2格式的模板镜像文件;复制单元创建至少一个qcow2格式的镜像文件;复制单元将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;复制单元将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。6.根据权利要求5所述的系统,其特征在于,任何对所述qc0W2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。7.根据权利要求5所述的系统,其特征在于,所述qc0W2格式的模板镜像文件为只读模式。【文档编号】G06F9/455GK103713941SQ201310736732【公开日】2014年4月9日申请日期:2013年12月20日优先权日:2013年12月20日【发明者】徐安申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1