CN112965856A - 一种基于备份数据的快速细粒度恢复方法及装置 - Google Patents

一种基于备份数据的快速细粒度恢复方法及装置 Download PDF

Info

Publication number
CN112965856A
CN112965856A CN202110206773.5A CN202110206773A CN112965856A CN 112965856 A CN112965856 A CN 112965856A CN 202110206773 A CN202110206773 A CN 202110206773A CN 112965856 A CN112965856 A CN 112965856A
Authority
CN
China
Prior art keywords
directory
file
data
disk
backup
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
CN202110206773.5A
Other languages
English (en)
Other versions
CN112965856B (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.)
Shanghai Yingfang Software Co ltd
Original Assignee
Shanghai Yingfang Software 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 Shanghai Yingfang Software Co ltd filed Critical Shanghai Yingfang Software Co ltd
Priority to CN202110206773.5A priority Critical patent/CN112965856B/zh
Publication of CN112965856A publication Critical patent/CN112965856A/zh
Application granted granted Critical
Publication of CN112965856B publication Critical patent/CN112965856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于备份数据快速细粒度恢复方法及装置,该方法包括:步骤S1,备份虚拟机或物理机的磁盘数据至备份服务器,将其存储于指定目录下,并生成配置文件;步骤S2,在指定目录下创建fuse映射目录、写入临时目录和挂载目录;步骤S3,当选择备份数据恢复时,运行fuse服务,将fuse映射目录与备份数据目录进行映射,截取fuse映射目录下的IO读写操作,将写文件操作重定向至写入临时目录,将读文件操作重定向至备份数据目录;步骤S4,查询临时磁盘文件对应的磁盘分区和类型,遍历临时磁盘文件,将每个分区作为目录挂载在挂载目录下;步骤S5,选择挂载目录下待恢复的文件或目录,并将选择的数据发送至目标机器。

Description

一种基于备份数据的快速细粒度恢复方法及装置
技术领域
本发明涉及计算机容灾备份技术领域,特别是涉及一种基于生产主机备份数据的快速细粒度恢复方法及装置。
背景技术
随着计算机技术的高速发展和普及,各行各业对计算机的依赖程度也越来越高,同时计算机的数据及安全也越来越重要。
然而,很多服务器不可避免地会存在一些安全漏洞或缺陷,一些电脑黑客可能通过这些安全漏洞或缺陷进入服务器,进行非法操作。或者管理员的一些误操作等导致数据丢失、损坏的现象也时有发生。
为预防一些不可预知的事件导致服务器重要数据的丢失,就需要针对服务器增加备份保护。通常针对生产主机备份磁盘文件及元数据信息,灾难发生时,通过备份数据创建虚机并恢复数据,或者通过备份数据裸机恢复为物理机。但是当虚机磁盘较大时,整机方式恢复虚机效率较低,满足不了一些重要数据的即时性要求。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于备份数据的快速细粒度恢复方法及装置,以在灾难发生时,能够基于生产主机备份数据快速精确地恢复重要的数据文件,从而克服普通备份恢复方式下的耗时缺陷,减少有效数据的恢复时间,提供更高效的灾备保障。
为达上述目的,本发明提出一种基于备份数据快速细粒度恢复方法,应用于备份服务器,包括如下步骤:
步骤S1,备份生产环境下虚拟机或物理机的磁盘数据至所述备份服务器,将其存储于指定的备份数据目录下,并在所述指定的备份数据目录下生成配置文件;
步骤S2,在备份数据目录下创建fuse映射目录、写入临时目录和挂载目录;
步骤S3,当选择备份数据进行恢复时,在所述备份服务器上运行fuse服务,将所述fuse映射目录与备份数据的数据目录进行映射,截取fuse映射目录下的IO读写操作,将写文件操作重定向至所述写入临时目录,将读文件操作重定向至所述备份数据目录;
步骤S4,查询所述fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有临时磁盘文件,将每一个分区作为一个目录挂载在所述挂载目录下;
步骤S5,选择所述挂载目录下待恢复的文件或目录,并将选择的数据发送至目标机器。
优选地,所述配置文件存储生产坏境下生产机器的配置信息,其与备份数据在同目录下,在备份的同时实现配置保存。
优选地,于步骤S1中,备份方式包括全量、增量和差异,对于增量和差异备份,则保存变化块对应的位图文件至所述指定目录下,同时保存父级磁盘路径信息到所述配置文件中。
优选地,步骤S3进一步包括:
步骤S300,当选择备份数据进行恢复时,启动fuse服务,在所述fuse映射目录下创建映射配置文件,完成初始化工作,并根据备份数据目录下的配置文件创建临时磁盘文件;
步骤S301,利用所述fuse服务拦截所述fuse映射目录下的临时磁盘文件的磁盘读写操作,将写文件操作重定向至所述写入临时目录,并根据所述映射配置文件中的映射关系,将读文件操作重定向至所述备份数据目录,根据读取大小和偏移,定位至所述备份数据目录的源磁盘文件读取指定数据。
优选地,于步骤S300中,当选择备份数据进行恢复时,在所述fuse映射目录下创建一个指定名称的映射配置文件,定义好即将创建的临时磁盘文件名称并根据指定的备份数据目录下的配置文件于该映射配置文件中定义实际磁盘的备份数据路径与即将创建的临时磁盘文件名称的对应关系,完成初始化工作;然后读取备份数据目录下的配置文件,根据配置文件中源机磁盘信息,在所述fuse映射目录中创建相同数量和指定名称的临时磁盘文件,以捕获磁盘IO操作。
优选地,于步骤S301中,在读取数据的操作前,根据所述备份数据目录下的配置文件确定当前读取的是全量、增量还是差异数据,当确定为读取增量或差异数据时,则自动查找父级磁盘,并根据位图文件读取对应位置的数据。
优选地,于步骤S4中,通过guestfs服务查询fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,然后遍历所有临时磁盘文件,若当前磁盘类型为ntfs则通过ntfs-3g将每一个分区作为一个目录挂载在所述挂载目录下,否则则通过guestmount直接将每一个分区作为一个目录挂载在所述挂载目录下。
优选地,于步骤S5中,打开挂载目录列表,选择指定文件或目录,同时选择目标机器,通过tcp连接至所述目标机器,读取选择的文件,发送文件名称及开始标记、分块传输文件内容、传输完成标记及文件属性信息至所述目标机器。
优选地,于步骤S5中,所述目标机器当接收到开始标记时,创建对应文件;接收到分块传输文件内容时,根据分块信息按顺序写入文件;在接收到完成标记时,关闭文件,同时更新文件属性,完成文件传输。
为达到上述目的,本发明还提供一种基于备份数据快速细粒度恢复装置,应用于备份服务器,包括:
备份服务模块,用于将生产环境下虚拟机或物理机的磁盘数据备份至所述备份服务器,将备份数据存储于所述备份服务器的指定的备份数据目录下,同时在所述指定的备份数据目录下生成配置文件;
目录创建模块,用于在备份数据目录下创建fuse映射目录、写入临时目录和挂载目录;
fuse服务运行模块,用于当选择备份数据进行恢复时,在所述备份服务器上运行fuse服务,将所述fuse映射目录与备份数据目录进行映射,截取所述fuse映射目录下的IO读写操作,将写文件操作重定向至所述写入临时目录,将读文件操作重定向至所述备份数据目录;
挂载模块,用于查询所述fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有临时磁盘文件,将每一个分区作为一个目录挂载在所述挂载目录下;
数据恢复模块,用于选择所述挂载目录下待恢复的文件或目录,并将选择的数据发送至目标机器。
与现有技术相比,本发明一种基于备份数据的快速细粒度恢复方法及装置通过在备份数据目录下创建fuse映射目录、写入临时目录和挂载目录,当选择备份数据进行恢复时,在所述备份服务器上运行fuse服务,将所述fuse映射目录与备份数据的数据目录进行映射,截取fuse映射目录下的IO读写操作,将写文件操作重定向至所述写入临时目录,将读文件操作重定向至备份数据目录,然后查询所述fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所述临时磁盘文件,将每一个分区作为一个目录挂载在所述挂载目录下,最后选择所述挂载目录下待恢复的文件或目录,将选择的数据发送至目标机器,实现了在灾难方式时,能够快速精确的恢复重要的数据文件的目的,本发明文件级恢复效率高速度快,可以精确恢复有效数据,减少有效数据的恢复时间本发明,可以通过树形展示备份数据中文件和目录结构,选择指定文件和目录即可实现快速细粒度恢复,针对增量和差异数据无需提前合成全备数据,可以直接即时读取。
附图说明
图1为本发明一种基于备份数据的快速细粒度恢复方法的步骤流程图;
图2为本发明一种基于备份数据的快速细粒度恢复装置的系统结构图;
图3为本发明实施例中基于备份数据的快速细粒度恢复装置所应用的系统的架构;
图4为本发明实施例中fuse服务运行模块的具体流程图;
图5为本发明实施例中挂载磁盘的具体流程图;
图6为本发明实施例中文件恢复的流程图;
图7为本发明实施例中文件恢复的目标机器传输服务端的流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种基于备份数据的快速细粒度恢复方法的步骤流程图。如图1所示,本发明一种基于备份数据快速细粒度恢复方法,应用于备份服务器,包括如下步骤:
步骤S1,备份生产环境下虚拟机或物理机的磁盘数据至备份服务器,并存储于所述备份服务器的指定目录下,同时在该指定目录下生成配置文件,所述配置文件存储配置信息,所述配置信息即指生产坏境下生产机器的配置信息,比如操作系统、机器名称、内存、cpu、网卡等。
具体地,在备份服务器上运行备份程序,将生产环境下的虚拟机或物理机磁盘数据,定期备份至备份服务器指定目录或存储上,即指定的备份数据目录,在本发明具体实施例中,对于vmware虚拟机可以使用vStorageAPI接口备份(即备份服务器上的备份程序通过虚机平台的接口vStorageAPI获取磁盘数据),物理机可以使用块级备份技术(例如处于生产环境的源端安装代理程序,通过块级备份获取数据发送至备份服务器上的备份程序),备份数据及变化块对应bitmap文件(Bitmap文件是备份过程中备份程序生成的,存储的是有效数据、变化块和数据位置关系,目的是为了恢复使用)存放在指定目录下,备份方式分为全量、增量和差异。同时备份服务器创建配置文件,获取从生产端机器的配置信息,写入到文件,并保存磁盘路径信息到配置文件中,也就是说,所述配置文件包含生产环境的虚机/物理机配置信息:操作系统、版本、磁盘大小、数量、父磁盘路径、备份类型等,其与数据同目录下,备份的时候同时保存。所述父磁盘可以理解为前一个全量磁盘,增量和差异是基于父磁盘来使用的。在本发明具体实施例中,对于生产环境的物理机,其配置信息传输方式与磁盘数据传输相同,对于生产环境的虚拟机,其可以由备份服务器通过虚拟平台接口获取,最终都相当于由备份服务器,获取生产机器配置然后写入配置文件,所述配置文件与备份数据在同一目录下,备份的时候同时保存。需说明的是,具体的备份过程并非本发明的所要保护的范围,现有技术已有很多技术能够实现,在此不予赘述。
步骤S2,在备份数据目录下创建fuse映射目录、写入临时目录和挂载目录。
在本发明中,备份数据目录为源备份目录,即步骤S1备份数据存入的指定目录,是固定不变的。也就是说,在该指定目录下新增三个临时使用的目录,这三个目录分别是:fuse映射目录,该fuse映射目录由fuse服务监控,用于将临时磁盘文件与源文件关联;写入临时目录,用于写入临时数据,即如果挂载后有操作产生临时数据,则写入该目录下,从而不改变原备份数据;挂载目录,挂载磁盘用,此目录为空),这三个目录在恢复完成后会予以清除。
步骤S3,当选择备份数据进行恢复时,在备份服务器上运行fuse(Filesystem inUserspace,用户空间文件系统)服务,将fuse映射目录与备份数据的数据目录进行映射,截取fuse映射目录下的IO读写操作,将写文件操作重定向至写入临时目录,将读文件操作重定向至数据目录。在本发明中,Fuse服务启动后,备份服务器则在fuse映射目录下创建一个指定名称的映射配置文件,该映射配置文件记录即将新建的临时磁盘文件与备份数据中实际磁盘的对应关系(即定义好即将创建的临时磁盘文件名称写入映射配置文件,于该映射配置文件中定义实际磁盘的备份数据路径与即将创建的临时磁盘文件名称的对应关系),当fuse服务监控到该映射配置文件生成后,立即读取文件,加载磁盘对应关系,以便拦截对应文件的IO操作。
具体地,步骤S3进一步包括:
步骤S300,当选择备份数据进行恢复时,启动fuse服务模块,在所述fuse映射目录下创建映射配置文件,完成初始化工作,并根据备份数据目录下的配置文件创建临时磁盘文件,所述映射配置文件中定义实际磁盘的备份数据路径与创建的临时磁盘文件名称的对应关系。
具体地,于步骤S300中,利用fuse服务监控当前fuse映射目录,当选择备份数据进行恢复时,启动fuse服务,备份程序在fuse映射目录下创建一个指定名称的映射配置文件,定义好即将创建的临时磁盘文件名称写入映射配置文件,并根据指定目录(即备份数据目录)下的配置文件于该映射配置文件中定义实际磁盘的备份数据路径与即将创建的临时磁盘文件名称的对应关系,fuse服务模块读取到配置信息,完成初始化工作;然后读取备份数据目录下的配置文件,根据配置文件中源机磁盘信息,在所述fuse映射目录中创建相同数量和指定名称的临时磁盘文件,以捕获磁盘IO操作,需说明的是,这里先创建的映射配置文件可以理解为通知fuse服务,需要进行映射监控,然后创建临时磁盘文件后,立即就能捕获该临时磁盘文件的所有IO操作。
步骤S301,利用fuse服务拦截fuse映射目录下的临时磁盘文件的磁盘读写操作,将写文件操作重定向至写入临时目录,并根据映射配置文件中的映射关系,将读文件操作重定向至备份数据目录,即步骤S1的指定目录,并根据读取大小和偏移,定位至备份数据目录的实际磁盘文件读取指定数据。
优选地,在读取数据的操作前,根据指定目录下的配置文件确定当前读取的是全量、增量或者差异数据,当读取增量或差异数据时,自动查找父级磁盘,并根据位图bitmap文件读取对应位置的数据。也就是说,配置文件中记录了备份类型,如果当前是全量备份,则直接读取当前备份数据,不用关联查找父磁盘了,如果是增量或差异则需要查找父磁盘读取完整数据。
步骤S4,查询所述fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有磁盘文件,将每一个分区作为一个目录挂载在所述挂载目录下。
在本发明具体实施例中,通过guestfs服务,查询fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有临时磁盘文件,将每一个分区作为一个目录挂载在步骤S2中的挂载目录下。如果当前磁盘类型为ntfs则需要通过ntfs-3g挂载,否则通过guestmount直接挂载即可,通过访问挂载目录即可读出备份数据中的文件。例如,对于fuse映射目录下的磁盘文件disk1.vmdk,查询到包含有/dev/sda和/dev/sdb两个分区,则分别将/dev/sda和/dev/sdb分区挂载至挂载目录下,即可读取出文件内容,若fuse映射目录下有多个磁盘文件,则逐个遍历出来,然后挂载分区。
步骤S5,选择所述挂载目录下待恢复的文件或目录,并将选择的数据发送至目标机器,同时异步获取传输状态及进度。
具体地,打开挂载目录列表,选择指定文件或目录,同时选择目标机器,所述目标机器预先安装传输服务端,通过tcp连接至目标机器的传输服务端,读取选择的文件传输至该目标机器的服务端。每个文件的传输过程,分三种数据类型:传输开始、传输数据和传输完成,传输开始包含文件名称与开始标记,传输数据包含文件内容的分块数据,传输完成包含文件结束标记和文件属性信息。
在本发明具体实施例中,所述目标机器为用于存放恢复出来的数据的机器,其可以是本机、备机或者其他机器。
图2为本发明一种基于备份数据的快速细粒度恢复装置的系统结构图。如图2所示,本发明一种基于备份数据快速细粒度恢复装置,应用于备份服务器,包括:
备份服务模块201,用于将生产环境下虚拟机或物理机的磁盘数据备份至备份服务器,将备份数据存储于所述备份服务器的指定目录下,同时在该指定目录下生成配置文件,所述配置文件存储生产坏境下生产机器的配置信息,比如操作系统、机器名称、内存、cpu、网卡等。
具体地,在备份服务器上运行该备份服务模块201,将生产环境下的虚拟机或物理机磁盘数据,定期备份至备份服务器指定目录或存储上,即指定的备份数据目录,在本发明具体实施例中,对于vmware虚拟机可以使用vStorageAPI接口备份(即备份服务器上的备份程序通过虚机平台的接口vStorageAPI获取磁盘数据),物理机可以使用块级备份技术(例如处于生产环境的源端安装代理程序,通过块级备份获取数据发送至备份服务器上的备份程序),备份数据及变化块对应bitmap文件(Bitmap文件是备份过程中备份程序生成的,存储的是有效数据、变化块和数据位置关系,目的是为了恢复使用)存放在指定目录下,备份方式分为全量、增量和差异。同时备份服务器创建配置文件,获取从生产端机器的配置信息,写入到文件,并保存磁盘路径信息到配置文件中,也就是说,所述配置文件包含生产环境的虚机/物理机配置信息:操作系统、版本、磁盘大小、数量、父磁盘路径、备份类型等,其与数据同目录下,备份的时候同时保存。所述父磁盘可以理解为前一个全量磁盘,增量和差异是基于父磁盘来使用的。在本发明具体实施例中,对于生产环境的物理机,其配置信息传输方式与磁盘数据传输相同,对于生产环境的虚拟机,其可以由备份服务器通过虚拟平台接口获取,最终都相当于由备份服务器,获取生产机器配置然后写入配置文件,所述配置文件与备份数据在同一目录下,备份的时候同时保存。需说明的是,具体的备份过程并非本发明的所要保护的范围,现有技术已有很多技术能够实现,在此不予赘述。
目录创建模块202,用于在备份数据目录下创建fuse映射目录、写入临时目录和挂载目录。
在本发明中,备份数据目录为源备份目录,即备份服务模块201的备份数据存入的指定目录,是固定不变的。在该指定目录下新增三个临时使用的目录,这三个目录分别是:fuse映射目录,该fuse映射目录由fuse服务监控,用于将临时磁盘文件与源文件关联;写入临时目录,用于写入临时数据,即如果挂载后有操作产生临时数据,则写入该目录下,从而不改变原备份数据;挂载目录,挂载磁盘用,此目录为空),这三个目录在恢复完成后会予以清除。
fuse服务运行模块203,用于当选择备份数据进行恢复时,在备份服务器上运行fuse(Filesystem in Userspace,用户空间文件系统)服务,将fuse映射目录与备份数据的数据目录进行映射,截取fuse映射目录下的IO读写操作,将写文件操作重定向至写入临时目录,将读文件操作重定向至数据目录。
具体地,Fuse服务启动后,fuse服务运行模块203则在fuse映射目录下创建一个指定名称的映射配置文件,该映射配置文件记录即将新建的临时磁盘文件与备份数据中实际磁盘的对应关系(即定义好即将创建的临时磁盘文件名称写入映射配置文件,于该映射配置文件中定义实际磁盘的备份数据路径与即将创建的临时磁盘文件名称的对应关系),当fuse服务监控到该映射配置文件生成后,立即读取文件,加载磁盘对应关系,以便拦截对应文件的IO操作。
具体地,fuse服务运行模块203进一步包括:
Fuse服务初始化模块203a,用于当选择备份数据进行恢复时,启动fuse服务,在所述fuse映射目录下创建映射配置文件,完成初始化工作,并根据备份数据目录下的配置文件创建临时磁盘文件,所述映射配置文件中定义实际磁盘的备份数据路径与创建的临时磁盘文件名称的对应关系
具体地,于Fuse服务初始化模块203a中,利用fuse服务监控当前fuse映射目录,当选择备份数据进行恢复时,启动fuse服务,备份程序在fuse映射目录下创建一个指定名称的映射配置文件,定义好即将创建的临时磁盘文件名称写入映射配置文件,并根据指定目录下的配置文件于该映射配置文件中定义实际磁盘的备份数据路径与即将创建的临时磁盘文件名称的对应关系,fuse服务模块读取到配置信息,完成初始化工作;然后读取备份数据目录下的配置文件,根据配置文件中源机磁盘信息,在所述fuse映射目录中创建相同数量和指定名称的临时磁盘文件,以捕获磁盘IO操作,这里先创建的映射配置文件可以理解为通知fuse服务,需要进行映射监控,然后创建临时磁盘文件后,立即就能捕获该临时磁盘文件的所有IO操作。
重定向模块203b,用于利用fuse服务拦截fuse映射目录下的临时磁盘文件的磁盘读写操作,将写文件操作重定向至写入临时目录,并根据映射配置文件中的映射关系,将读文件操作重定向至备份数据目录,即备份服务模块201的指定目录,并根据读取大小和偏移,定位至备份数据目录的源磁盘文件读取指定数据。
优选地,在读取数据的操作前,根据指定目录下的配置文件确定当前读取的是全量、增量或者差异数据,当读取增量或差异数据时,自动查找父级磁盘,并根据位图bitmap文件读取对应位置的数据。也就是说,配置文件中记录了备份类型,如果当前是全量备份,则直接读取当前备份数据,不用关联查找父磁盘了,如果是增量或差异则需要查找父磁盘读取完整数据。
挂载模块204,用于查询所述fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有临时磁盘文件,将每一个分区作为一个目录挂载在所述挂载目录下。
在本发明具体实施例中,通过guestfs服务,查询fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有临时磁盘文件,将每一个分区作为一个目录挂载在目录创建模块202中的挂载目录下。如果当前磁盘类型为ntfs则需要通过ntfs-3g挂载,否则通过guestmount直接挂载即可,通过访问挂载目录即可读出备份数据中的文件。
数据恢复模块205,用于选择所述挂载目录下待恢复的文件或目录,并将选择的数据发送至目标机器,同时异步获取传输状态及进度。
具体地,数据恢复模块205打开挂载目录列表,选择指定文件或目录,同时选择目标机器,所述目标机器预先安装传输服务端,通过tcp连接至目标机器的传输服务端,读取选择的文件传输至该目标机器的服务端。每个文件的传输过程,分三种数据类型:传输开始、传输数据和传输完成,传输开始包含文件名称与开始标记,传输数据包含文件内容的分块数据,传输完成包含文件结束标记和文件属性信息。
在本发明具体实施例中,所述目标机器为用于存放恢复出来的数据的机器,其可以是本机、备机或者其他机器。
实施例
图3为本发明实施例中基于备份数据的快速细粒度恢复装置所应用的系统的架构,其描述了生产环境、备份服务器以及恢复服务的关系,本发明应用于其中的备份服务器,首先备份服务器上运行备份程序,将生产环境上对应的虚拟机或物理机,定期备份至备份服务器指定目录或存储上。备份方式分为全量、增量和差异,备份数据存储目录下同时保存数据链关系(若是增量或差异备份,则配置文件中记录父磁盘的路径,多个增量则形成一个链的结构),通过增量或差异数据,能查找到依赖的全量数据。
本发明的恢复过程是,通过在备份服务器上运行fuse(Filesystem inUserspace,用户空间文件系统)服务,将fuse映射目录与数据目录进行映射,截取映射目录下的IO读写操作,将写文件操作重定向至写入临时目录,将读文件操作重定向至数据目录,最后将fuse映射目录下的临时磁盘文件挂载至挂载目录,通过访问挂载目录即可读出备份数据中的文件。
图4为本发明实施例中fuse服务运行模块的具体流程图,fuse服务运行模块过程如下:
首先,监控当前fuse映射目录,当选择备份数据进行恢复时,通过读取备份数据目录下配置文件的配置信息,生成新的关联信息,例如所要创建的新磁盘名称与备份数据磁盘名称的对应关系,写入到fuse映射目录下的映射配置文件。fuse服务模块读取到配置信息,完成初始化工作。
然后,恢复服务则根据备份信息中源机磁盘信息,在fuse映射目录中创建相同数量和指定名称的临时磁盘文件。
最后,fuse服务拦截磁盘读写操作,将写文件操作重定向至临时目录。根据配置信息中映射关系,将读文件操作重定向至备份数据目录,同时,根据读取大小和偏移,查找备份数据变化块bitmap的信息,定位至实际磁盘文件读取指定数据。
图5为本发明实施例中挂载磁盘的具体流程图,其具体过程如下:
首先,读取映射目录下的磁盘文件,根据guestfs中的guestfish工具查询当前磁盘的类型,ntfs磁盘需要依赖ntfs-3g库的支持。
如果是非ntfs磁盘,通过list-filesystems查询文件系统的分区信息。然后将各个分区通过guestmount至指定目录下。
如果是ntfs磁盘,需要通过part查询文件系统分区信息,然后将各个分区通过ntfs-3g挂载至指定目录下。
图6为本发明实施例中文件恢复的流程图。其过程如下:
首先,选择挂载目录下待恢复的文件或目录,选择目标机器,并通过tcp连接至目标机器的传输服务端。
然后,读取文件准备传输至目标机器的传输服务端。每个文件的传输过程,分三种数据类型:传输开始、传输数据和传输完成。传输开始包含文件名称与开始标记,传输数据包含文件内容的分块数据,传输完成包含文件结束标记和文件属性信息。
选择的多个文件或目录,按照顺序逐个传输直至完成即可。
图7为本发明实施例中文件恢复的目标机器传输服务端的流程图,其过程如下:
首先,传输服务端监听端口,等待客户端(即本发明所应用的备份服务器)连接,客户端连接成功后,开始接收数据。
判断接收数据的类型,如果是传输开始,即接收到开始标记,则获取文件名称,同时在指定目录下创建文件,并打开文件;接收到传输数据类型后,根据分块信息按顺序写入数据到指定文件;接收到传输完成标记后,关闭文件,并取出文件属性信息更新至对应文件,完成传输。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。

Claims (10)

1.一种基于备份数据快速细粒度恢复方法,应用于备份服务器,包括如下步骤:
步骤S1,备份生产环境下虚拟机或物理机的磁盘数据至所述备份服务器,将其存储于指定的备份数据目录下,并在所述指定的备份数据目录下生成配置文件;
步骤S2,在备份数据目录下创建fuse映射目录、写入临时目录和挂载目录;
步骤S3,当选择备份数据进行恢复时,在所述备份服务器上运行fuse服务,将所述fuse映射目录与备份数据的数据目录进行映射,截取fuse映射目录下的IO读写操作,将写文件操作重定向至所述写入临时目录,将读文件操作重定向至所述备份数据目录;
步骤S4,查询所述fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有临时磁盘文件,将每一个分区作为一个目录挂载在所述挂载目录下;
步骤S5,选择所述挂载目录下待恢复的文件或目录,并将选择的数据发送至目标机器。
2.如权利要求1所述的一种基于备份数据快速细粒度恢复方法,其特征在于:所述配置文件存储生产坏境下生产机器的配置信息,其与备份数据在同目录下,在备份的同时实现配置保存。
3.如权利要求2所述的一种基于备份数据快速细粒度恢复方法,其特征在于:于步骤S1中,备份方式包括全量、增量和差异,对于增量和差异备份,则保存变化块对应的位图文件至所述指定目录下,同时保存父级磁盘路径信息到所述配置文件中。
4.如权利要求3所述的一种基于备份数据快速细粒度恢复方法,其特征在于,步骤S3进一步包括:
步骤S300,当选择备份数据进行恢复时,启动fuse服务,在所述fuse映射目录下创建映射配置文件,完成初始化工作,并根据备份数据目录下的配置文件创建临时磁盘文件;
步骤S301,利用所述fuse服务拦截所述fuse映射目录下的临时磁盘文件的磁盘读写操作,将写文件操作重定向至所述写入临时目录,并根据所述映射配置文件中的映射关系,将读文件操作重定向至所述备份数据目录,根据读取大小和偏移,定位至所述备份数据目录的源磁盘文件读取指定数据。
5.如权利要求4所述的一种基于备份数据快速细粒度恢复方法,其特征在于:于步骤S300中,当选择备份数据进行恢复时,在所述fuse映射目录下创建一个指定名称的映射配置文件,定义好即将创建的临时磁盘文件名称并根据指定的备份数据目录下的配置文件于该映射配置文件中定义实际磁盘的备份数据路径与即将创建的临时磁盘文件名称的对应关系,完成初始化工作;然后读取备份数据目录下的配置文件,根据配置文件中源机磁盘信息,在所述fuse映射目录中创建相同数量和指定名称的临时磁盘文件,以捕获磁盘IO操作。
6.如权利要求5所述的一种基于备份数据快速细粒度恢复方法,其特征在于:于步骤S301中,在读取数据的操作前,根据所述备份数据目录下的配置文件确定当前读取的是全量、增量还是差异数据,当确定为读取增量或差异数据时,则自动查找父级磁盘,并根据位图文件读取对应位置的数据。
7.如权利要求6所述的一种基于备份数据快速细粒度恢复方法,其特征在于:于步骤S4中,通过guestfs服务查询fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,然后遍历所有临时磁盘文件,若当前磁盘类型为ntfs则通过ntfs-3g将每一个分区作为一个目录挂载在所述挂载目录下,否则则通过guestmount直接将每一个分区作为一个目录挂载在所述挂载目录下。
8.如权利要求7所述的一种基于备份数据快速细粒度恢复方法,其特征在于:于步骤S5中,打开挂载目录列表,选择指定文件或目录,同时选择目标机器,通过tcp连接至所述目标机器,读取选择的文件,发送文件名称及开始标记、分块传输文件内容、传输完成标记及文件属性信息至所述目标机器。
9.如权利要求8所述的一种基于备份数据快速细粒度恢复方法,其特征在于:于步骤S5中,所述目标机器当接收到开始标记时,创建对应文件;接收到分块传输文件内容时,根据分块信息按顺序写入文件;在接收到完成标记时,关闭文件,同时更新文件属性,完成文件传输。
10.一种基于备份数据快速细粒度恢复装置,应用于备份服务器,包括:
备份服务模块,用于将生产环境下虚拟机或物理机的磁盘数据备份至所述备份服务器,将备份数据存储于所述备份服务器的指定的备份数据目录下,同时在所述指定的备份数据目录下生成配置文件;
目录创建模块,用于在备份数据目录下创建fuse映射目录、写入临时目录和挂载目录;
fuse服务运行模块,用于当选择备份数据进行恢复时,在所述备份服务器上运行fuse服务,将所述fuse映射目录与备份数据目录进行映射,截取所述fuse映射目录下的IO读写操作,将写文件操作重定向至所述写入临时目录,将读文件操作重定向至所述备份数据目录;
挂载模块,用于查询所述fuse映射目录下创建的临时磁盘文件对应的磁盘分区和类型,遍历所有临时磁盘文件,将每一个分区作为一个目录挂载在所述挂载目录下;
数据恢复模块,用于选择所述挂载目录下待恢复的文件或目录,并将选择的数据发送至目标机器。
CN202110206773.5A 2021-02-24 2021-02-24 一种基于备份数据的快速细粒度恢复方法及装置 Active CN112965856B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110206773.5A CN112965856B (zh) 2021-02-24 2021-02-24 一种基于备份数据的快速细粒度恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110206773.5A CN112965856B (zh) 2021-02-24 2021-02-24 一种基于备份数据的快速细粒度恢复方法及装置

Publications (2)

Publication Number Publication Date
CN112965856A true CN112965856A (zh) 2021-06-15
CN112965856B CN112965856B (zh) 2022-04-08

Family

ID=76285915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110206773.5A Active CN112965856B (zh) 2021-02-24 2021-02-24 一种基于备份数据的快速细粒度恢复方法及装置

Country Status (1)

Country Link
CN (1) CN112965856B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835925A (zh) * 2021-09-09 2021-12-24 星辰天合(北京)数据科技有限公司 存储对象备份方法及装置
CN114020541A (zh) * 2022-01-05 2022-02-08 深圳市科力锐科技有限公司 备份数据展示方法、装置、设备及存储介质
CN115686932A (zh) * 2022-09-07 2023-02-03 安徽鼎甲计算机科技有限公司 备份集文件恢复方法、装置和计算机设备
CN116467037A (zh) * 2023-06-09 2023-07-21 成都融见软件科技有限公司 一种图形用户界面工作状态的恢复方法
CN116643927A (zh) * 2023-07-27 2023-08-25 成都艾勃科技有限公司 一种基于Windows系统的固态硬盘快照备份方法
CN117349236A (zh) * 2023-12-04 2024-01-05 深圳市科力锐科技有限公司 文件读取方法、装置、设备及存储介质
CN117349086A (zh) * 2023-12-04 2024-01-05 四川精容数安科技有限公司 一种Windows整机永久增量备份的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030509A1 (en) * 2010-07-27 2012-02-02 Wood Timothy J Mechanism for maintaining cache soft repairs across power state transitions
CN104408091A (zh) * 2014-11-11 2015-03-11 清华大学 分布式文件系统的数据存储方法及系统
US10095707B1 (en) * 2014-12-19 2018-10-09 EMC IP Holding Company LLC Nearline cloud storage based on FUSE framework
CN109669808A (zh) * 2017-10-17 2019-04-23 中移(苏州)软件技术有限公司 一种系统备份的方法及设备
CN110795278A (zh) * 2018-08-03 2020-02-14 Emc Ip控股有限公司 用于提供文件级恢复的系统和方法
CN111078359A (zh) * 2019-12-10 2020-04-28 上海英方软件股份有限公司 一种通过目录映射实现虚机即时恢复的方法及系统
CN111399984A (zh) * 2020-03-19 2020-07-10 上海英方软件股份有限公司 一种基于虚拟机备份数据的文件恢复方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030509A1 (en) * 2010-07-27 2012-02-02 Wood Timothy J Mechanism for maintaining cache soft repairs across power state transitions
CN104408091A (zh) * 2014-11-11 2015-03-11 清华大学 分布式文件系统的数据存储方法及系统
US10095707B1 (en) * 2014-12-19 2018-10-09 EMC IP Holding Company LLC Nearline cloud storage based on FUSE framework
CN109669808A (zh) * 2017-10-17 2019-04-23 中移(苏州)软件技术有限公司 一种系统备份的方法及设备
CN110795278A (zh) * 2018-08-03 2020-02-14 Emc Ip控股有限公司 用于提供文件级恢复的系统和方法
CN111078359A (zh) * 2019-12-10 2020-04-28 上海英方软件股份有限公司 一种通过目录映射实现虚机即时恢复的方法及系统
CN111399984A (zh) * 2020-03-19 2020-07-10 上海英方软件股份有限公司 一种基于虚拟机备份数据的文件恢复方法及系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113835925A (zh) * 2021-09-09 2021-12-24 星辰天合(北京)数据科技有限公司 存储对象备份方法及装置
CN113835925B (zh) * 2021-09-09 2023-10-31 北京星辰天合科技股份有限公司 存储对象备份方法及装置
CN114020541A (zh) * 2022-01-05 2022-02-08 深圳市科力锐科技有限公司 备份数据展示方法、装置、设备及存储介质
CN115686932A (zh) * 2022-09-07 2023-02-03 安徽鼎甲计算机科技有限公司 备份集文件恢复方法、装置和计算机设备
CN115686932B (zh) * 2022-09-07 2023-06-23 安徽鼎甲计算机科技有限公司 备份集文件恢复方法、装置和计算机设备
CN116467037B (zh) * 2023-06-09 2023-09-22 成都融见软件科技有限公司 一种图形用户界面工作状态的恢复方法
CN116467037A (zh) * 2023-06-09 2023-07-21 成都融见软件科技有限公司 一种图形用户界面工作状态的恢复方法
CN116643927A (zh) * 2023-07-27 2023-08-25 成都艾勃科技有限公司 一种基于Windows系统的固态硬盘快照备份方法
CN116643927B (zh) * 2023-07-27 2023-09-26 成都艾勃科技有限公司 一种基于Windows系统的固态硬盘快照备份方法
CN117349236A (zh) * 2023-12-04 2024-01-05 深圳市科力锐科技有限公司 文件读取方法、装置、设备及存储介质
CN117349086A (zh) * 2023-12-04 2024-01-05 四川精容数安科技有限公司 一种Windows整机永久增量备份的方法
CN117349086B (zh) * 2023-12-04 2024-02-23 四川精容数安科技有限公司 一种Windows整机永久增量备份的方法
CN117349236B (zh) * 2023-12-04 2024-03-29 深圳市科力锐科技有限公司 文件读取方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112965856B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
CN112965856B (zh) 一种基于备份数据的快速细粒度恢复方法及装置
US7013373B2 (en) Data backup method and system
US7725667B2 (en) Method for identifying the time at which data was written to a data store
US7472139B2 (en) Database recovery method applying update journal and database log
US7991748B2 (en) Virtual data store creation and use
EP1942414B1 (en) Snapshot system and method
US20180046553A1 (en) Storage control device and storage system
JP5768277B2 (ja) 記憶ボリュームのディスマウント
JP2006146904A (ja) ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法
US6944789B2 (en) Method and apparatus for data backup and recovery
US20140181396A1 (en) Virtual tape using a logical data container
CN111651238A (zh) 一种虚拟机保护中有效数据获取系统及方法
US20040143609A1 (en) System and method for data extraction in a non-native environment
US20210232458A1 (en) Logical backup using a storage system
CN112199166B (zh) 一种业务应急接管演练系统及其方法
JP6271581B2 (ja) 仮想テープライブラリシステム
CN111078359B (zh) 一种通过目录映射实现虚机即时恢复的方法及系统
US7694090B2 (en) Storage system with journal reflecting area control function
US7949632B2 (en) Database-rearranging program, database-rearranging method, and database-rearranging apparatus
JP2006164095A (ja) ディスクシステム
US7921324B2 (en) Providing file system availability during local path failure of a non-server node
CN112965857A (zh) 一种基于块备份快速恢复数据的方法及系统
CN103838639A (zh) 一种恢复虚拟磁盘元数据的方法、装置及系统
US11755425B1 (en) Methods and systems for synchronous distributed data backup and metadata aggregation
CN114817192A (zh) 日志处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant