CN103713941A - 基于qcow2格式的虚拟机镜像克隆方法及系统 - Google Patents
基于qcow2格式的虚拟机镜像克隆方法及系统 Download PDFInfo
- Publication number
- CN103713941A CN103713941A CN201310736732.2A CN201310736732A CN103713941A CN 103713941 A CN103713941 A CN 103713941A CN 201310736732 A CN201310736732 A CN 201310736732A CN 103713941 A CN103713941 A CN 103713941A
- Authority
- CN
- China
- Prior art keywords
- qcow2
- image file
- virtual machine
- file
- qcow2 form
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于qcow2格式的虚拟机镜像克隆方法及系统,该方法包括步骤:创建qcow2格式的模板镜像文件;创建至少一个qcow2格式的镜像文件;将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;基于每个qcow2格式的镜像文件分别创建并运行虚拟机;将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中,使得虚拟机镜像文件的复制时间大大缩短,同时节省了存储空间。
Description
技术领域
本发明涉及云计算网络系统的虚拟机领域,尤其涉及一种基于qcow2格式的虚拟机镜像克隆方法及系统。
背景技术
云计算网络系统中大量采用了虚拟化技术,该技术的好处就是可快速生成满足用户要求的虚拟机,用户往往会要求从一个模板生产出多个类似的虚拟机,这些虚拟机90%的数据是相同的,只有10%的数据是每个虚拟机特有的。现有技术中的的虚拟机生成方法通常是把模板虚拟机所使用的镜像复制多份,然后利用这些复制好的镜像来创建虚拟机。这种方法存在若干缺陷,例如,复制多份数据的过程非常耗时,而且随着镜像文件大小的增加,需要的时间长度也会线性的增加。另外,同样的数据复制多份是对用户的存储空间的极大浪费。
可见,现有技术中复制多份数据的过程非常耗时,而且随着镜像文件大小的增加,需要的时间长度也会线性的增加,而且同样的数据复制多份是对用户的存储空间的极大浪费。因此,需要提供一种新型的虚拟机镜像克隆方法,以便能够快速的复制虚拟机镜像,并节省存储空间。
发明内容
本发明的目的是提供一种基于qcow2格式的虚拟机镜像克隆方法及系统,该方法包括步骤:创建qcow2格式的模板镜像文件;创建至少一个qcow2格式的镜像文件;将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;基于每个qcow2格式的镜像文件分别创建并运行虚拟机;将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中,使得虚拟机镜像文件的复制时间大大缩短,同时节省了存储空间。
根据本发明的一个方面,提供一种基于qcow2格式的虚拟机镜像克隆方法,包括步骤:步骤S1,创建qcow2格式的模板镜像文件;步骤S2,创建至少一个qcow2格式的镜像文件;步骤S3,将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;步骤S4,基于每个qcow2格式的镜像文件分别创建并运行虚拟机;步骤S5,将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。
其中,步骤S5后,任何对所述qcow2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。
其中,所述qcow2格式的模板镜像文件为只读模式。
根据本发明的另一方面,提供一种基于qcow2镜像格式的虚拟机镜像快速复制系统,包括:虚拟机控制单元,用于基于qcow2格式的镜像文件分别创建并运行虚拟机;复制单元,用于对虚拟机的镜像文件进行复制和管理。
其中,所述对虚拟机的镜像文件进行复制和管理包括:复制单元创建qcow2格式的模板镜像文件;复制单元创建至少一个qcow2格式的镜像文件;复制单元将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;复制单元将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。
其中,任何对所述qcow2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。
其中,所述qcow2格式的模板镜像文件为只读模式。
本发明提供一种基于qcow2格式的虚拟机镜像克隆方法及系统,该方法包括步骤:创建qcow2格式的模板镜像文件;创建至少一个qcow2格式的镜像文件;将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;基于每个qcow2格式的镜像文件分别创建并运行虚拟机;将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中,使得虚拟机镜像文件的复制时间大大缩短,同时节省了存储空间。
附图说明
图1是当前qcow2文件中逻辑地址与物理地址的对应关系示意图;
图2是qcow2文件的后备文件的应用示意图;
图3是更新qcow2文件时qcow2文件的后备文件的应用示意图;
图4是本发明中基于qcow2格式的虚拟机镜像克隆方法的流程示意图图;
图5是本发明中基于qcow2格式的虚拟机镜像克隆系统的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明提供一种基于qcow2镜像格式的虚拟机镜像快速克隆方法。通过该方法,无论镜像空间有多大,都可以实现在预定的时间内完成克隆操作。另外,通过所述方法,可以实现多个镜像之间共享相同数据,从而可以有效节省存储空间。
Qemu是在GNU/Linux平台上广泛使用的以GPL许可证分发源码的模拟处理器。qcow2是Qemu实现的一种虚拟机镜像格式。qcow2文件存储数据的基本单元是簇(cluster),簇的默认大小为64KB,在创建qcow2文件时可指定大小,但大小必须是2的次方(比如,128KB,256KB,512KB,1MB…)。qcow2以簇为单位组织虚拟机镜像逻辑地址到qcow2文件存储介质上的物理地址映射关系,即将连续的逻辑地址以簇为单位分成多个簇,将每个簇在存储介质上的物理地址的映射关系保存至该qcow2文件的簇查询表。
图1是当前qcow2文件中逻辑地址与物理地址的对应关系示意图。
如图1所示,对于任意给定的一个逻辑地址,首先计算该逻辑地址的簇序号d1以及它在簇内的偏移量d2,则该逻辑地址在当前qcow2文件中可以表示为d=(d1,d2)。然后,在qcow2文件的簇查询表(lookuptable)中查找到簇序号d1在qcow2文件所在介质中的物理地址,记为d1’。此时,该逻辑地址所对应的物理地址即为(d1’,d2)。
图2是qcow2文件的后备文件的应用示意图。
如图2所示,qcow2格式的文件支持后备文件(backingfile)的概念,如果在本qcow2文件中找不到要读取的逻辑地址的对应关系,会去后备文件中去读取。创建qcow2文件时,可指定它的后备qcow2文件,这时,任何对该qcow2文件的读取操作都会直接指向它的后备文件。对于任意给定的一个逻辑地址,首先计算该逻辑地址的簇序号d1以及它在簇内的偏移量d2,则该逻辑地址在当前qcow2文件中可以表示为d=(d1,d2)。然后,在qcow2文件的簇查询表(lookuptable)中查找簇序号d1在qcow2文件所在介质中的物理地址,如果查询不到对应的记录,则在后备文件的簇查询表中查找对应的记录,记为d1’。此时,该逻辑地址所对应的物理地址即为(d1’,d2)。
图3是更新qcow2文件时qcow2文件的后备文件的应用示意图。
如图3所示,当对qcow2文件进行写操作时,首先计算将要写入的逻辑地址的簇序号d1以及它在簇内的偏移量d2,则该逻辑地址在当前qcow2文件中可以表示为d=(d1,d2)。然后,在qcow2文件的簇查询表(lookuptable)中查找簇序号d1在qcow2文件所在介质中的物理地址,如果查询不到对应的记录,则在后备文件的簇查询表中查找对应的记录,然后复制该记录对应的簇到qcow2文件中,并同时更新qcow2文件的簇查询表,将d1修改为d1’,然后按照写操作的要求写入数据到d=(d1’,d2)对应的簇中。
图4显示了本发明的基于qcow2格式的虚拟机镜像克隆方法的流程示意图。
如图4所示,本发明的基于qcow2格式的虚拟机镜像克隆方法的处理流程具体包括以下步骤:
步骤S1,创建qcow2格式的模板镜像文件。
步骤S2,创建至少一个qcow2格式的镜像文件。
根据需要的虚拟机的数量创建多个qcow2格式的镜像文件,例如创建10个镜像文件。
步骤S3,将每个镜像文件的后备文件设置所述模板镜像文件。
具体来说,将每个创建的qcow2格式的镜像文件的后备文件均设置为上述模板镜像文件。本步骤中,通过将模板镜像文件设置为多个镜像文件的后备文件,实质上实现了快速的将模板镜像文件复制了多份,即快速创建了多个虚拟机镜像。
现有技术中,通常是简单的将模板镜像文件分别复制多份来实现虚拟机镜像克隆,这种文件复制过程速度慢、耗时长,并且占用大量存储空间,因此极大的减慢了系统运行效率,浪费了存储空间,本发明的该步骤中,根据qcow2格式文件的特性,相当于快速将模板镜像文件复制了10份,由于设置后备文件的过程很快,没有进行任何复制操作,因而大大提高了系统运行效率,节省了存储空间。
步骤S4,基于每个镜像文件分别创建并运行虚拟机。
因为上述设置后备文件的速度很快,相较于传统的复制整个文件要快很多,也就可以基于这10个镜像文件快速创建10个虚拟机。
步骤S5,将虚拟机修改的数据分别存储在对应的镜像文件中。
虚拟机创建后,当虚拟机对数据进行修改时,虚拟机控制单元将修改的数据存储在对应的qcow2格式的镜像文件中,而不是该文件的后备文件即模板镜像文件中,保证后备文件始终不会被修改,这样再次读取该数据时,根据qcow2格式文件的特性,会先在对应的qcow2文件中进行读取,如果读取不到,再去后备文件中读取,从而保证上述创建的10个qcow2格式文件最大可能的共享数据。
图5是本发明的基于qcow2镜像格式的虚拟机镜像快速复制系统的结构示意图。
如图5所示,本发明的基于qcow2镜像格式的虚拟机镜像快速复制系统具体包括下述组成部件:
虚拟机控制单元501,用于基于qcow2格式的镜像文件分别创建并运行虚拟机。
复制单元502,用于对虚拟机的镜像文件进行复制和管理。
其中,所述对虚拟机的镜像文件进行复制和管理包括:
复制单元502创建qcow2格式的模板镜像文件。
复制单元502创建至少一个qcow2格式的镜像文件。
根据需要的虚拟机的数量创建多个qcow2格式的镜像文件,例如创建10个镜像文件。
复制单元502将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件。
具体来说,将每个创建的qcow2格式的镜像文件的后备文件均设置为上述模板镜像文件。本步骤中,通过将模板镜像文件设置为多个镜像文件的后备文件,实质上实现了快速的将模板镜像文件复制了多份,即快速创建了多个虚拟机镜像。
现有技术中,通常是简单的将模板镜像文件分别复制多份来实现虚拟机镜像克隆,这种文件复制过程速度慢、耗时长,并且占用大量存储空间,因此极大的减慢了系统运行效率,浪费了存储空间,本发明中,根据qcow2格式文件的特性,相当于快速将模板镜像文件复制了10份,由于设置后备文件的过程很快,没有进行任何复制操作,因而大大提高了系统运行效率,节省了存储空间。
复制单元502将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。
虚拟机创建后,当虚拟机对数据进行修改时,虚拟机控制单元501将修改的数据存储在对应的qcow2格式的镜像文件中,而不是该文件的后备文件即模板镜像文件中,保证后备文件始终不会被修改,这样再次读取该数据时,根据qcow2格式文件的特性,会先在对应的qcow2文件中进行读取,如果读取不到,再去后备文件中读取,从而保证上述创建的10个qcow2格式文件最大可能的共享数据。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (7)
1.一种基于qcow2格式的虚拟机镜像克隆方法,其特征在于,包括步骤:
步骤S1,创建qcow2格式的模板镜像文件;
步骤S2,创建至少一个qcow2格式的镜像文件;
步骤S3,将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;
步骤S4,基于每个qcow2格式的镜像文件分别创建并运行虚拟机;
步骤S5,将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。
2.根据权利要求1所述的方法,其特征在于,步骤S5后,任何对所述qcow2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。
3.根据权利要求1或2任意一项所述的方法,其特征在于,所述qcow2格式的模板镜像文件为只读模式。
4.一种基于qcow2镜像格式的虚拟机镜像快速复制系统,其特征在于,包括:
虚拟机控制单元,用于基于qcow2格式的镜像文件分别创建并运行虚拟机;
复制单元,用于对虚拟机的镜像文件进行复制和管理。
5.根据权利要求4所述的系统,其特征在于,所述对虚拟机的镜像文件进行复制和管理包括:
复制单元创建qcow2格式的模板镜像文件;
复制单元创建至少一个qcow2格式的镜像文件;
复制单元将每个创建的qcow2格式的镜像文件的后备文件分别设置为qcow2格式的模板镜像文件;
复制单元将虚拟机修改的数据分别存储在对应的qcow2格式的镜像文件中。
6.根据权利要求5所述的系统,其特征在于,任何对所述qcow2格式的镜像文件的读取操作将先在所述qcow2格式的镜像文件中读取,如果读取不到,则在所述qcow2格式的模板镜像文件读取。
7.根据权利要求5所述的系统,其特征在于,所述qcow2格式的模板镜像文件为只读模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310736732.2A CN103713941B (zh) | 2013-12-20 | 2013-12-20 | 基于qcow2格式的虚拟机镜像克隆方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310736732.2A CN103713941B (zh) | 2013-12-20 | 2013-12-20 | 基于qcow2格式的虚拟机镜像克隆方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103713941A true CN103713941A (zh) | 2014-04-09 |
CN103713941B CN103713941B (zh) | 2018-05-04 |
Family
ID=50406944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310736732.2A Active CN103713941B (zh) | 2013-12-20 | 2013-12-20 | 基于qcow2格式的虚拟机镜像克隆方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103713941B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156256A (zh) * | 2014-08-22 | 2014-11-19 | 成都致云科技有限公司 | 一种高效灵活的云主机磁盘克隆方法 |
CN104156257A (zh) * | 2014-08-22 | 2014-11-19 | 成都致云科技有限公司 | 一种快速高效的云服务磁盘镜像管理方法 |
CN104360892A (zh) * | 2014-10-21 | 2015-02-18 | 普华基础软件股份有限公司 | 创建虚拟机的系统及方法 |
CN105389185A (zh) * | 2015-11-16 | 2016-03-09 | 北京汉柏科技有限公司 | 用于虚拟云桌面启动风暴的处理方法及装置 |
CN106055278A (zh) * | 2016-06-03 | 2016-10-26 | 无锡华云数据技术服务有限公司 | 一种基于qcow2格式增量快照的轻量化实现方法 |
CN108170508A (zh) * | 2017-12-12 | 2018-06-15 | 顺丰科技有限公司 | 批量创建虚拟机的方法、装置、设备及其存储介质 |
CN111240799A (zh) * | 2019-12-31 | 2020-06-05 | 北京安码科技有限公司 | 在pve平台快速创建增量虚拟机的方法、系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216777A (zh) * | 2008-01-11 | 2008-07-09 | 华中科技大学 | 一种多虚拟机环境下的快速部署系统 |
EP2479677A1 (en) * | 2010-11-03 | 2012-07-25 | Huawei Technologies Co., Ltd. | Method, system and physical host for virtual machine (vm) storage space management |
CN102999433A (zh) * | 2012-11-21 | 2013-03-27 | 北京航空航天大学 | 一种虚拟磁盘的冗余数据删除方法及系统 |
CN102999369A (zh) * | 2012-12-25 | 2013-03-27 | 杭州华三通信技术有限公司 | 虚拟机升级的方法及装置 |
-
2013
- 2013-12-20 CN CN201310736732.2A patent/CN103713941B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101216777A (zh) * | 2008-01-11 | 2008-07-09 | 华中科技大学 | 一种多虚拟机环境下的快速部署系统 |
EP2479677A1 (en) * | 2010-11-03 | 2012-07-25 | Huawei Technologies Co., Ltd. | Method, system and physical host for virtual machine (vm) storage space management |
CN102999433A (zh) * | 2012-11-21 | 2013-03-27 | 北京航空航天大学 | 一种虚拟磁盘的冗余数据删除方法及系统 |
CN102999369A (zh) * | 2012-12-25 | 2013-03-27 | 杭州华三通信技术有限公司 | 虚拟机升级的方法及装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156256A (zh) * | 2014-08-22 | 2014-11-19 | 成都致云科技有限公司 | 一种高效灵活的云主机磁盘克隆方法 |
CN104156257A (zh) * | 2014-08-22 | 2014-11-19 | 成都致云科技有限公司 | 一种快速高效的云服务磁盘镜像管理方法 |
CN104360892A (zh) * | 2014-10-21 | 2015-02-18 | 普华基础软件股份有限公司 | 创建虚拟机的系统及方法 |
CN104360892B (zh) * | 2014-10-21 | 2019-04-09 | 普华基础软件股份有限公司 | 创建虚拟机的系统及方法 |
CN105389185A (zh) * | 2015-11-16 | 2016-03-09 | 北京汉柏科技有限公司 | 用于虚拟云桌面启动风暴的处理方法及装置 |
CN106055278A (zh) * | 2016-06-03 | 2016-10-26 | 无锡华云数据技术服务有限公司 | 一种基于qcow2格式增量快照的轻量化实现方法 |
CN108170508A (zh) * | 2017-12-12 | 2018-06-15 | 顺丰科技有限公司 | 批量创建虚拟机的方法、装置、设备及其存储介质 |
CN111240799A (zh) * | 2019-12-31 | 2020-06-05 | 北京安码科技有限公司 | 在pve平台快速创建增量虚拟机的方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103713941B (zh) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103713941A (zh) | 基于qcow2格式的虚拟机镜像克隆方法及系统 | |
CN102508784B (zh) | 视频监控设备中闪存卡的数据存储方法及其系统 | |
CN103970585B (zh) | 创建虚拟机的方法及装置 | |
EP3000059B1 (en) | Managing data in a storage system | |
CN103699459A (zh) | 基于qcow2快照的虚拟机数据增量备份方法及系统 | |
US11010079B2 (en) | Concept for storing file system metadata within solid-stage storage devices | |
CN103164490B (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
JP2018049522A (ja) | メモリシステム及び制御方法 | |
CN103077121B (zh) | 一种闪存存储设备中数据管理的方法及装置 | |
CN104714858A (zh) | 数据备份方法及装置、数据恢复方法及装置 | |
US20130282676A1 (en) | Garbage collection-driven block thinning | |
CN103544045A (zh) | 一种基于hdfs的虚拟机镜像存储系统及其构建方法 | |
CN102096561B (zh) | 分层数据存储处理方法、装置以及存储设备 | |
CN106354658B (zh) | 一种降低混合映射算法中映射表内存资源占用的方法 | |
CN103186617B (zh) | 一种存储数据的方法和装置 | |
CN104077235A (zh) | 分割物理块的方法及存储器系统 | |
CN103500089A (zh) | 一种适应于Mapreduce计算模型的小文件存储系统 | |
CN104407935A (zh) | 快照回滚方法和存储设备 | |
CN104985939A (zh) | 一种激光打标机控制方法和激光打标机 | |
CN103927215B (zh) | 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及系统 | |
CN104572492A (zh) | 一种烧录数据到fat32分区的方法和装置 | |
CN103049546B (zh) | 一种管理、访问系统日志的方法和装置 | |
CN101957801B (zh) | 信息处理设备和信息处理方法 | |
CN101625661B (zh) | 用于闪存的数据管理方法、储存系统与控制器 | |
CN105260266A (zh) | 一种快照卷写方法及依赖快照系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20180528 Granted publication date: 20180504 |