一种虚拟机镜像级备份后的多种粒度恢复方法

文档序号:6635304阅读:503来源:国知局
一种虚拟机镜像级备份后的多种粒度恢复方法
【专利摘要】本发明涉及一种虚拟机镜像级备份后的多种粒度恢复方法,包括以下步骤:1)虚拟机整机备份,使用服务器虚拟化平台的API对需备份的虚拟机进行快照,使虚拟机在某一个时间点产生一个完全可用的拷贝镜像;2)组织和分析已备份的虚拟机镜像文件,备份服务器根据不同粒度方式对虚拟机进行恢复,其中粒度方式分为:整机、硬盘、文件、应用、分区。与现有技术相比,本发明在一次性备份的后能够满足各种粒度的恢复,从而达到高效、精确的恢复有效数据,减少不同程度的数据破坏、丢失或故障所造成的损失,减少有效数据的恢复时间。
【专利说明】一种虚拟机镜像级备份后的多种粒度恢复方法

【技术领域】
[0001]本发明涉及虚拟机数据保护和灾难恢复技术,尤其是涉及一种虚拟机镜像级备份后的多种粒度恢复方法。

【背景技术】
[0002]服务器虚拟化是指将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器(虚拟机),我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/o等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力。
[0003]服务器虚拟化技术将每个虚拟机与服务器硬件及其他虚拟机相隔离,确保在某个虚拟机崩溃时不会影响其他虚拟机,使每个虚拟机可以装上自己的管理程序,成为独立的服务器,供客户管理和使用。虽然虚拟机相互之间不会泄露数据,而且应用程序只能通过配置的网络连接进行通信,但是不是所有的管理程序都是完美无缺,没有安全漏洞的,而这些安全漏洞和缺陷则有可能成为电脑黑客的攻击服务器的着手点。他们通过这些安全漏洞和缺陷会顺利地进入服务器,进行一些非法操作。更重要的是来自客户本身的操作失误导致的服务器上的数据丢失,而这种数据丢失将可能给应用带来无法挽回的损失。
[0004]服务器根据遭受到的数据破坏、丢失或者故障的不同程度,为了快速高效的恢复服务器状态,采用的主要保护技术是根据不同的粒度结构进行保护,主要有:整机、硬盘、分区、应用、文件等多种粒度,为了满足这些不同粒度的备份通常需要采用多种备份方式。
[0005]在虚拟化文件备份场景下,如果某一虚拟机只进行文件方式的备份,当操作系统上的应用改变了文件内容,用户操作以及病毒破坏导致了重要的数据丢失或破坏,系统遭到病毒入侵,C盘感染了病毒,D盘被格式化,E盘部分文件被篡改了导致无法打开等更种更样的情况时,而该服务器需要将整个系统和数据都恢复到备份时的状态,此时采用文件恢复方式使整个过程花费了相当长的时间,无法满足用户的RT0(Recovery Time Objective恢复时间目标)。
[0006]面对虚拟机操作系统遭受破坏和虚拟机的设备连接故障等严重的问题,服务器虚拟化厂商VMware的整机保护技术使用了 ESX Server代理服务器技术,不需要在备份机上安装代理即可恢复出整个虚拟机。虽然整机保护技术解决了严重的虚拟机破坏问题,但是,对于可预知的错误操作导致的数据丢失,通过整机保护的恢复方式却是一种效率非常低的做法,举个例子,假如虚拟机VMl已经进行了整机备份,过了一段时间,VMl上的A文件误删除了,此时需要恢复A,使用整机保护恢复的过程是:从备份副本中恢复出VMl整机副本,从VMl整机副本中取出A文件,复制到VMl上。
[0007]为了满足上述场景,服务器虚拟化技术下的虚拟机多种粒度的保护,需要有一种高效的保护技术在一次性备份后满足各种粒度的恢复,从而达到高效、精确地恢复有效数据,减少不同程度的数据破坏、丢失或故障所造成的损失。


【发明内容】

[0008]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种虚拟机镜像级备份后的多种粒度恢复方法,在一次性备份的后能够满足各种粒度的恢复,从而达到高效、精确的恢复有效数据,减少不同程度的数据破坏、丢失或故障所造成的损失,减少有效数据的恢复时间。
[0009]本发明的目的可以通过以下技术方案来实现:
[0010]一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,包括以下步骤:
[0011]I)虚拟机整机备份,使用服务器虚拟化平台的API对需备份的虚拟机进行快照,使虚拟机在某一个时间点产生一个完全可用的拷贝镜像;
[0012]2)组织和分析已备份的虚拟机镜像文件,备份服务器根据不同粒度方式对虚拟机进行恢复,其中粒度方式分为:
[0013]整机:包含虚拟机的硬件配置信息、硬盘存储位置、系统状态和硬盘数据;
[0014]硬盘:包含虚拟机所配置硬盘数量、主从配置信息和硬盘数据;
[0015]文件:包含虚拟机文件系统上的所有文件和目录;
[0016]应用:包含安装在虚拟机文件系统上的应用程序信息;
[0017]分区:包含虚拟机文件系统下的分区大小、分区位置、扇区、块的分区信息,以及分区上的存储数据。
[0018]所述的步骤I)中的虚拟机整机备份具体步骤如下:
[0019](101)备份服务器指定选定要备份的虚拟机并建立备份任务;
[0020](102)对虚拟机做快照,检测当前虚拟机是否处于关机状态,如果处于关机状态,则直接向虚拟服务器发出为该虚拟机做快照的命令;若虚拟机处于开机状态,则发出应用静默操作,期间使用虚拟机文件系统内部的应用快照组件完成数据从内存刷到磁盘的操作,完成静默操作以后,再为该虚拟机做磁盘快照;
[0021](103)读取虚拟机镜像文件,虚拟机完成快照操作以后将会产生磁盘快照镜像文件,备份服务器通过对该镜像文件进行读取完成备份和对该虚拟机的配置信息文件进行读取完成备份;
[0022](104)传输备份数据到备份服务器,并在备份服务器上完成数据的组织和存储;
[0023](105)建立备份的元数据管理,将组织后的备份数据进行有效的元数据管理,建立索引和存储分配操作;
[0024](106)虚拟机备份数据读取完成和元数据组织完成,整个虚拟机完成备份过程。
[0025]所述的步骤2)中的备份服务器根据不同粒度方式对虚拟机进行恢复具体步骤如下:
[0026](201)开始恢复,备份服务器选择整机级、硬盘级、文件级、应用级和分区级的其中一种方式进行恢复,若选择整机级,进行步骤(202),若选择硬盘级,执行步骤(203),若选择文件级和分区级,执行步骤(204),若选择应用级,执行步骤(205);
[0027](202)进行整机恢复,步骤(201)中备份服务器选择整机级恢复方式并指定要恢复的备份虚拟机建立恢复任务,
[0028](203)进行硬盘恢复,步骤(201)中备份服务器选择硬盘级恢复方式,硬盘在VMWare虚拟机中的表现形式为VMDK文件,指定要恢复的虚拟机VMDK文件并建立恢复任务;
[0029](204)进行文件、目录、分区恢复,步骤(201)中备份服务器选择文件级恢复方式并指定要恢复的文件、目录或分区建立恢复任务;
[0030](205)进行应用级恢复,步骤(201)中备份服务器选择应用级恢复方式并指定要恢复的应用数据建立恢复任务。
[0031]所述的整机恢复具体步骤如下:
[0032]al)读取备份服务器元数据,选定要恢复的备份虚拟机需要通过备份服务器对应记录的元数据信息来获取,获取的信息包括虚拟机元数据文件和配置信息,所述虚拟机元数据文件包括11种元数据文件中的vmx、vmxf和nvram配置文件,所述配置信息包括虚拟机大小、存储位置以及系统状态信息;
[0033]bl)创建虚拟机,读取的虚拟机元数据文件和配置信息,用于创建虚拟机配置信息和备份时一样的虚拟机,并指定存放该虚拟机的存储位置,创建虚拟机时采用覆盖的方式进行,其过程为重写已有虚拟机配置和虚拟机数据的方式;
[0034]Cl)读取备份服务器数据,指定虚拟机的存储位置是虚拟机硬盘数据写入位置,通过步骤bl)创建相应的VMDK硬盘文件,并从备份服务器上读取硬盘数据写入到该虚拟机的VMDK硬盘文件中,其写入采用VMWARE的VDDK方式以扇区大小和扇区位置进行;
[0035]dl)完成整机恢复,VMDK硬盘数据写入完成以后,需要根据步骤al)中所述的系统状态信息完成虚拟机的状态恢复。
[0036]所述的硬盘恢复具体为:
[0037]a2)读取备份服务器元数据,该元数据中包括11种元数据文件中的VMDK硬盘文件;
[0038]b2)创建VMDK硬盘文件,指定要恢复的虚拟机VMDK硬盘文件恢复路径,根据元数据信息获取到硬盘文件大小,并在恢复路径上创建指定大小的VMDK硬盘文件或者使用已存在的VMDK硬盘文件;
[0039]c2)读取备份服务器数据,其VMDK恢复路径使用步骤b2)所述的恢复路径;
[0040]d2)修改虚拟机硬盘配置信息,VMDK硬盘文件完成以后,通过修改虚拟机硬盘配置信息,将步骤c2)中恢复完成的VMDK文件路径指定到相应的虚拟机上,则该虚拟机启动以后将附加上该VMDK所记录的磁盘数据并正常进行读取。
[0041]所述的文件、目录、分区恢复具体步骤如下:
[0042]a3)代理客户端,文件恢复需要指定要恢复到哪个PC客户端上,其PC客户端需要安装代理客户端程序从而完成备份服务器传输过来的数据接收和文件写入;
[0043]b3)读取备份服务器元数据,该元数据信息包括11种数据文件中的VMX虚拟机配置文件,该VMX虚拟机配置文件包含VMDK硬盘数据的层级关系信息,通过VDDK读取父级VMDK将一块硬盘数据以扇区的方式完整取出数据;
[0044]c3)解析虚拟机镜像文件系统,扇区数据是虚拟机镜像的硬盘数据,其包含硬盘分区结构和文件系统分区结构,其过程包括读取DPT、硬盘分区引导信息MBR或者GPT的组织结构来引导找到文件系统分区,通过分区找到文件系统格式,包括NTFS或EXT3 ;
[0045]d3)读取指定文件,NTFS文件系统分区包括该文件系统下的分区信息、文件属性和数据,NTFS以MFT文件来记录分区各个File Record的信息,通过RunList来找到数据,RunList中保存了多个Run,通过读取Run获取到偏移取出数据;
[0046]e3)完成目录和分区的恢复,步骤d3)所述的File Record包括文件、目录和分区属性,其基本文件属性信息中记录着该File Record是文件或是目录或者分区,在NTFS文件系统中的通过目录的File Record记录的FileReference属性找到该目录下的子目录和文件,通过步骤d3)将目录下的子目录和文件循环读取可以完成对该目录所有数据的恢复。
[0047]所述的应用级恢复具体过程如下:
[0048]a4)代理客户端,恢复需要指定要恢复到哪个PC客户端上,其PC客户端需要安装代理客户端程序从而完成备份服务器传输过来的数据接收和文件写入;
[0049]b4)对应用信息文件的解析;
[0050]c4)读取应用的数据文件和配置信息文件,应用信息文件包含SQL Server的数据库实例名称和实例中包含的数据库名称以及数据库文件位置;
[0051]d4)完成应用数据的恢复。
[0052]与现有技术相比,本发明具有使用了快照技术对虚拟机进行整机备份保证了应用数据的一致性,通过对虚拟机整机文件进行管理和解析的方式实现了虚拟机备份后可以满足整机级、硬盘级、分区级、应用级和文件级等多种粒度恢复方法,简化了虚拟机遭受破坏时恢复流程,提高了数据恢复的精确性和效率。

【专利附图】

【附图说明】
[0053]图1为虚拟机镜像级备份多种粒度恢复结构示意图
[0054]图2为虚拟机镜像级备份流程图;
[0055]图3为虚拟机镜像级备份后的多种粒度恢复流程图。c

【具体实施方式】
[0056]下面结合本发明中的附图,对发明中使用的具体技术和步骤进行实例描述,以进行更加详细完整的说明。所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的其他所有实施例,都属于本发明的保护范围。
[0057]本发明旨在对服务器虚拟化技术下的虚拟机多种粒度的保护,提出一种高效的保护技术在一次性备份的后能够满足各种粒度的恢复,主要包括以下步骤:
[0058]1.虚拟机整机备份,如图2所示,VMWare虚拟服务器平台上的虚拟机通过应用系统业务架构、文件系统架构和虚拟硬件架构来构成;VMware虚拟机组织一台虚拟机元数据包括11种元数据文件:.vmx(配置文件)、.vmxf (附件的配置文件)、.vmdk(磁盘文件)、.flat.vmdk(预先分配的二进制格式的磁盘文件)、.vswp (交换文件)、.nvram(保存虚拟机的B1S信息)、.vmss (suspend文件,虚拟机挂起时会产生)、.log(日志文件)、.vmsd(存放快照的元数据和其他信息)、.vmsn (快照数据文件)和.delta, vmdk (快照文件即redo-log文件),其中.vmx中配置文件中记录了主磁盘文件.vmdk,通过VMWare开放API的VDDK来读取主磁盘文件时,VMWare将为该操作找到主磁盘文件的附属磁盘文件,此时VDDK读取vmdk所得到的块数据就相当于读取一块硬盘的块数据。
[0059]某台虚拟机的备份过程如图3所示,包括以下几个步骤:
[0060](I)备份服务器指定选定要备份的虚拟机并建立备份任务,通过VDDK连接和登录虚拟服务器平台 ESXi Server (VM Host 或 VCenter)。
[0061](2)虚拟机做快照,检测当前虚拟机是否处于关机状态,如果处于关机状态,则直接向虚拟服务器发出为该虚拟机做快照的命令;若虚拟机处于开机状态,为了保证应用数据一致性,则发出应用静默操作,期间会使用虚拟机文件系统内部的应用快照组件完成数据从内存刷到磁盘的操作,如NTFS文件系统会通过调用VSS来保证应用数据的一致性,虚拟机完成静默操作以后,再为该虚拟机做磁盘快照。
[0062](3)读取虚拟机镜像文件,虚拟机完成快照操作以后将会产生磁盘快照镜像文件,新写入的数据不会被包含在该镜像文件中,备份服务器通过对该镜像文件进行读取完成备份和对该虚拟机的配置信息文件进行读取完成备份。
[0063](4)传输备份数据到备份服务器,通过TCP/IP连接或FC_SAN方式将备份的数据读取到备份服务器上,并在备份服务器上完成数据的组织和存储。
[0064](5)建立备份的元数据管理,将组织后的备份数据进行有效的元数据管理,建立索引和存储分配等操作。
[0065](6)虚拟机备份数据读取完成和元数据组织完成,整个虚拟机完成备份过程。
[0066]2.通过步骤I中一次备份完成后的虚拟机整机,其恢复可以采用如图3所示的整机级、硬盘级、文件级、分区和应用级多种粒度方式进行恢复,其具体恢复步骤如下:
[0067](I)开始恢复,备份服务器选择整机级、硬盘级、文件级、分区级和应用级的其中一种方式进行恢复;
[0068](2)整机恢复,步骤(I)中备份服务器选择整机级恢复方式并指定要恢复的备份虚拟机建立恢复任务,通过VDDK连接和登录虚拟服务器平台ESXi SerVer (VM Host或VCemer);
[0069]a)读取备份服务器元数据,步骤2)所述的选定要恢复的备份虚拟机需要通过备份服务器对应记录的元数据信息来获取,获取的信息包括虚拟机元数据文件和配置信息,其信息包括11种元数据文件中的vmx、vmxf和nvram配置文件,配置信息包括虚拟机大小和存储位置以及系统状态信息;
[0070]b)创建虚拟机,步骤a)所述读取的虚拟机元数据和配置信息,用于创建虚拟机配置信息和备份时一样的虚拟机,并指定存放该虚拟机的存储位置,创建虚拟机时可以采用覆盖的方式进行,其过程相当于重写已有虚拟机配置和虚拟机数据的方式;
[0071]c)读取备份服务器数据,步骤b)所述指定虚拟机的存储位置是虚拟机硬盘数据写入位置,通过步骤b)创建相应的VMDK硬盘文件,并从备份服务器上读取硬盘数据写入到该虚拟机的VMDK硬盘文件中,其写入采用VMWARE的VDDK方式以扇区大小和扇区位置进行;
[0072]d)完成整机恢复,步骤c)所述的VMDK硬盘数据写入完成以后,需要根据a)中所述的系统状态信息完成虚拟机的状态恢复。
[0073](3)硬盘恢复,步骤⑴中备份服务器选择硬盘级恢复方式,硬盘在VMWare虚拟机中的表现形式为VMDK文件,指定要恢复的虚拟机VMDK文件并建立恢复任务,通过VDDK连接和登录虚拟服务器平台ESXi (VM Host或VCenter);
[0074]e)执行步骤a),步骤a)所述的元数据信息包括11种元数据文件中的VMDK硬盘文件;
[0075]f)创建VMDK硬盘文件,步骤(3)指定要恢复的虚拟机VMDK硬盘文件恢复路径,根据步骤a)所述的元数据信息可以获取到硬盘文件大小,并在恢复路径上创建指定大小的VMDK硬盘文件或者使用已存在的VMDK硬盘文件;
[0076]g)执行步骤C,其VMDK恢复路径使用步骤f)所述的恢复路径;
[0077]h)修改虚拟机硬盘配置信息,VMDK硬盘文件完成以后,通过修改虚拟机硬盘配置信息,将步骤g)中恢复完成的VMDK文件路径指定到相应的虚拟机上,则该虚拟机启动以后将附加上该VMDK所记录的磁盘数据并正常进行读取;
[0078]i)完成硬盘恢复。
[0079](4)文件、目录、分区恢复,步骤(I)中备份服务器选择文件级恢复方式并指定要恢复的文件、目录或分区建立恢复任务;
[0080]j)代理客户端,步骤(4)所述的文件恢复需要指定要恢复到哪个PC客户端上,其PC客户端需要安装代理客户端程序从而完成备份服务器传输过来的数据接收和文件写入。
[0081]k)执行步骤a),步骤a)所述的元数据信息包括11种数据文件中的VMX虚拟机配置文件,VMX文件包含VMDK硬盘数据的层级关系信息,通过VDDK读取父级VMDK可以将一块硬盘数据以扇区的方式完整取出数据;
[0082]I)解析虚拟机镜像文件系统,步骤k)所述的扇区数据是虚拟机镜像的硬盘数据,其包含硬盘分区结构和文件系统分区结构,其过程包括读取DPT(Disk Partit1nTable,硬盘分区表)、硬盘分区引导信息MBR(Master Boot Record,主引导记录)或者GPT(Globally Unique Identifier Partit1n Table Format,全局唯一标识分区表)的组织结构来引导找到文件系统分区,通过分区找到文件系统格式比如NTFS或EXT3 ;
[0083]m)读取指定文件,步骤I)所述找到的NTFS文件系统分区,包括该文件系统下的分区信息、文件属性和数据,NTFS以MFT(Master File Table,主文件表)文件来记录分区各个File Record (文件记录)的信息,分区中的所有文件都由至少一个文件记录来描述,MFT位于分区起始位置,对于使用多个文件记录的文件,其第一个文件记录叫基本文件记录,其余的叫做扩展文件记录。每个File Record都包含基本文件属性信息和扩展文件属性信息,基本文件属性中记录着文件是隐藏、压缩、加密等属性。在File Record中有一个$DATA属性即储存数据的属性,该属性根据数据量大小一般又分为常驻属性和非常驻属性,通常的理解是常驻属性是指数据存放在FiIe Record中,非常驻属性是指数据存放在File Record外部,而对于带压缩属性的数据其$DATA属性都是为非常驻属性,需要通过RunList (运行流记录或运行流列表)来找到数据,RunList中保存了多个Run (运行流),通过读取Run获取到偏移取出数据。
[0084]η)完成目录和分区的恢复,步骤m)所述的File Record包括文件、目录和分区属性,其基本文件属性信息中记录着该File Record是文件或是目录或者分区,在NTFS文件系统中的通过目录的File Record记录的FileReference属性可以找到该目录下的子目录和文件,通过步骤m)将目录下的子目录和文件循环读取可以完成对该目录所有数据的恢复。
[0085](5)应用级恢复,步骤(I)中备份服务器选择应用级恢复方式并指定要恢复的应用数据建立恢复任务;
[0086]ο)代理客户端,步骤(5)所述的恢复需要指定要恢复到哪个PC客户端上,其PC客户端需要安装代理客户端程序从而完成备份服务器传输过来的数据接收和文件写入。
[0087]P)执行步骤k)、I)、m)完成应用信息文件的解析,以SQL Server业务系统为例,SQL Server应用信息文件存储在系统分区路径为X:\Windows\System32\config\S0FTWARE文件中;
[0088]q)读取应用的数据文件和配置信息文件,步骤P)所述的应用信息文件包含SQLServer的数据库实例名称和实例中包含的数据库名称以及数据库文件位置,根据步骤m)、η)的描述,备份服务器可以读取到数据库文件的数据和配置文件的数据;
[0089]r)完成应用数据的恢复,步骤q)所述文件数据,在虚拟机备份时通过开机静默应用的处理保证了数据恢复后的一致性问题,所以当文件数据传输到代理客户端并完成恢复操作后,可以保证数据是正确和可用性。
[0090]3.综合步骤I虚拟机备份操作和步骤2虚拟机多种粒度恢复操作,虚拟机整机备份可以满足整机级、硬盘级、分区级、应用级和文件级等多种粒度的恢复方式,简化了虚拟机遭受破坏时恢复流程,提高了数据恢复的精确性和效率。
【权利要求】
1.一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,包括以下步骤: 1)虚拟机整机备份,使用服务器虚拟化平台的API对需备份的虚拟机进行快照,使虚拟机在某一个时间点产生一个完全可用的拷贝镜像; 2)组织和分析已备份的虚拟机镜像文件,备份服务器根据不同粒度方式对虚拟机进行恢复,其中粒度方式分为: 整机:包含虚拟机的硬件配置信息、硬盘存储位置、系统状态和硬盘数据; 硬盘:包含虚拟机所配置硬盘数量、主从配置信息和硬盘数据; 文件:包含虚拟机文件系统上的所有文件和目录; 应用:包含安装在虚拟机文件系统上的应用程序信息; 分区:包含虚拟机文件系统下的分区大小、分区位置、扇区、块的分区信息,以及分区上的存储数据。
2.根据权利要求1所述的一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,所述的步骤I)中的虚拟机整机备份具体步骤如下: (101)备份服务器指定选定要备份的虚拟机并建立备份任务; (102)对虚拟机做快照,检测当前虚拟机是否处于关机状态,如果处于关机状态,则直接向虚拟服务器发出为该虚拟机做快照的命令;若虚拟机处于开机状态,则发出应用静默操作,期间使用虚拟机文件系统内部的应用快照组件完成数据从内存刷到磁盘的操作,完成静默操作以后,再为该虚拟机做磁盘快照; (103)读取虚拟机镜像文件,虚拟机完成快照操作以后将会产生磁盘快照镜像文件,备份服务器通过对该镜像文件进行读取完成备份和对该虚拟机的配置信息文件进行读取完成备份; (104)传输备份数据到备份服务器,并在备份服务器上完成数据的组织和存储; (105)建立备份的元数据管理,将组织后的备份数据进行有效的元数据管理,建立索引和存储分配操作; (106)虚拟机备份数据读取完成和元数据组织完成,整个虚拟机完成备份过程。
3.根据权利要求2所述的一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,所述的步骤2)中的备份服务器根据不同粒度方式对虚拟机进行恢复具体步骤如下: (201)开始恢复,备份服务器选择整机级、硬盘级、文件级、应用级和分区级的其中一种方式进行恢复,若选择整机级,进行步骤(202),若选择硬盘级,执行步骤(203),若选择文件级和分区级,执行步骤(204),若选择应用级,执行步骤(205); (202)进行整机恢复,步骤(201)中备份服务器选择整机级恢复方式并指定要恢复的备份虚拟机建立恢复任务, (203)进行硬盘恢复,步骤(201)中备份服务器选择硬盘级恢复方式,硬盘在VMWare虚拟机中的表现形式为VMDK文件,指定要恢复的虚拟机VMDK文件并建立恢复任务; (204)进行文件、目录、分区恢复,步骤(201)中备份服务器选择文件级恢复方式并指定要恢复的文件、目录或分区建立恢复任务; (205)进行应用级恢复,步骤(201)中备份服务器选择应用级恢复方式并指定要恢复的应用数据建立恢复任务。
4.根据权利要求3所述的一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,所述的整机恢复具体步骤如下: al)读取备份服务器元数据,选定要恢复的备份虚拟机需要通过备份服务器对应记录的元数据信息来获取,获取的信息包括虚拟机元数据文件和配置信息,所述虚拟机元数据文件包括11种元数据文件中的vmx、vmxf和nvram配置文件,所述配置信息包括虚拟机大小、存储位置以及系统状态信息; bl)创建虚拟机,读取的虚拟机元数据文件和配置信息,用于创建虚拟机配置信息和备份时一样的虚拟机,并指定存放该虚拟机的存储位置,创建虚拟机时采用覆盖的方式进行,其过程为重写已有虚拟机配置和虚拟机数据的方式; Cl)读取备份服务器数据,指定虚拟机的存储位置是虚拟机硬盘数据写入位置,通过步骤bl)创建相应的VMDK硬盘文件,并从备份服务器上读取硬盘数据写入到该虚拟机的VMDK硬盘文件中,其写入采用VMWARE的VDDK方式以扇区大小和扇区位置进行; dl)完成整机恢复,VMDK硬盘数据写入完成以后,需要根据步骤al)中所述的系统状态信息完成虚拟机的状态恢复。
5.根据权利要求3所述的一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,所述的硬盘恢复具体为: a2)读取备份服务器元数据,该元数据中包括11种元数据文件中的VMDK硬盘文件;b2)创建VMDK硬盘文件,指定要恢复的虚拟机VMDK硬盘文件恢复路径,根据元数据信息获取到硬盘文件大小,并在恢复路径上创建指定大小的VMDK硬盘文件或者使用已存在的VMDK硬盘文件; c2)读取备份服务器数据,其VMDK恢复路径使用步骤b2)所述的恢复路径;d2)修改虚拟机硬盘配置信息,VMDK硬盘文件完成以后,通过修改虚拟机硬盘配置信息,将步骤c2)中恢复完成的VMDK文件路径指定到相应的虚拟机上,则该虚拟机启动以后将附加上该VMDK所记录的磁盘数据并正常进行读取。
6.根据权利要求3所述的一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,所述的文件、目录、分区恢复具体步骤如下: a3)代理客户端,文件恢复需要指定要恢复到哪个PC客户端上,其PC客户端需要安装代理客户端程序从而完成备份服务器传输过来的数据接收和文件写入; b3)读取备份服务器元数据,该元数据信息包括11种数据文件中的VMX虚拟机配置文件,该VMX虚拟机配置文件包含VMDK硬盘数据的层级关系信息,通过VDDK读取父级VMDK将一块硬盘数据以扇区的方式完整取出数据; c3)解析虚拟机镜像文件系统,扇区数据是虚拟机镜像的硬盘数据,其包含硬盘分区结构和文件系统分区结构,其过程包括读取DPT、硬盘分区引导信息MBR或者GPT的组织结构来引导找到文件系统分区,通过分区找到文件系统格式,包括NTFS或EXT3; d3)读取指定文件,NTFS文件系统分区包括该文件系统下的分区信息、文件属性和数据,NTFS以MFT文件来记录分区各个File Record的信息,通过RunList来找到数据,RunList中保存了多个Run,通过读取Run获取到偏移取出数据; e3)完成目录和分区的恢复,步骤d3)所述的File Record包括文件、目录和分区属性,其基本文件属性信息中记录着该File Record是文件或是目录或者分区,在NTFS文件系统中的通过目录的File Record记录的FileReference属性找到该目录下的子目录和文件,通过步骤d3)将目录下的子目录和文件循环读取可以完成对该目录所有数据的恢复。
7.根据权利要求3所述的一种虚拟机镜像级备份后的多种粒度恢复方法,其特征在于,所述的应用级恢复具体过程如下: a4)代理客户端,恢复需要指定要恢复到哪个PC客户端上,其PC客户端需要安装代理客户端程序从而完成备份服务器传输过来的数据接收和文件写入;b4)对应用信息文件的解析; c4)读取应用的数据文件和配置信息文件,应用信息文件包含SQL Server的数据库实例名称和实例中包含的数据库名称以及数据库文件位置;d4)完成应用数据的恢复。
【文档编号】G06F11/14GK104407938SQ201410674598
【公开日】2015年3月11日 申请日期:2014年11月21日 优先权日:2014年11月21日
【发明者】郭家乐 申请人:上海爱数软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1