CN104486392A - 一种低存储空间的虚拟机镜像打包方法 - Google Patents
一种低存储空间的虚拟机镜像打包方法 Download PDFInfo
- Publication number
- CN104486392A CN104486392A CN201410743495.7A CN201410743495A CN104486392A CN 104486392 A CN104486392 A CN 104486392A CN 201410743495 A CN201410743495 A CN 201410743495A CN 104486392 A CN104486392 A CN 104486392A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- image
- file
- packaging method
- mirror image
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云计算领域,特别是指一种低存储空间的虚拟机镜像打包方法。本发明首先基于创建外部快照文件的方式运行虚拟机;然后比较快照与母镜像大小,母镜像大则合并镜像,然后创建虚拟机;母镜像小,则快照作为镜像,把外部快照文件作为虚拟磁盘文件创建虚拟机。本发明解决了虚拟机存储利用率低的问题;可用于低存储空间的虚拟机镜像打包。
Description
技术领域
本发明涉及云计算领域,特别是指特别是指一种低存储空间的虚拟机镜像打包方法。
背景技术
在云平台中,用户一般基于基础镜像创建虚拟机实例以后,都会基于当前的虚拟机实例打包成新的虚拟机镜像,以此镜像作为模板重新批量创建虚拟机。基于镜像运行虚拟机有两种模式:第一种是直接运行拷贝镜像文件,把镜像文件作为虚拟磁盘文件,该模式在打包时直接把当前虚拟机实例文件拷贝一份作为虚拟机镜像即可。第二种是先基于虚拟机镜像文件创建外部快照文件,把外部快照文件作为虚拟磁盘文件,所有基于虚拟机镜像文件的改变都被写入到外部快照文件中。在此种模式下,打包的流程如下:
1、关闭虚拟机实例以停止虚拟机实例的一切IO读写操作,确保打包的镜像时保存的是最新的数据;
2、创建一个新的镜像文件,先写入虚拟机镜像文件的数据,再写入外部快照文件的数据,合并数据的文件就是新的镜像文件。
上述方法存在以下的问题:
1、合并写入镜像文件耗费的时间比较长;
2、占用的存储空间较大,新的镜像文件与原来的虚拟机镜像文件有一定的关联,没有必要浪费空间存储重复的数据,外部快照文件中可能也存在与原来虚拟机镜像文件重复的数据,需要运用策略尽量避免。
发明内容
本发明解决的技术问题在于提供一种低存储空间的虚拟机镜像打包方法,解决虚拟机存储利用率低的问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括以下步骤:
步骤1:基于创建外部快照文件的方式运行虚拟机:
步骤2:虚拟机打包时,首先查看外部快照文件的大小,如果外部快照文件的大小小于虚拟机镜像文件,虚拟机基于原始镜像所做的改变不多,那么执行步骤3;否则表明虚拟机基于原始镜像所做的改变已经多于原始镜像,虚拟机中存在与原始镜像重复的数据也比较多,执行步骤4;
步骤3:直接把虚拟机的外部快照文件作为镜像保存,需要用此种镜像创建虚拟机时执行步骤5;
步骤4:创建一个新的镜像文件,把虚拟机原始镜像文件和外部快照文件的数据合并到此镜像中;
步骤5:查询新的镜像文件信息中是否有母镜像的数据项,如果有,那么执行步骤6,否则执行步骤7;
步骤6:根据母镜像的名称在镜像列表中查找到,然后把母镜像和当前镜像拷贝到虚拟机实例文件存放路径中,把当前镜像作为虚拟磁盘文件创建新的虚拟机;
步骤7:直接把当前镜像文件拷贝到虚拟机实例文件存放路径,基于当前镜像文件创建一个外部快照文件,把外部快照文件作为虚拟磁盘文件创建虚拟机。
所述虚拟机镜像采用COW的原理,用外部快照作为虚拟机实例文件。
所述镜像文件存在元数据,通过查询元数据了解是否有母镜像。
所述创建虚拟机时存在一个镜像池,用来存放母镜像和快照镜像文件。
所述从镜像池拷贝到实例文件存放路径过程时会限制并发数,一般默认设置并发数为2。
本发明方案的有益效果如下:
1、本发明的方法总体耗费的时间相对较少。
2、本发明的方法占用的存储空间较大,能在合并镜像文件和使用外部快照文件两种方法之间取得平衡,是在打包速度与存储空间比较均衡的一种策略。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图;
具体实施方式
流程图如图1所示,具体实施过程如下:
1、用外部快照的方式创建虚拟机
如果镜像是qcow2格式,那么如下
#qemu-img create/instance/cache/emi-12345-f qcow2/instance/i-ab234/emi-12345.snap
如果镜像是vhd格式,那么如下
#vhd-util snapshot-p/instance/cache/emi-12345/instance/i-ab1234/emi-12345.snap
2、获取快照文件大小
如果快照是qcow2格式,那么如下
#qemu-img check/instance/i-ab 1234/emi-12345.snap#qemu-img check/instance/cache/emi-12345
如果快照是vhd格式,那么如下
#vhd-util query-n/instance/i-ab1234/emi-12345.snap-s#vhd-util query-n/instance/-ab1234/emi-12345
3、直接把快照作为镜像
#cp/instance/i-ab1234/emi-12345.snap/instance/pool/
然后把镜像信息保存到数据库
4、合并镜像
针对qcow2文件,那么
#qemu-img-b/instance/-ab1234/emi-12345/instance/i-ab1234/emi-12345.snap
针对vhd文件,那么
#vhd-util vhd-util coalesee-n/instance/i-ab1234/emi-12345.snap
5、查询镜像是否存在母镜像
针对qcow2文件,那么
#qemu-img info/instance/i-ab1234/emi-12345.snap
针对vhd文件,那么
#vhd-util scan-n/i nstance/i-ab1234/emi-12345.snap。
Claims (6)
1.一种低存储空间的虚拟机镜像打包方法,其特征在于:所述的方法包括以下步骤:
步骤1:基于创建外部快照文件的方式运行虚拟机:
步骤2:虚拟机打包时,首先查看外部快照文件的大小,如果外部快照文件的大小小于虚拟机镜像文件,虚拟机基于原始镜像所做的改变不多,那么执行步骤3;否则表明虚拟机基于原始镜像所做的改变已经多于原始镜像,虚拟机中存在与原始镜像重复的数据也比较多,执行步骤4;
步骤3:直接把虚拟机的外部快照文件作为镜像保存,需要用此种镜像创建虚拟机时执行步骤5;
步骤4:创建一个新的镜像文件,把虚拟机原始镜像文件和外部快照文件的数据合并到此镜像中;
步骤5:查询新的镜像文件信息中是否有母镜像的数据项,如果有,那么执行步骤6,否则执行步骤7;
步骤6:根据母镜像的名称在镜像列表中查找到,然后把母镜像和当前镜像拷贝到虚拟机实例文件存放路径中,把当前镜像作为虚拟磁盘文件创建新的虚拟机;
步骤7:直接把当前镜像文件拷贝到虚拟机实例文件存放路径,基于当前镜像文件创建一个外部快照文件,把外部快照文件作为虚拟磁盘文件创建虚拟机。
2.根据权利要求1所述的低存储空间的虚拟机镜像打包方法,其特征在于:所述虚拟机镜像采用COW的原理,用外部快照作为虚拟机实例文件。
3.根据权利要求1所述的低存储空间的虚拟机镜像打包方法,其特征在于:所述镜像文件存在元数据,通过查询元数据了解是否有母镜像。
4.根据权利要求2所述的低存储空间的虚拟机镜像打包方法,其特征在于:所述镜像文件存在元数据,通过查询元数据了解是否有母镜像。
5.根据权利要求1至4任一项所述的低存储空间的虚拟机镜像打包方法,其特征在于:所述创建虚拟机时存在一个镜像池,用来存放母镜像和快照镜像文件。
6.根据权利要求5所述的低存储空间的虚拟机镜像打包方法,其特征在于:所述从镜像池拷贝到实例文件存放路径过程时会限制并发数,一般默认设置并发数为2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410743495.7A CN104486392A (zh) | 2014-12-05 | 2014-12-05 | 一种低存储空间的虚拟机镜像打包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410743495.7A CN104486392A (zh) | 2014-12-05 | 2014-12-05 | 一种低存储空间的虚拟机镜像打包方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104486392A true CN104486392A (zh) | 2015-04-01 |
Family
ID=52760896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410743495.7A Pending CN104486392A (zh) | 2014-12-05 | 2014-12-05 | 一种低存储空间的虚拟机镜像打包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104486392A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201656A (zh) * | 2016-06-30 | 2016-12-07 | 无锡华云数据技术服务有限公司 | 一种对kvm虚拟机快照存储空间的统计方法 |
CN106293535A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种nas的性能优化方法及装置 |
CN106293994A (zh) * | 2015-05-15 | 2017-01-04 | 株式会社日立制作所 | 网络文件***中的虚拟机克隆方法和网络文件*** |
WO2017076180A1 (zh) * | 2015-11-06 | 2017-05-11 | 中兴通讯股份有限公司 | 虚拟机升级方法及装置 |
CN107807842A (zh) * | 2017-10-23 | 2018-03-16 | 国云科技股份有限公司 | 一种虚拟机在线克隆方法 |
CN109597671A (zh) * | 2018-12-11 | 2019-04-09 | 国云科技股份有限公司 | 一种兼容集中式和分布式运行的桌面云实现方法 |
CN110032474A (zh) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | 一种快照占用容量的确定方法、***及相关组件 |
CN111737223A (zh) * | 2020-06-28 | 2020-10-02 | 浪潮电子信息产业股份有限公司 | 一种文件拷贝方法、装置、设备及存储介质 |
WO2024078262A1 (zh) * | 2022-10-10 | 2024-04-18 | 华为技术有限公司 | 快照方法、电子设备、计算机程序产品及可读存储介质 |
-
2014
- 2014-12-05 CN CN201410743495.7A patent/CN104486392A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293994A (zh) * | 2015-05-15 | 2017-01-04 | 株式会社日立制作所 | 网络文件***中的虚拟机克隆方法和网络文件*** |
WO2017076180A1 (zh) * | 2015-11-06 | 2017-05-11 | 中兴通讯股份有限公司 | 虚拟机升级方法及装置 |
CN106201656A (zh) * | 2016-06-30 | 2016-12-07 | 无锡华云数据技术服务有限公司 | 一种对kvm虚拟机快照存储空间的统计方法 |
CN106293535A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种nas的性能优化方法及装置 |
CN107807842A (zh) * | 2017-10-23 | 2018-03-16 | 国云科技股份有限公司 | 一种虚拟机在线克隆方法 |
CN109597671A (zh) * | 2018-12-11 | 2019-04-09 | 国云科技股份有限公司 | 一种兼容集中式和分布式运行的桌面云实现方法 |
CN110032474A (zh) * | 2019-04-12 | 2019-07-19 | 苏州浪潮智能科技有限公司 | 一种快照占用容量的确定方法、***及相关组件 |
CN111737223A (zh) * | 2020-06-28 | 2020-10-02 | 浪潮电子信息产业股份有限公司 | 一种文件拷贝方法、装置、设备及存储介质 |
WO2024078262A1 (zh) * | 2022-10-10 | 2024-04-18 | 华为技术有限公司 | 快照方法、电子设备、计算机程序产品及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486392A (zh) | 一种低存储空间的虚拟机镜像打包方法 | |
US9933956B2 (en) | Systems and methods for implementing stretch clusters in a virtualization environment | |
US9201676B2 (en) | Reducing or suspending transfer rate of virtual machine migration when dirtying rate exceeds a convergence threshold | |
CN103970585A (zh) | 创建虚拟机的方法及装置 | |
US9483414B2 (en) | Ordered memory pages transmission in virtual machine live migration | |
Tsai et al. | Scalable architectures for SaaS | |
CN105183839A (zh) | 一种基于Hadoop的小文件分级索引的存储优化方法 | |
CN103914522A (zh) | 一种应用于云存储重复数据删除的数据块合并方法 | |
US8832492B1 (en) | Systems and methods for managing applications | |
US20150052322A1 (en) | Systems and methods for memory deduplication by origin host in virtual machine live migration | |
US9946724B1 (en) | Scalable post-process deduplication | |
TW201322134A (zh) | 虛擬機管理系統及方法 | |
CN103593226A (zh) | 一种提高虚拟机磁盘io性能的方法 | |
CN111771193A (zh) | 用于在生产集群中备份最终一致的数据库的***和方法 | |
CN105760218A (zh) | 一种虚拟机在线迁移方法及装置 | |
US20170115980A1 (en) | Computerized system and method for patching an application by separating executables and working data using different images | |
US10152493B1 (en) | Dynamic ephemeral point-in-time snapshots for consistent reads to HDFS clients | |
CN103927215B (zh) | 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及*** | |
KR20140141467A (ko) | 라이브 업그레이드 | |
CN103365926A (zh) | 在文件***中用于保存快照的方法和装置 | |
CN104808953A (zh) | 控制数据存储的方法、装置及移动终端 | |
US9411871B2 (en) | Merging data volumes and derivative versions of the data volumes | |
CN104866388A (zh) | 数据处理方法及装置 | |
US11023493B2 (en) | Intelligently scheduling resynchronization jobs in a distributed object-based storage system | |
CN103425550B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150401 |