CN103713970A - 一种基于虚拟机的磁盘镜像文件快照的制作方法和系统 - Google Patents

一种基于虚拟机的磁盘镜像文件快照的制作方法和系统 Download PDF

Info

Publication number
CN103713970A
CN103713970A CN201310751391.6A CN201310751391A CN103713970A CN 103713970 A CN103713970 A CN 103713970A CN 201310751391 A CN201310751391 A CN 201310751391A CN 103713970 A CN103713970 A CN 103713970A
Authority
CN
China
Prior art keywords
disk mirroring
snapshot
mirroring file
file
father
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
Application number
CN201310751391.6A
Other languages
English (en)
Other versions
CN103713970B (zh
Inventor
李立
王军林
唐明
徐博
成书晟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shuguang Cloud Computing Group Co ltd
Original Assignee
SHUGUANG CLOUD COMPUTING TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHUGUANG CLOUD COMPUTING TECHNOLOGY Co Ltd filed Critical SHUGUANG CLOUD COMPUTING TECHNOLOGY Co Ltd
Priority to CN201310751391.6A priority Critical patent/CN103713970B/zh
Publication of CN103713970A publication Critical patent/CN103713970A/zh
Application granted granted Critical
Publication of CN103713970B publication Critical patent/CN103713970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于虚拟机的磁盘镜像文件快照的制作方法和系统,其包括:判断是否存在父磁盘镜像文件;如果存在,则创建空快照文件,并且初始化磁盘镜像文件快照尾协议;判断父磁盘镜像文件是否为稀疏类型;如果为稀疏类型,则初始化磁盘镜像文件快照头协议、填充磁盘镜像文件快照尾协议和头协议、创建并填充块分配映射表以及更新并记录父磁盘镜像文件路径;如果为非稀疏类型,则将非稀疏父磁盘镜像文件填充到空快照文件中;以及更新磁盘镜像文件快照的头协议和尾协议,从而完成快照制作。本发明解决了非稀疏磁盘镜像文件不支持快照以及稀疏磁盘镜像文件支持快照的性能不佳的问题。

Description

一种基于虚拟机的磁盘镜像文件快照的制作方法和系统
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于虚拟机的磁盘镜像文件快照的制作方法和系统。
背景技术
XEN是一个基于开源软件组织的虚拟机监控器(即Virtual Machine Monitor简称VMM),可以允许在单一的物理机器上同时运行多个操作系统实例。XEN默认的RAW或是QCOW2(Qemu-copy-on-write2)磁盘格式由于RAW或QCOW2协议里面不支持跨平台功能而不能跨越多个平台使用,比如这两种格式的虚拟机的文件不能用在VMWare、WindowXP、Mac等电脑上面跨越平台使用,其原因是RAW或QCOW2协议里面不支持这种跨平台功能。并且,现有RAW磁盘文件不支持快照技术,无法定期对虚拟机进行在线备份和恢复,从而会影响客户的数据安全。QCOW2虽然支持虚拟机在线快照,但是经过测试,磁盘IO仍存在性能不高、延时长等缺点。由于RAW磁盘格式不支持快照功能,无论是用DD指令还是QEMU-IMG创建出来的RAW盘都不支持在线(离线)快照,原因是RAW格式的磁盘没有做任何协议上的处理。
进一步地,现有技术的快照备份大部分都是基于差异备份或是增量备份来实现。差异备份或是增量备份是相对于完全备份而言。完全备份指的是,备份系统不会检查自上次备份后档案有没有被更动过,而只是机械性地将每个档案读出、写入,不管档案有没有被修改过。备份全部选中的文件及文件夹,并不依赖文件的存盘属性来确定备份哪些文件。增量备份和完全备份不同,其在做数据备份前会先判断,档案的最后修改时间是否比上次备份的时间晚。如果不是的话,那表示自上次备份后,这档案并没有被更动过,所以这次不需要备份。换句话说,如果修改日期″的确″比上次更动的日期来得晚,那么档案就被更动过,需要备份。差异备份则是针对完全备份:备份上一次的完全备份后发生变化的所有文件。增量备份和差异备份这两种技术都存在自身的缺点。增量备份的缺点是,若要恢复所有文件,必须所有增量备份都可用,这就需要很长的时间来还原特定文件,因为必须搜索多个备份集以找到最新版本的文件。差异备份的缺点是,由于可能必须还原最后一次的差异和完整备份,还原所有文件可能需要相当长的时间。
因此,在云计算环境下,期望能够实现虚拟机在业务不中断的情况下进行任何时候的备份和恢复操作。
发明内容
本发明针对上述问题,提出了一种基于虚拟机的磁盘镜像文件快照的制作方法和系统,其实现了虚拟机在业务不中断的情况下进行任何时候的备份和恢复操作。
在一个方面,本发明提供了一种基于虚拟机的磁盘镜像文件快照的制作方法,其包括以下步骤:判断是否存在父磁盘镜像文件;如果存在,则创建空快照文件,并且初始化磁盘镜像文件快照尾协议;判断父磁盘镜像文件是否为稀疏类型;如果父磁盘镜像文件为稀疏类型,则依序进行下列步骤:初始化磁盘镜像文件快照头协议、填充磁盘镜像文件快照尾协议、填充磁盘镜像文件快照头协议、创建并填充块分配映射表、以及更新并记录父磁盘镜像文件路径;如果父磁盘镜像文件为非稀疏类型,则将非稀疏父磁盘镜像文件填充到空快照文件中;以及更新磁盘镜像文件快照的头协议和尾协议,并关闭磁盘文件快照,从而完成快照制作。
在另一个方面,本发明提供了一种基于虚拟机的磁盘镜像文件快照的制作系统,其包括:父磁盘镜像文件检查模块,用于判断是否存在父磁盘镜像文件;快照文件创建模块,用于在父磁盘镜像文件检查模块判断存在父磁盘镜像文件时,创建空快照文件,并且初始化磁盘镜像文件快照尾协议;父磁盘镜像文件类型判断模块,用于判断父磁盘镜像文件为稀疏类型还是非稀疏类型;稀疏文件处理模块,用于在父磁盘镜像文件类型判断模块判断父磁盘镜像文件为稀疏类型时,初始化磁盘镜像文件快照头协议,填充磁盘镜像文件快照尾协议,填充磁盘镜像文件快照头协议,创建并填充块分配映射表,以及更新并记录父磁盘镜像文件路径;非稀疏文件处理模块,用于在父磁盘镜像文件类型判断模块判断父磁盘镜像文件为非稀疏类型时,将非稀疏父磁盘镜像文件填充到空快照文件中;以及快照协议更新单元,用于更新磁盘镜像文件快照的头协议和尾协议,并关闭磁盘文件快照,从而完成快照制作。
本发明提供的基于虚拟机的磁盘镜像文件快照的制作方法和系统,解决了非稀疏磁盘镜像文件不支持快照以及稀疏磁盘镜像文件支持快照的性能不佳的缺陷,并支持毫秒级别的快照操作,从而实现了虚拟机在业务不中断的情况下进行任何时候的备份和恢复操作。
附图说明
下面将参照附图描述本发明的具体实施例,其中:
图1为本发明实施例的基于虚拟机的磁盘镜像文件快照的制作方法的流程示意图。
图2为本发明实施例的基于虚拟机的磁盘镜像文件快照的制作系统的结构示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。
为解决XEN虚拟机在业务不中断的情况下进行在线备份和恢复的问题,基于稀疏磁盘镜像和非稀疏磁盘镜像提出了本发明。图1示出了本发明实施例的基于虚拟机的磁盘镜像文件快照的制作方法的流程示意图。
首先,在步骤S101中,判断是否存在父磁盘镜像文件。如果存在,则执行步骤S102,创建空快照文件,并且初始化磁盘镜像文件快照尾协议。如果不存在,则返回错误。
接着,在步骤S103中,判断父磁盘镜像文件是否为稀疏类型。如果父磁盘镜像文件为稀疏类型,则依序进行下列步骤S104-S108:初始化磁盘镜像文件快照头协议(S104);填充磁盘镜像文件快照尾协议(S105);填充磁盘镜像文件快照头协议(S106);创建并填充块分配映射表(S107);更新并记录父磁盘镜像文件路径(S108)。如果父磁盘镜像文件为非稀疏类型,则执行步骤S114,将非稀疏父磁盘镜像文件填充到空快照文件中。
最后,执行步骤S120,更新磁盘镜像文件快照的头协议和尾协议;并关闭磁盘文件快照,从而完成快照制作。
在本实施例中,磁盘镜像文件快照的格式协议如下:稀疏和非稀疏磁盘均由磁盘镜像头协议和磁盘镜像尾部协议构成,磁盘镜像的数据均被包裹在协议的地址中。协议内容的示例如下。
比如,磁盘镜像的头协议可如下所示:
磁盘镜像的尾协议可如下所示:
在步骤S107中,需要创建并填充块分配映射表。这里,镜像文件数据块位于磁盘镜像头协议和磁盘镜像尾协议之间,如下所示。
磁盘镜像头协议中的Table Offset字段指向了块分配表(Block AllocationTable),块分配表是由磁盘镜像文件中的很多数据扇区组成。在创建磁盘的时候就决定了块分配表中条目项的数量,块分配表中的每一个条目分别指向了一个数据块(Data Block),磁盘镜像头协议中的Max Table Entries字段记录了这个磁盘镜像中具有多少个数据块。
数据块(Data Block)由扇区位图(Sector Bitmap)和数据组成。扇区位图中的每一位由1或是0构成,当位图位是1的时候,说明该扇区数据存在于本快照文件中;当位图位是0的时候,则说明该扇区数据位于父磁盘镜像文件中。数据块的大小一般都是扇区大小的整数倍,默认情况下,数据块(Data Block)是4096字节,即2M,磁盘镜像头协议中的Block Size字段记录该大小。
进一步地,数据的存放位置(即扇区)可通过下面的计算公式来计算:
BlockNumber=floor(RawSectorNumber/SectorsPerBlock)
SectorInBlock=RawSectorNumber%SectorsPerBlock
ActualSectorLocation=BAT[BlockNumber]+BlockBitmapSectorCount+SectorInBlock
其中,变量BlockNumber用来索引BAT表中的块,RawSectorNumber是一个块中的扇区号,ActualSectorLocation就是数据存放位置的绝对偏移扇区值。
在本发明中,由于快照文件自身存储了父磁盘镜像文件的路径(步骤S108),当虚拟机试图去打开快照文件的时候,就会连同地把父磁盘镜像文件打开。由于磁盘镜像头协议中的Parent Locator Entry字段记录了父磁盘镜像文件的路径(可以是绝对路径,也可以是相对路径),从而实现了快照功能的跨平台特性。
此外,在本发明中,快照文件本身对父磁盘镜像文件的路径进行了记录操作,并且同时对快照文件本身的元数据进行了修改控制。当系统检测到块位图(Block bitmap)为脏标记的时候,就需要将脏数据刷新到快照文件脏数据块的扇区中。如果这个脏数据块是属于父磁盘镜像文件的范畴,就把脏数据写入到父磁盘镜像文件中去。
在另一方面,本发明实施例还提供了一种基于虚拟机的磁盘镜像文件快照的制作系统,如图2所示,其包括:父磁盘镜像文件检查模块201,用于判断是否存在父磁盘镜像文件;快照文件创建模块202,用于在父磁盘镜像文件检查模块201判断存在父磁盘镜像文件时,创建空快照文件,并且初始化磁盘镜像文件快照尾协议;父磁盘镜像文件类型判断模块203,用于判断父磁盘镜像文件为稀疏类型还是非稀疏类型;稀疏文件处理模块204,用于在父磁盘镜像文件类型判断模块203判断父磁盘镜像文件为稀疏类型时,初始化磁盘镜像文件快照头协议,填充磁盘镜像文件快照尾协议,填充磁盘镜像文件快照头协议,创建并填充块分配映射表,以及更新并记录父磁盘镜像文件路径;非稀疏文件处理模块205,用于在父磁盘镜像文件类型判断模块203判断父磁盘镜像文件为非稀疏类型时,将非稀疏父磁盘镜像文件填充到空快照文件中;以及快照协议更新单元206,用于更新磁盘镜像文件快照的头协议和尾协议,并关闭磁盘文件快照,从而完成快照制作。
如果父磁盘镜像文件检查模块201判断不存在父镜盘像文件,则返回错误。
根据本发明的快照制作方法和系统,解决了非稀疏磁盘镜像文件不支持快照的问题,并且提升了稀疏磁盘镜像文件支持快照的性能。具体地说,稀疏和非稀疏磁盘镜像文件快照的制作时间均可达到毫秒级,虚拟机快照恢复的时间也可控制在1分钟之内,相比现有技术而言速度得到较大提升。
以上实施例仅用以说明本发明的技术方案,而非对其进行限制。因此,在不背离本发明的精神及其实质的情况下,本领域技术人员可作出各种改变、替换和变型。很显然,但这些改变、替换和变型都应涵盖于本发明权利要求的保护范围之内。

Claims (10)

1.一种基于虚拟机的磁盘镜像文件快照的制作方法,其特征在于包括以下步骤:
判断是否存在父磁盘镜像文件(S101);如果存在,则创建空快照文件,并且初始化磁盘镜像文件快照尾协议(S102);
判断父磁盘镜像文件是否为稀疏类型(S103);如果父磁盘镜像文件为稀疏类型,则依序进行下列步骤:初始化磁盘镜像文件快照头协议(S104)、填充磁盘镜像文件快照尾协议(S105)、填充磁盘镜像文件快照头协议(S106)、创建并填充块分配映射表(S107)、以及更新并记录父磁盘镜像文件路径(S108);如果父磁盘镜像文件为非稀疏类型,则将非稀疏父磁盘镜像文件填充到空快照文件中(S114);以及
更新磁盘镜像文件快照的头协议和尾协议(S120),并关闭磁盘文件快照,从而完成快照制作。
2.如权利要求1所述的方法,其特征在于所述磁盘镜像文件快照包括头协议、尾协议以及位于两者之间的磁盘镜像数据块。
3.如权利要求2所述的方法,其特征在于所述磁盘镜像文件快照的头协议包括记录父磁盘镜像文件路径的字段。
4.如权利要求1至3中任一所述的方法,其特征在于所述父磁盘镜像文件路径为绝对路径或相对路径。
5.如权利要求1至3中任一所述的方法,其特征在于:如判断不存在父镜盘像文件,则返回错误。
6.一种基于虚拟机的磁盘镜像文件快照的制作系统,其特征在于包括:
父磁盘镜像文件检查模块(201),用于判断是否存在父磁盘镜像文件;
快照文件创建模块(202),用于在父磁盘镜像文件检查模块(201)判断存在父磁盘镜像文件时,创建空快照文件,并且初始化磁盘镜像文件快照尾协议;
父磁盘镜像文件类型判断模块(203),用于判断父磁盘镜像文件为稀疏类型还是非稀疏类型;
稀疏文件处理模块(204),用于在父磁盘镜像文件类型判断模块(203)判断父磁盘镜像文件为稀疏类型时,初始化磁盘镜像文件快照头协议,填充磁盘镜像文件快照尾协议,填充磁盘镜像文件快照头协议,创建并填充块分配映射表,以及更新并记录父磁盘镜像文件路径;
非稀疏文件处理模块(205),用于在父磁盘镜像文件类型判断模块(203)判断父磁盘镜像文件为非稀疏类型时,将非稀疏父磁盘镜像文件填充到空快照文件中;以及
快照协议更新单元(206),用于更新磁盘镜像文件快照的头协议和尾协议,并关闭磁盘文件快照,从而完成快照制作。
7.如权利要求6所述的系统,其特征在于所述磁盘镜像文件快照包括头协议、尾协议以及位于两者之间的磁盘镜像数据块。
8.如权利要求7所述的系统,其特征在于所述磁盘镜像文件快照的头协议包括记录父磁盘镜像文件路径的字段。
9.如权利要求6至8中任一所述的系统,其特征在于所述父磁盘镜像文件路径为绝对路径或相对路径。
10.如权利要求6至8中任一所述的系统,其特征在于:如果所述父磁盘镜像文件检查模块(201)判断不存在父镜盘像文件,则返回错误。
CN201310751391.6A 2013-12-31 2013-12-31 一种基于虚拟机的磁盘镜像文件快照的制作方法和系统 Active CN103713970B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310751391.6A CN103713970B (zh) 2013-12-31 2013-12-31 一种基于虚拟机的磁盘镜像文件快照的制作方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310751391.6A CN103713970B (zh) 2013-12-31 2013-12-31 一种基于虚拟机的磁盘镜像文件快照的制作方法和系统

Publications (2)

Publication Number Publication Date
CN103713970A true CN103713970A (zh) 2014-04-09
CN103713970B CN103713970B (zh) 2017-02-15

Family

ID=50406971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310751391.6A Active CN103713970B (zh) 2013-12-31 2013-12-31 一种基于虚拟机的磁盘镜像文件快照的制作方法和系统

Country Status (1)

Country Link
CN (1) CN103713970B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461782A (zh) * 2014-12-01 2015-03-25 上海爱数软件有限公司 重定向iSCSI挂载卷读写数据的方法及其备份恢复系统
CN107273146A (zh) * 2016-04-08 2017-10-20 中兴通讯股份有限公司 虚拟机升级方法及装置
CN117289956A (zh) * 2023-10-12 2023-12-26 北京首都在线科技股份有限公司 镜像制作方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007002398A2 (en) * 2005-06-24 2007-01-04 Syncsort Incorporated System and method for virtualizing backup images
CN101140542A (zh) * 2007-10-19 2008-03-12 华中科技大学 一种缩短写时拷贝快照写响应时间的方法
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份
CN103092673A (zh) * 2012-11-27 2013-05-08 北京航空航天大学 虚拟机快照处理方法及装置
CN103425550A (zh) * 2013-07-11 2013-12-04 济南万联信息科技有限公司 一种系统克隆方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007002398A2 (en) * 2005-06-24 2007-01-04 Syncsort Incorporated System and method for virtualizing backup images
CN101140542A (zh) * 2007-10-19 2008-03-12 华中科技大学 一种缩短写时拷贝快照写响应时间的方法
CN102576322A (zh) * 2009-08-21 2012-07-11 赛门铁克公司 Nas设备上虚拟磁盘镜像文件的代理备份
US20110252208A1 (en) * 2010-04-12 2011-10-13 Microsoft Corporation Express-full backup of a cluster shared virtual machine
CN103092673A (zh) * 2012-11-27 2013-05-08 北京航空航天大学 虚拟机快照处理方法及装置
CN103425550A (zh) * 2013-07-11 2013-12-04 济南万联信息科技有限公司 一种系统克隆方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461782A (zh) * 2014-12-01 2015-03-25 上海爱数软件有限公司 重定向iSCSI挂载卷读写数据的方法及其备份恢复系统
CN104461782B (zh) * 2014-12-01 2018-07-13 上海爱数信息技术股份有限公司 重定向iSCSI挂载卷读写数据的方法及其备份恢复系统
CN107273146A (zh) * 2016-04-08 2017-10-20 中兴通讯股份有限公司 虚拟机升级方法及装置
CN107273146B (zh) * 2016-04-08 2021-11-19 中兴通讯股份有限公司 虚拟机升级方法及装置
CN117289956A (zh) * 2023-10-12 2023-12-26 北京首都在线科技股份有限公司 镜像制作方法、装置、电子设备和存储介质
CN117289956B (zh) * 2023-10-12 2024-06-11 北京首都在线科技股份有限公司 镜像制作方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN103713970B (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
US10503604B2 (en) Virtual machine data protection
US9940064B2 (en) Live migration of virtual disks
US8417907B2 (en) Synchronizing snapshot volumes across hosts
US9405481B1 (en) Replicating using volume multiplexing with consistency group file
US9348827B1 (en) File-based snapshots for block-based backups
US8689047B2 (en) Virtual disk replication using log files
CN103970585B (zh) 创建虚拟机的方法及装置
US8924664B2 (en) Logical object deletion
US8443160B2 (en) Computer system and data migration method
US8909883B2 (en) Storage system and storage control method
US8712968B1 (en) Systems and methods for restoring images
US11314420B2 (en) Data replica control
CN105446826A (zh) 虚拟机备份、恢复的方法及设备
CN104239166A (zh) 一种对运行中虚拟机实现文件备份的方法
CN102981931A (zh) 虚拟机备份方法及装置
CN105009085A (zh) 信息处理系统、控制程序以及信息处理设备
CN103793258A (zh) 基于管理程序的服务器复制系统及其方法
TWI571749B (zh) 備份系統及其備份方法
CN103164342A (zh) 数据可用性的挂载时协调
US8019953B2 (en) Method for providing atomicity for host write input/outputs (I/Os) in a continuous data protection (CDP)-enabled volume using intent log
CN105824689A (zh) 一种虚拟机存储同步方法
CN106104515A (zh) 利用非易失性存储器的文件系统设计和故障恢复方法
CN104461773A (zh) 一种虚拟机备份去重的方法
CN115098299A (zh) 一种虚拟机的备份方法、容灾方法、装置及设备
US9128973B1 (en) Method and system for tracking re-sizing and re-creation of volumes using modification time

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 100193 5, 36 building, Zhongguancun Software Park, 8 Northeast Northeast Road, Haidian District, Beijing.

Patentee after: Shuguang Cloud Computing Group Co.,Ltd.

Address before: 100193 building 36, Zhongguancun Software Park, 8 North East West Road, Haidian District, Beijing.

Patentee before: DAWNING CLOUD COMPUTING TECHNOLOGY Co.,Ltd.

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100193 5, 36 building, Zhongguancun Software Park, 8 Northeast Northeast Road, Haidian District, Beijing.

Patentee after: Shuguang Cloud Computing Group Co.,Ltd.

Country or region after: China

Address before: 100193 5, 36 building, Zhongguancun Software Park, 8 Northeast Northeast Road, Haidian District, Beijing.

Patentee before: Shuguang Cloud Computing Group Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address