一种基于虚拟机的磁盘镜像文件快照的制作方法和系统的制作方法
【专利摘要】本发明提供了一种基于虚拟机的磁盘镜像文件快照的制作方法和系统,其包括:判断是否存在父磁盘镜像文件;如果存在,则创建空快照文件,并且初始化磁盘镜像文件快照尾协议;判断父磁盘镜像文件是否为稀疏类型;如果为稀疏类型,则初始化磁盘镜像文件快照头协议、填充磁盘镜像文件快照尾协议和头协议、创建并填充块分配映射表以及更新并记录父磁盘镜像文件路径;如果为非稀疏类型,则将非稀疏父磁盘镜像文件填充到空快照文件中;以及更新磁盘镜像文件快照的头协议和尾协议,从而完成快照制作。本发明解决了非稀疏磁盘镜像文件不支持快照以及稀疏磁盘镜像文件支持快照的性能不佳的问题。
【专利说明】一种基于虚拟机的磁盘镜像文件快照的制作方法和系统
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种基于虚拟机的磁盘镜像文件快照的制作方法和系统。
【背景技术】
[0002]XEN是一个基于开源软件组织的虚拟机监控器(即Virtual Machine Monitor简称VMM),可以允许在单一的物理机器上同时运行多个操作系统实例。XEN默认的RAW或是QCOff2 (Qemu-copy-on-write2)磁盘格式由于RAW或QC0W2协议里面不支持跨平台功能而不能跨越多个平台使用,比如这两种格式的虚拟机的文件不能用在VMWare、WindowXP、Mac等电脑上面跨越平台使用,其原因是RAW或QC0W2协议里面不支持这种跨平台功能。并且,现有RAW磁盘文件不支持快照技术,无法定期对虚拟机进行在线备份和恢复,从而会影响客户的数据安全。QC0W2虽然支持虚拟机在线快照,但是经过测试,磁盘IO仍存在性能不高、延时长等缺点。由于RAW磁盘格式不支持快照功能,无论是用DD指令还是QEMU-MG创建出来的RAW盘都不支持在线(离线)快照,原因是RAW格式的磁盘没有做任何协议上的处理。
[0003]进一步地,现有技术的快照备份大部分都是基于差异备份或是增量备份来实现。差异备份或是增量备份是相对于完全备份而言。完全备份指的是,备份系统不会检查自上次备份后档案有没有被更动过,而只是机械性地将每个档案读出、写入,不管档案有没有被修改过。备份全部选中的文件及文件夹,并不依赖文件的存盘属性来确定备份哪些文件。增量备份和完全备份不同,其在做数据备份前会先判断,档案的最后修改时间是否比上次备份的时间晚。如果不是的话,那表示自上次备份后,这档案并没有被更动过,所以这次不需要备份。换句话说,如果修改日期"的确"比上次更动的日期来得晚,那么档案就被更动过,需要备份。差异备份则是针对完全备份:备份上一次的完全备份后发生变化的所有文件。增量备份和差异备份这两种技术都存在自身的缺点。增量备份的缺点是,若要恢复所有文件,必须所有增量备份都可用,这就需要很长的时间来还原特定文件,因为必须搜索多个备份集以找到最新版本的文件。差异备份的缺点是,由于可能必须还原最后一次的差异和完整备份,还原所有文件可能需要相当长的时间。
[0004]因此,在云计算环境下,期望能够实现虚拟机在业务不中断的情况下进行任何时候的备份和恢复操作。
【发明内容】
[0005]本发明针对上述问题,提出了一种基于虚拟机的磁盘镜像文件快照的制作方法和系统,其实现了虚拟机在业务不中断的情况下进行任何时候的备份和恢复操作。
[0006]在一个方面,本发明提供了一种基于虚拟机的磁盘镜像文件快照的制作方法,其包括以下步骤:判断是否存在父磁盘镜像文件;如果存在,则创建空快照文件,并且初始化磁盘镜像文件快照尾协议;判断父磁盘镜像文件是否为稀疏类型;如果父磁盘镜像文件为稀疏类型,则依序进行下列步骤:初始化磁盘镜像文件快照头协议、填充磁盘镜像文件快照尾协议、填充磁盘镜像文件快照头协议、创建并填充块分配映射表、以及更新并记录父磁盘镜像文件路径;如果父磁盘镜像文件为非稀疏类型,则将非稀疏父磁盘镜像文件填充到空快照文件中;以及更新磁盘镜像文件快照的头协议和尾协议,并关闭磁盘文件快照,从而完成快照制作。
[0007]在另一个方面,本发明提供了一种基于虚拟机的磁盘镜像文件快照的制作系统,其包括:父磁盘镜像文件检查模块,用于判断是否存在父磁盘镜像文件;快照文件创建模块,用于在父磁盘镜像文件检查模块判断存在父磁盘镜像文件时,创建空快照文件,并且初始化磁盘镜像文件快照尾协议;父磁盘镜像文件类型判断模块,用于判断父磁盘镜像文件为稀疏类型还是非稀疏类型;稀疏文件处理模块,用于在父磁盘镜像文件类型判断模块判断父磁盘镜像文件为稀疏类型时,初始化磁盘镜像文件快照头协议,填充磁盘镜像文件快照尾协议,填充磁盘镜像文件快照头协议,创建并填充块分配映射表,以及更新并记录父磁盘镜像文件路径;非稀疏文件处理模块,用于在父磁盘镜像文件类型判断模块判断父磁盘镜像文件为非稀疏类型时,将非稀疏父磁盘镜像文件填充到空快照文件中;以及快照协议更新单元,用于更新磁盘镜像文件快照的头协议和尾协议,并关闭磁盘文件快照,从而完成快照制作。
[0008]本发明提供的基于虚拟机的磁盘镜像文件快照的制作方法和系统,解决了非稀疏磁盘镜像文件不支持快照以及稀疏磁盘镜像文件支持快照的性能不佳的缺陷,并支持毫秒级别的快照操作,从而实现了虚拟机在业务不中断的情况下进行任何时候的备份和恢复操作。
【专利附图】
【附图说明】
[0009]下面将参照附图描述本发明的具体实施例,其中:
[0010]图1为本发明实施例的基于虚拟机的磁盘镜像文件快照的制作方法的流程示意图。
[0011]图2为本发明实施例的基于虚拟机的磁盘镜像文件快照的制作系统的结构示意图。
【具体实施方式】
[0012]为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。
[0013]为解决XEN虚拟机在业务不中断的情况下进行在线备份和恢复的问题,基于稀疏磁盘镜像和非稀疏磁盘镜像提出了本发明。图1示出了本发明实施例的基于虚拟机的磁盘镜像文件快照的制作方法的流程示意图。
[0014]首先,在步骤SlOl中,判断是否存在父磁盘镜像文件。如果存在,则执行步骤S102,创建空快照文件,并且初始化磁盘镜像文件快照尾协议。如果不存在,则返回错误。
[0015]接着,在步骤S103中,判断父磁盘镜像文件是否为稀疏类型。如果父磁盘镜像文件为稀疏类型,则依序进行下列步骤S104-S108:初始化磁盘镜像文件快照头协议(S104);填充磁盘镜像文件快照尾协议(S105);填充磁盘镜像文件快照头协议(S106);创建并填充
块分配映射表(S107);更新并记录父磁盘镜像文件路径(S108)。如果父磁盘镜像文件为非稀疏类型,则执行步骤SI 14,将非稀疏父磁盘镜像文件填充到空快照文件中。
[0016]最后,执行步骤S120,更新磁盘镜像文件快照的头协议和尾协议;并关闭磁盘文件快照,从而完成快照制作。
[0017]在本实施例中,磁盘镜像文件快照的格式协议如下:稀疏和非稀疏磁盘均由磁盘镜像头协议和磁盘镜像尾部协议构成,磁盘镜像的数据均被包裹在协议的地址中。协议内容的示例如下。
[0018]比如,磁盘镜像的头协议可如下所示:
【权利要求】
1.一种基于虚拟机的磁盘镜像文件快照的制作方法,其特征在于包括以下步骤: 判断是否存在父磁盘镜像文件(SlOl);如果存在,则创建空快照文件,并且初始化磁盘镜像文件快照尾协议(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)判断不存在 父镜盘像文件,则返回错误。
【文档编号】G06F12/02GK103713970SQ201310751391
【公开日】2014年4月9日 申请日期:2013年12月31日 优先权日:2013年12月31日
【发明者】李立, 王军林, 唐明, 徐博, 成书晟 申请人:曙光云计算技术有限公司