CN113448917A - 与快照相关联的文件的编目 - Google Patents

与快照相关联的文件的编目 Download PDF

Info

Publication number
CN113448917A
CN113448917A CN202110291199.8A CN202110291199A CN113448917A CN 113448917 A CN113448917 A CN 113448917A CN 202110291199 A CN202110291199 A CN 202110291199A CN 113448917 A CN113448917 A CN 113448917A
Authority
CN
China
Prior art keywords
file system
backup
block
blocks
determining
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
Application number
CN202110291199.8A
Other languages
English (en)
Inventor
A·斯莱特
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
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 Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of CN113448917A publication Critical patent/CN113448917A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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
    • 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/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本公开涉及与快照相关联的文件的编目。一种备份系统,包括处理器和存储指令的机器可读存储装置。指令能够由处理器执行以:访问存储卷的第一快照的基于块的备份中所包括的多个块;基于上述基于块的备份的多个块,确定在存储卷上存储的第一文件系统,该第一文件系统是第一类型的文件系统;从多个过滤器中选择与第一类型的文件系统相关联的第一过滤器;基于所选择的第一过滤器,确定第一文件系统中的已改变文件;以及更新编目,以指示已改变文件与第一快照相关联。

Description

与快照相关联的文件的编目
背景技术
计算设备可以包括诸如处理器、存储器、缓存系统、和存储设备之类的组件。存储设备可以包括使用磁性介质来存储和检索(retrieve)数据块的硬盘驱动器。一些系统可以存储或“备份”重要数据的副本,以用于存档和恢复目的。例如,在存储设备发生故障的情况下,可以使用备份副本来恢复存储在故障系统上的数据。在一些示例中,可以周期性地执行备份,以捕捉不同时间点的数据的副本。
附图说明
下面的附图描述了一些实施方案。
图1是根据一些实施方案的示例系统的示意图。
图2是根据一些实施方案的示例文件系统的图示。
图3是根据一些实施方案的示例备份系统的示意图。
图4是根据一些实施方案的示例过程的图示。
图5是根据一些实施方案的示例过程的图示。
图6是根据一些实施方案的存储指令的示例机器可读介质的示意图。
图7是根据一些实施方案的示例计算设备的示意图。
具体实施方式
计算系统的备份过程可以包括将存储在存储设备(例如,存储阵列)中的数据块复制到备份设备,备份设备可以以备份的形式存储数据块。在本文描述的示例中,“备份”可以指备份设备存储数据集合的形式,其可以不同于数据块被存储在从其备份的存储设备(例如,存储阵列)上的形式。例如,备份可以包括复制到备份设备以进行备份的数据块的重复消除表示。在一些示例中,备份过程可以将在文件系统的文件和目录中的存储在存储设备上的指定数据集合复制到备份设备。
在一些示例中,要复制到备份设备的指定数据集合可以包括存储设备的一个或多个卷、其中的数据被存储在存储设备上的文件系统的部分或全部内容(例如,所有数据被存储在给定目录下,例如,根目录或一个或多个子目录)等。当生成完全备份时,备份过程可以将指定数据集合的所有数据块复制到备份设备(备份设备可以将其存储为在本文中称为“完全备份”的备份)。当生成增量备份时,备份过程可以仅仅复制指定数据集合的自先前备份以来已经改变的数据块,并且备份设备可以以本文中称为“增量备份”的形式存储这些改变的块。
在一些示例中,可以基于源存储设备的一个或多个卷(或一个或多个其他数据集合)的时间点快照生成备份(例如,备份过程可以基于源存储设备上的快照的内容将数据复制到备份设备)。在一些示例中,可以基于包含指定数据集合(例如,文件系统的一个或多个指定目录)的一个或多个卷(或一个或多个其他数据集合)的时间点快照来识别指定数据集合中的已改变块(例如,用于增量备份)。
在本文描述的示例中,备份过程是指在块级(block level)复制数据以进行备份的“基于块的”备份过程。在本文描述的示例中,块级是低于文件和目录级数据存储的数据存储级。在这样的示例中,块级可以是块存储设备(例如,硬盘驱动器(HDD)、固态驱动器(SSD)等)或虚拟卷可以在其上存储数据的级别,并且是文件系统实现文件和目录的级别。在本文描述的示例中,虽然可以在文件系统级(例如,一个或多个目录等)指定要备份的数据集合,但是基于块的备份过程可以将构成数据集合的数据块作为数据块流复制到备份设备,而不需要提供单独的描述这些数据块的数据如何被存储在源设备的文件系统中的文件级或目录级信息。但是,基于块的备份可能包括嵌入的文件系统元素、元数据元素、以及块本身的内容中的其他结构元素。这些元素可以包括inode信息、卷管理元素、格式元素、以及对用户不可见但属于存储格式的一部分的其他项。与可以在文件级执行备份的文件级备份过程相比,可以考虑这样的块级备份过程,在文件级备份过程中,数据与例如指示正在备份的文件和存储这些文件的目录的文件级和目录级信息一起被作为文件流提供给备份设备。但是,与基于块的备份相比,基于文件的备份可能不包括嵌入在正在备份的内容中的文件系统元素、元数据元素、和其他结构元素。在本文描述的示例中,备份(例如,完全备份和增量备份)是指表示提供给备份设备的数据块流的块级备份,不包括描述这些数据块的数据如何被存储在源设备的文件系统中的单独的文件级或目录级信息。
此外,如本文所使用的,“快照”是一个或多个存储卷(或一个或多个其他数据集合)在特定时间点包括的数据的表示。然而,识别快照之间的新的或已改变的文件和/或目录(本文中称为“文件系统对象”)可能涉及“装载”快照中表示的数据,然后遍历或“走过”装载数据中包括的文件系统以找出一个或多个文件和一个或多个目录的改变(例如,基于感兴趣的时间戳)。然而,此类技术可能涉及大量时间和处理带宽。
如下面参考图1-7所述,一些实施方案可以包括分析基于块的备份(例如,快照)的块的内容,从块的内容识别其中的块被存储在源存储设备(即,与备份设备分离)中的文件系统,以及选择对应于所识别的文件系统的类型的特定过滤器。所选择的过滤器可以被用来识别包括文件系统的元数据的块。可以分析元数据,以确定文件系统中的对象的任何改变(例如,新文件、已改变目录等)。此类改变信息可以被用来生成和/或更新与各种快照相关联的已改变对象的编目,而无需装载每个快照然后遍历所包括的任何文件系统。通过这种方式,可以减少识别与快照相关联的文件系统对象所需要的时间量和处理带宽。
现在参考图1,示出了根据一些实施方案的示例系统100的示意图。如图所示,系统100可以包括备份设备110和存储设备120。备份设备110可以是备份装备(例如,包括一个或多个控制器和一个或多个存储设备)或任何其他类型的计算设备(例如,存储阵列、服务器等)。存储设备120可以包括一个或多个存储设备,例如,非易失性存储设备(例如,HDD、SSD等)。在一些示例中,存储设备120可以是存储阵列。
如图所示,在一些实施方案中,备份设备110可以包括处理资源112和机器可读存储装置114。处理资源112可以包括处理器、中央处理单元(CPU)、处理内核等中的一个或多个。处理资源112可以包括任意数目的处理引擎或“内核”(未示出)。机器可读存储装置114可以包括一个或多个非暂态存储介质,例如,HDD、SSD、闪存、光盘等。
在一些实施方案中,机器可读存储装置114可以包括备份模块115、编目模块117、和备份存储区119。下面参考图3-7讨论编目模块117和备份存储区119。在一些示例中,备份模块115和/或编目模块117可以通过可由处理资源112执行并存储在机器可读存储装置114中的指令(例如,软件和/或固件)来实现。然而,备份模块115和/或编目模块117可以以任何合适的方式实现。例如,备份模块115和/或编目模块117的部分或全部可以被硬编码为包括在处理资源112中的电路。在其他示例中,备份模块115和/或编目模块117的部分或全部可以被实现为远程计算机(未示出)上的网络(web)服务等。在另一示例中,备份模块115和/或编目模块117可以被实现在计算设备110的一个或多个控制器中。
如图所示,在一些实施方案中,存储设备120可以存储卷125,卷125包括任意数目的文件系统140A-140N(也称为“文件系统140”)或其相应部分。文件系统140A-140N可以使用不同的文件系统类型或格式(例如,XFS、ZFS等)。在一些实施方案中,每个文件系统140可以被组织成文件和目录。例如,参考图2,示出了包括被组织为分层树结构的节点的文件和目录的示例文件系统200的图示。再次参考图1,每个文件系统140可以包括表示文件的数据(这里称为“文件数据”)。此外,文件系统140还可以包括关于文件系统和对象的数据(本文中称为“元数据”),例如,文件和目录的父子关系、文件权限、时间戳、标识符、大小信息等。例如,在某些文件系统中,元数据可以被存储在特定对象(例如,inode)中。
在一些实施方案中,存储设备120可以在卷125(包括文件系统140A-140N)存在的不同时间点生成卷125的数据的快照150A-150C(也称为“快照150”)。例如,快照150A可以表示卷125在第一时间点的数据,快照150B可以表示卷125在第二时间点的数据,快照150C可以表示卷125在第三时间点的数据。
在一些实施方案中,存储设备120可以为每个快照150A-150C执行基于块的备份过程,包括分别在数据流160A-160C(也称为“数据流160”)中提供快照150A-150C的数据,每个数据流可以是数据块流。在这样的示例中,备份模块115可以基于数据流160A-160C中的每个数据流来生成相应的基于块的备份并将其存储在备份存储区119中。所生成的每个基于块的备份可以以不同于快照150A-150C被存储在存储设备120上的形式的基于块的表示来表示快照150A-150C中的相应的一个快照的数据。例如,备份模块115可以对接收到的数据流160A-160C执行重复消除,并以重复消除的形式存储基于块的备份。在一些实施方案中,文件系统140的给定文件的数据块不一定被存储在一起或被连续地存储在备份存储区119的备份中,因此对应于不同文件的数据块可能混杂在备份存储区119的备份中。此外,在一些实施方案中,备份存储区119中的一个或多个数据块可以包括文件系统140的元数据。
现在参考图3,示出了示例备份系统300的图示。如图所示,根据一个或多个实施方案,备份系统300包括图1的编目模块117和备份存储区119的示例。如图所示,在一些示例中,编目模块117可以包括编目逻辑310、任意数目的过滤器320A-320N(也称为“过滤器320”)、以及任意数目的编目330。此外,在一些示例中,备份存储区119可以包括快照备份350A-350C(也称为“快照备份350”),这些快照备份可以是表示如上所述的快照150A-150C的数据流160A-160C的基于块的备份。在图3的示例中,快照备份350A是快照150A的基于块的备份(如图1所示)。类似地,快照备份350B是快照150B的基于块的备份,快照备份350C是快照150C的基于块的备份。在一些实施方案中,备份存储区119可以以消除重复的形式存储备份数据。在本文描述的示例中,可以通过识别具有与其他块相同的内容的“重复”块(或其他数据单元),并用指向所存储的该块的完全副本的指针来替换至少一些重复块来对备份数据进行重复消除。在这种示例中,可以在备份存储区119的不同备份之间共享各种数据单元。
在一些实施方案中,编目逻辑310可以分析快照备份350的块的内容,以从块的内容中识别相关联的快照150的块被存储在存储设备120上的文件系统。例如,编目逻辑310可以解析或读取快照备份350A中的块的内容,并且可以识别在块的内容中包括特定标识符或编码值(例如,与文件系统相关联的“幻数(magic number)”)的块。特定标识符可以被预定义为与给定类型的文件系统(例如,XFS文件系统)唯一关联。因此,在一些实施方案中,编目逻辑310可以使用快照备份350A的块中的特定标识符来确定相关联的快照150A的至少一些数据被存储在存储设备120上的给定类型的文件系统中。在一些示例中,包括特定标识符的块可以被称为识别文件系统的“超级块”。在一些示例中,编目逻辑310可以在快照备份350的块的内容被存储在备份存储区119中之后(例如,在其被以重复消除的形式存储在备份存储区119中之后)通过分析这些内容来识别文件系统。在其他示例中,编目逻辑310可以在备份设备120接收和处理数据流160中包括的块的内容时通过分析该内容来识别文件系统(例如,与备份设备110从存储设备120接收数据流160并生成快照备份350一致)。在一些实施方案中,编目逻辑310可以在快照备份350中的一个或多个特定位置的一个或多个块中(例如,在第一块中、在第二块中、在前十块中等)搜索文件系统标识符(即,标识特定文件系统的内容)。此外,在一些实施方案中,编目逻辑310可以连续地或根据某种模式(例如,在每个块中、在每隔一个块中、在每隔十个块中等)搜索文件系统标识符。
在一个或多个实施方案中,编目逻辑310可以选择与所确定的文件系统类型相对应的特定过滤器320。每个过滤器320可以是定位并解释与所确定的文件系统类型相关联的块中的元数据的程序代码(即,可执行指令)和/或数据结构。例如,所选择的过滤器320可以被用来基于与文件系统类型相关联的参数(例如,块大小、块格式、字段位置和/或偏移、字段名称、字段值、标识符或编码值等)来分析快照备份350(或数据流160)中的块,并且识别匹配与元数据相关联的标准的任何块(例如,位于块的特定偏移处的特定值)。在一些实施方案中,在快照150表示与先前快照的差异的情况下,快照150(或快照150的数据流160)的快照备份350可以表示自先前快照以来已经改变的块,并且编目逻辑310可以使用所选择的过滤器320来识别快照备份350或数据流160中表示的那些已经改变的块中的元数据。在此类示例中,此差异还可以表示与先前备份(例如,基于先前快照的备份)的差异。
在一些实施方案中,编目逻辑310可以分析已改变块中的元数据,以确定自先前备份以来可能已经改变的文件系统对象的名称和位置。在元数据处理期间识别出对象时。编目逻辑310可以在列表或其他数据结构中跟踪这些对象,并且可以基于跟踪的对象逐渐确定树结构。例如,所确定的树结构可以指示第一文件被包括在第一目录中,并且第一目录被包括在第二目录中。
在一些实施方案中,编目逻辑310可以识别所确定的树结构和先前树结构(例如,对应于先前快照或备份的先前树结构)之间的差异,并且可以使用这些差异来确定当前快照或备份中相对于先前快照或备份已改变的文件系统对象。注意,当文件系统对象(例如,文件或目录)在给定快照之前改变时,与已改变对象相关联的元数据也将在该给定快照之前改变。因此,存储已改变元数据的相应的一个或多个块也将在该给定快照之前改变,并且被表示在该给定快照(或用于这种基于块的备份的数据流160)的基于块的备份中。在这样的示例中,编目逻辑310可以通过分析给定快照的基于块的备份(或相应的数据流160)中的块来相对高效地分析已改变块。以这种方式,将元数据分析限制到已改变块可以允许以更节省时间和处理带宽的方式识别已改变对象。
在一些实施方案中,编目逻辑310可以生成或更新编目330,以包括指示与快照相关联的对象的信息。例如,编目330可以包括在给定快照中(或在某个时间点的给定快照中)找到的文件、目录、或其任意组合的列表。此外,在一些示例中,编目330可以指示在给定快照的时间和先前快照的时间之间改变的文件和/或目录。此外,编目330可以包括可以从元数据导出的附加信息,例如,版本号、时间戳、大小、权限、使用统计等。在一些示例中,每个编目330可以仅包括关于单个快照的信息(例如,在特定快照和先前快照之间改变的文件的列表)。在其他示例中,每个编目330可以包括关于多个快照的信息。在一些实施方案中,有关每个快照的哪些对象改变的编目信息可以被用来分析存储系统的性能和/或问题。例如,此类信息可以被用来识别经历相对大量改变的文件,并进一步分析识别出的文件(例如,扫描可能的恶意软件攻击、利用这些文件的应用程序的错误配置等)。
在一些示例中,可以为增量备份(例如,快照备份350B)生成编目,该编目可以列出在增量备份和先前备份(例如,快照备份350A)的时间之间改变的文件和目录。在这样的示例中,可以将与增量备份相关联的编目和与先前备份相关联的编目组合,以便生成所有文件和目录的完全编目,该完全编目包括由增量备份和先前备份中的一者或两者捕获的改变。在这样的示例中,一个或多个增量备份和先前完全备份可以被用来生成表示其中的一个增量备份的时间点的合成完全备份,并且在这样的示例中,先前备份和一个或多个增量备份的相应编目可以被组合在一起以生成包括由合成完全备份捕获的改变在内的所有文件和目录的合成完全编目。
在一些实施方案中,编目逻辑310可以识别多个文件系统的已改变对象,其中,快照包括来自每个文件系统的数据。例如,假设给定的快照备份350(或数据流160)包括来自两个不同类型的文件系统的块。在这种情况下,编目逻辑310可以使用对应于两个不同文件系统的两个过滤器320来执行两个编目操作。在一些示例中,编目逻辑310可以更新单个编目330,以列出两个文件系统的文件和目录。在其他示例中,编目逻辑310可以更新两个单独的编目330,以分别列出两个文件系统的文件和目录。在本文描述的示例中,编目逻辑310可以经由可由处理资源(例如,112)执行并被存储在机器可读存储介质(例如,114)中的指令(例如,软件和/或固件)来实现。然而,目录逻辑310可以以任何合适的方式实现。
现在参考图4,示出了根据一些实施方案的示例过程400。在一些示例中,可以使用编目模块117的一些或全部来执行过程400(在图1和3中示出)。过程400可以被实现在硬件或硬件与编程的组合中(例如,可由一个或多个处理器执行的机器可读指令)。机器可读指令可以被存储在非暂态计算机可读介质(例如,光学、半导体、或磁存储设备)中。机器可读指令可以由单个处理器、多个处理器、单个处理引擎、多个处理引擎等执行。为了说明,下面可以参考图1-3来描述过程400的细节,其中,图1-3给出了根据某些实施方案的示例。然而,其他的实现也是可能的。
框410可以包括访问存储卷的第一快照的基于块的备份中所包括的多个块。例如,参考图1-3,编目逻辑310可以读取或以其他方式访问包括在快照备份350A(或数据流160A)中的块。快照备份350A可以是卷125的快照150A的基于块的备份。在一些实施方案中,快照备份350A可以是以消除重复的形式存储块的基于块的备份。
框420可以包括确定基于块的备份的第一块,该第一块识别第一文件系统,该第一文件系统中的块被存储在源存储设备的存储卷中。框430可以包括基于第一块确定第一文件系统的文件系统类型。例如,参考图1-3,编目逻辑310可以识别快照备份350A(或数据流160A)中在块的特定位置包括特定标识符(例如,预定义的十六进制值)的块,并由此确定包括在相关联的快照150A中的数据被存储在源存储设备的存储卷中的特定类型的文件系统(例如,XFS文件系统)中。
框440可以包括从多个过滤器中选择与文件系统类型相关联的第一过滤器。框450可以包括使用所选择的第一过滤器来识别基于块的备份的包括第一文件系统的元数据的一组块。例如,参考图1-3,编目逻辑310可以选择与所确定的文件系统类型相对应的过滤器320。在一些实施方案中,编目逻辑310可以使用过滤器320来定位和解释快照备份350A(或数据流160A)的与所确定的文件系统类型相关联的块中的元数据。在一些示例中,编目逻辑310可以使用过滤器320来识别基于块的备份的块中的元数据,其中,基于块的备份的块表示各个快照(由各个基于块的备份表示)之间的已改变块。在一些示例中,编目逻辑310可以使用过滤器320来识别基于块的备份的所有块中的元数据。
框460可以包括使用所选择的第一过滤器,基于一组块中的元数据来确定第一文件系统中的已改变文件。例如,参考图1-3,编目逻辑310可以分析快照备份350A(或数据流160A)的块中的元数据,该元数据表示数据集合在不同时间点之间的已改变块,以确定在这些不同时间点之间(例如,在各个快照或备份之间)可能已经改变的文件和/或目录的列表。此外,编目逻辑310可以将所确定的列表与先前对象列表进行比较,并且可以基于两个列表之间的差异来确定已改变文件。
框470可以包括更新编目以指示已改变文件与第一快照相关联。编目可以包括关于与一个或多个快照相关联的文件系统对象的信息。例如,参考图1-3,编目逻辑310可以更新编目330,以包括关于与快照150A相关联的文件和目录的信息。例如,编目330可以列出在每个快照150A-150C中改变的文件和目录(分别相对于另一个快照)。在框470之后,过程400可以完成。注意,可以对每个快照150重复过程400。
现在参考图5,示出了根据一些实施方案的示例过程500。在一些示例中,可以使用编目模块117的部分或全部来执行过程500(在图1和图3中示出)。过程500可以被实现在硬件或硬件与编程的组合中(例如,可以由一个或多个处理器执行的机器可读指令)。机器可读指令可以被存储在非暂态计算机可读介质(例如,光学、半导体、或磁存储设备)中。机器可读指令可以由单个处理器、多个处理器、单个处理引擎、多个处理引擎等执行。为了说明,下面可以参考图1-3来描述过程500的细节,其中,图1-3给出了根据一些实施方案的示例。然而,其他的实施方案也是可能的。
框510可以包括访问存储卷的第一快照的基于块的备份中的多个块。例如,参考图1-3,编目逻辑310可以读取或以其他方式访问包括在快照备份350A(或数据流160A)中的块。快照备份350A可以是卷125的快照150A的基于块的备份。在一些实施方案中,快照备份350A可以以消除重复的形式存储块。
框520可以包括基于上述基于块的备份的多个块来确定(至少部分)存储在存储卷上的第一文件系统,该第一文件系统是第一类型的文件系统。例如,参考图1-3,编目逻辑310可以识别快照备份350A(或数据流160A)中在块的特定位置包括特定标识符的块,并且可以由此确定特定类型的文件系统(例如,XFS文件系统)的数据被包括在相关联的快照150A中。
框530可以包括从多个过滤器中选择与第一类型的文件系统相关联的第一过滤器。例如,参考图1-3,编目逻辑310可以选择与所确定的文件系统类型相对应的过滤器320。在一些实施方案中,编目逻辑310可以使用过滤器320来定位和解释与所确定的文件系统类型相关联的快照备份350A(或数据流160A)的块中的元数据。在一些示例中,编目逻辑310可以使用过滤器320仅仅识别基于块的备份的已改变块中的元数据。在其他示例中,编目逻辑310可以使用过滤器320来识别基于块的备份的所有块中的元数据。
框540可以包括基于所选择的第一过滤器来确定第一文件系统中的已改变文件。例如,参考图1-3,编目逻辑310可以分析快照备份350A(或数据流160A)的已改变块中的元数据,以确定可能在不同时间点(例如,在快照或备份之间)之间改变的文件和/或目录的列表,可以将所确定的列表与先前对象列表进行比较,并且可以基于两个列表之间的差异来识别已改变文件。
框550可以包括更新编目以指示已改变文件与第一快照相关联。例如,参考图1-3,编目逻辑310可以将编目330更新为包括关于与快照150A相关联的文件和目录的信息。例如,编目330可以针对快照150A-150C中的每个快照分别列出具有这些快照中表示的改变的文件和目录。在框550之后,过程500可以完成。注意,可以针对每个快照150重复过程500。
现在参考图6,示出了根据一些实施方案的存储指令610-650的机器可读介质600。指令610-650可以由单个处理器(例如,图1所示的处理资源112)、多个处理器、单个处理引擎、多个处理引擎等执行。机器可读介质600可以是非暂态存储介质,例如,光学、半导体、或磁存储介质。
可以执行指令610,以访问存储卷的第一快照的基于块的备份中的多个块。例如,指令610可以读取或以其他方式访问包括在快照备份350A(或数据流160A)中的块。快照备份350A可以是卷125的快照150A的基于块的备份。在一些实施方案中,快照备份350A可以以消除重复的形式存储块。
可以执行指令620,以基于上述基于块的备份的多个块来确定其中的数据被存储在存储卷上的第一文件系统,该第一文件系统是第一类型的文件系统。例如,参考图1-3和图6,指令620可以识别快照备份350A(或数据流160A)中在块的特定位置包括特定标识符的块,并由此确定特定类型的文件系统(例如,XFS文件系统)的数据被包括在相关联的快照150A中。
可以执行指令630,以从多个过滤器中选择与第一类型的文件系统相关联的第一过滤器。例如,参考图1-3和图6,指令630可以选择与所确定的文件系统类型相对应的过滤器320。在一些实施方案中,指令630可以使用过滤器320来定位和解释快照备份350A(或数据流160A)的与所确定的文件系统类型相关联的块中的元数据。在一些示例中,指令630可以使用过滤器320来仅仅识别基于块的备份的已改变块中的元数据。在其他示例中,指令630可以使用过滤器320来识别基于块的备份的所有块中的元数据。
可以执行指令640,以基于所选择的第一过滤器来确定第一文件系统中的已改变文件。例如,参考图1-3和图6,指令640可以分析快照备份350A(或数据流160A)的已改变块中的元数据,以确定可能在不同时间点(例如,在快照或备份之间)之间改变的文件和/或目录的列表,可以将所确定的列表与先前对象列表进行比较,并且可以基于两个列表之间的差异来识别已改变文件。
可以执行指令650,以更新编目以指示已改变文件与第一快照相关联。例如,参考图1-3和图6,指令650可以将编目330更新为包括关于与快照150A相关联的文件和目录的信息。例如,编目330可以列出具有每个快照150A-150C中表示的改变的文件和目录。
现在参考图7,示出了示例计算设备700的示意图。在一些示例中,计算设备700通常可以对应于计算设备110(如图1所示)。如图所示,计算设备700可以包括硬件处理器702和包括指令710-750的机器可读存储装置705。机器可读存储装置705可以是非暂态介质。指令710-750可以由硬件处理器702执行,或者由包括在硬件处理器702中的处理引擎执行。
可以执行指令710,以访问存储卷的第一快照的基于块的备份中的多个块。例如,参考图1-3和图7,指令710可以读取或以其他方式访问包括在快照备份350A(或数据流160A)中的块。快照备份350A可以是卷125的快照150A的基于块的备份。在一些实施方案中,快照备份350A可以以消除重复的形式存储块。
可以执行指令720,以基于上述基于块的备份的多个块来确定(至少部分)存储在存储卷上的第一文件系统,该第一文件系统是第一类型的文件系统。例如,参考图1-3和图7,指令720可以识别快照备份350A(或数据流160A)中在块的特定位置包括特定标识符的块,并由此确定特定类型的文件系统(例如,XFS文件系统)的数据被包括在相关联的快照150A中。
可以执行指令730,以从多个过滤器中选择与第一类型的文件系统相关联的第一过滤器。例如,参考图1-3和图7,指令730可以选择与所确定的文件系统类型相对应的过滤器320。在一些实施方案中,指令730可以使用过滤器320来定位和解释快照备份350A(或数据流160A)的与所确定的文件系统类型相关联的块中的元数据。在一些示例中,指令730可以使用过滤器320以独占方式识别由基于块的备份表示的已改变块中的元数据。在其他示例中,指令730可以使用过滤器320来识别基于块的备份的所有块中的元数据。
可以执行指令740,以基于所选择的第一过滤器来确定第一文件系统中的已改变文件。例如,参考图1-3和图7,指令740可以分析快照备份350A(或数据流160A)中表示的已改变块中的元数据,以确定可能在不同时间点(例如,在不同快照或备份)之间改变的文件和/或目录的列表,可以将确定的列表与先前对象列表进行比较,并且可以基于两个列表之间的差异来识别已改变文件。
可以执行指令750,更新编目以指示已改变文件与第一快照相关联。例如,参考图1-3和图7,指令750可以将编录330更新为包括关于与快照150A相关联的文件和目录的信息。例如,编目330可以列出在每个快照150A-150C中改变的文件和目录。
注意,尽管1-7示出了各种示例,但是实现不限于此。例如,参考图1,可以设想系统100可以包括附加的设备和/或组件、更少组件、不同组件、不同布置等。在另一示例中,可以设想备份模块115和编目模块117可以组合成单个模块,或者可以被包括在备份设备110的任何其他模块或软件中。在又一示例中,可以设想文件系统140和/或快照150可以被包括在任意数目的存储设备120中,和/或快照备份350可以被存储在任意数目的备份设备(未示出)中。其他组合和/或变化也是可能的。
根据一些实施方案,提供了与快照相关联的文件的编目的示例。一些实施方案可以包括分析快照的基于块的备份的块,识别块中包括的文件系统,以及选择与文件系统的类型相对应的特定过滤器。所选择的过滤器可以被用来识别包括文件系统的元数据的块。可以分析元数据,以确定文件系统中的对象的任何改变。确定的改变然后可以被用来生成和/或更新与各种快照相关联的对象的编目。因此,一些实施方案可以减少识别与快照相关联的文件系统对象所需要的时间和处理带宽。
数据和指令被存储在相应的存储设备中,这些存储设备被实现为一个或多个计算机可读或机器可读存储介质。存储介质包括不同形式的非暂态存储器,包括半导体存储设备(例如,动态或静态随机存取存储器(DRAM或SRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、和闪存);磁盘(例如,固定盘、软盘、可移除盘);包括磁带的其他磁介质;光介质(例如,压缩盘(CD)或数字视频盘(DVD));或其他类型的存储设备。
注意,上面讨论的指令可以被提供在一个计算机可读或机器可读存储介质上,或者替代地可以被提供在分布在具有可能多个节点的大型系统中的多个计算机可读或机器可读存储介质上。这种计算机可读或机器可读存储介质被认为是物品(或制品)的一部分。物品或制品可以指任何制造的单个组件或多个组件。存储介质可以位于运行机器可读指令的机器中,或者位于可以通过网络下载机器可读指令以执行的远程站点。
在前述描述中,阐述了许多细节以提供对本文公开的主题的理解。但是,可以在没有这些细节的情况下实施这些实现。其他实现可以包括对上述细节的修改和变形。所附权利要求旨在涵盖此类修改和变形。

Claims (20)

1.一种计算设备,包括:
处理器,所述处理器包括多个处理引擎;以及
存储指令的机器可读存储装置,所述指令能够由所述处理器执行以:
访问存储卷的第一快照的基于块的备份中的多个块;
基于所述基于块的备份中的所述多个块,确定存储在所述存储卷上的第一文件系统,所述第一文件系统是第一类型的文件系统;
从多个过滤器中选择与所述第一类型的文件系统相关联的第一过滤器;
基于所选择的第一过滤器,确定所述第一文件系统中的已改变文件;以及
更新编目以指示所述已改变文件与所述第一快照相关联。
2.如权利要求1所述的计算设备,所述指令能够由所述处理器执行以:
确定识别所述存储卷中的所述第一文件系统的第一块;以及
基于所述第一块确定所述第一类型的文件系统。
3.如权利要求1所述的计算设备,所述指令能够由所述处理器执行以:
访问来自由备份设备从包括所述存储卷的存储系统接收的第一数据流的所述基于块的备份的所述多个块。
4.如权利要求1所述的计算设备,所述指令能够由所述处理器执行以:
在所述基于块的备份被存储在所述备份设备的备份存储区中之后,访问所述基于块的备份的所述多个块。
5.如权利要求1所述的计算设备,所述指令能够由所述处理器执行以:
使用所选择的第一过滤器,识别所述第一快照中包括所述第一文件系统的元数据的一组块;以及
基于包括所述第一文件系统的元数据的所述一组块,确定所述第一文件系统中的所述已改变文件。
6.如权利要求4所述的计算设备,所述指令能够由所述处理器执行以:
分析所述一组块中的元数据,以确定所述第一文件系统的一组对象的名称和位置;
在分析所述元数据期间,在数据结构中跟踪所述一组对象;
基于所跟踪的一组对象,确定树结构;
识别所述树结构和先前树结构之间的差异;以及
基于所识别的差异,确定所述第一文件系统中的所述已改变文件。
7.如权利要求1所述的计算设备,所述指令能够由所述处理器执行以:
基于所述多个块,确定存储在所述存储卷上的第二文件系统,所述第二文件系统是第二类型的文件系统;
从多个过滤器中选择与所述第二类型的文件系统相关联的第二过滤器;以及
基于所选择的第二过滤器,确定所述第二文件系统中的已改变对象。
8.一种非暂态机器可读存储介质,存储在执行时使得处理器执行以下操作的指令:
由备份系统访问存储卷的第一快照的基于块的备份中所包括的多个块;
基于所述基于块的备份的所述多个块,确定存储在所述存储卷上的第一文件系统,所述第一文件系统是第一类型的文件系统;
从多个过滤器中选择与所述第一类型的文件系统相关联的第一过滤器;
基于所选择的第一过滤器,确定所述第一文件系统中的已改变文件;以及
更新编目以指示所述已改变文件与所述第一快照相关联。
9.如权利要求8所述的非暂态机器可读存储介质,包括使得所述处理器执行以下操作的指令:
确定识别所述存储卷中的所述第一文件系统的第一块;以及
基于所述第一块,确定所述第一类型的文件系统。
10.如权利要求8所述的非暂态机器可读存储介质,包括使得所述处理器执行以下操作的指令:
访问来自由备份设备从包括所述存储卷的存储系统接收的第一数据流的所述基于块的备份的所述多个块。
11.如权利要求8所述的非暂态机器可读存储介质,包括使得所述处理器执行以下操作的指令:
在所述基于块的备份被存储在所述备份设备的备份存储区中之后,访问所述基于块的备份的所述多个块。
12.如权利要求8所述的非暂态机器可读存储介质,包括使得所述处理器执行以下操作的指令:
使用所选择的第一过滤器,识别所述第一快照中包括所述第一文件系统的元数据的一组块;以及
基于包括所述第一文件系统的元数据的所述一组块,确定所述第一文件系统中的所述已改变文件。
13.如权利要求11所述的非暂态机器可读存储介质,包括使得所述处理器执行以下操作的指令:
分析所述一组块中的元数据,以确定所述第一文件系统的一组对象的名称和位置;
在分析所述元数据期间,在数据结构中跟踪所述一组对象;
基于所跟踪的一组对象,确定树结构;
识别所述树结构和先前树结构之间的差异;以及
基于所识别的差异,确定所述第一文件系统中的所述已改变文件。
14.如权利要求8所述的非暂态机器可读存储介质,包括使得所述处理器执行以下操作的指令:
基于所述多个块,确定存储在所述存储卷上的第二文件系统,所述第二文件系统是第二类型的文件系统;
从多个过滤器中选择与所述第二类型的文件系统相关联的第二过滤器;以及
基于所选择的第二过滤器,确定所述第二文件系统中的已改变对象。
15.一种计算机实现的方法,包括:
由备份系统访问存储卷的第一快照的基于块的备份中所包括的多个块;
基于所述基于块的备份的所述多个块,确定存储在所述存储卷上的第一文件系统,所述第一文件系统是第一类型的文件系统;
从多个过滤器中选择与所述第一类型的文件系统相关联的第一过滤器;
基于所选择的第一过滤器,确定所述第一文件系统中的已改变文件;以及
更新编目以指示所述已改变文件与所述第一快照相关联。
16.如权利要求15所述的计算机实现的方法,包括:
确定识别所述存储卷中的所述第一文件系统的第一块,其中,确定所述第一块包括确定预定值被存储在所述第一块的特定位置;以及
基于所述第一块,确定所述第一类型的文件系统。
17.如权利要求16所述的计算机实现的方法,包括:
访问来自由备份设备从包括所述存储卷的存储系统接收的第一数据流的所述基于块的备份的所述多个块。
18.如权利要求15所述的计算机实现的方法,包括:
在所述基于块的备份被存储在所述备份设备的备份存储区中之后,访问所述基于块的备份的所述多个块。
19.如权利要求15所述的计算机实现的方法,包括:
使用所选择的第一过滤器,识别所述第一快照中包括所述第一文件系统的元数据的一组块;以及
基于包括所述第一文件系统的元数据的所述一组块,确定所述第一文件系统中的所述已改变文件。
20.如权利要求15所述的计算机实现的方法,包括:
基于所述多个块,确定存储在所述存储卷上的第二文件系统,所述第二文件系统是第二类型的文件系统;
从多个过滤器中选择与所述第二类型的文件系统相关联的第二过滤器;以及
基于所选择的第二过滤器,确定所述第二文件系统中的已改变对象。
CN202110291199.8A 2020-03-26 2021-03-18 与快照相关联的文件的编目 Pending CN113448917A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/830,421 2020-03-26
US16/830,421 US11645161B2 (en) 2020-03-26 2020-03-26 Catalog of files associated with snapshots

Publications (1)

Publication Number Publication Date
CN113448917A true CN113448917A (zh) 2021-09-28

Family

ID=77659110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110291199.8A Pending CN113448917A (zh) 2020-03-26 2021-03-18 与快照相关联的文件的编目

Country Status (3)

Country Link
US (1) US11645161B2 (zh)
CN (1) CN113448917A (zh)
DE (1) DE102021102442A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537555B2 (en) * 2020-12-15 2022-12-27 EMC IP Holding Company LLC Managing network shares utilizing filesystem snapshots comprising metadata characterizing network shares
US11940883B2 (en) 2022-07-25 2024-03-26 Dell Products L.P. Generating a synthetic full backup

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110078118A1 (en) * 2006-06-29 2011-03-31 Emc Corporation Backup of incremental metadata in block based backup systems
CN103098016A (zh) * 2010-07-15 2013-05-08 戴尔菲克斯公司 基于文件系统备份的去重
US8504529B1 (en) * 2009-06-19 2013-08-06 Netapp, Inc. System and method for restoring data to a storage device based on a backup image
US8990164B1 (en) * 2012-02-01 2015-03-24 Symantec Corporation Systems and methods for performing incremental backups
CN105593829A (zh) * 2013-09-27 2016-05-18 慧与发展有限责任合伙企业 从原始映像备份中排除文件系统对象
US20180089033A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Performing data backups using snapshots

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8566362B2 (en) 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US9110604B2 (en) 2012-09-28 2015-08-18 Emc Corporation System and method for full virtual machine backup using storage system functionality
US9177177B1 (en) 2012-10-04 2015-11-03 Symantec Corporation Systems and methods for securing storage space
US20160042090A1 (en) * 2014-08-06 2016-02-11 Commvault Systems, Inc. Preserving the integrity of a snapshot on a storage device via ephemeral write operations in an information management system
US10481983B1 (en) * 2016-03-31 2019-11-19 Amazon Technologies, Inc. Snapshot clustering techniques for multipart volumes
US10719484B2 (en) 2017-09-07 2020-07-21 Cohesity, Inc. Remotely mounted file system with stubs

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110078118A1 (en) * 2006-06-29 2011-03-31 Emc Corporation Backup of incremental metadata in block based backup systems
US8504529B1 (en) * 2009-06-19 2013-08-06 Netapp, Inc. System and method for restoring data to a storage device based on a backup image
CN103098016A (zh) * 2010-07-15 2013-05-08 戴尔菲克斯公司 基于文件系统备份的去重
US8990164B1 (en) * 2012-02-01 2015-03-24 Symantec Corporation Systems and methods for performing incremental backups
CN105593829A (zh) * 2013-09-27 2016-05-18 慧与发展有限责任合伙企业 从原始映像备份中排除文件系统对象
US20180089033A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Performing data backups using snapshots

Also Published As

Publication number Publication date
DE102021102442A1 (de) 2021-09-30
US11645161B2 (en) 2023-05-09
US20210303405A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
US9934104B2 (en) Metadata generation for incremental backup
US10956364B2 (en) Efficient data synchronization for storage containers
US10776213B2 (en) Restoring a database using a fully hydrated backup
US20200167238A1 (en) Snapshot format for object-based storage
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
US10162555B2 (en) Deduplicating snapshots associated with a backup operation
US9292327B1 (en) Optimization for incremental backup of VMS
US11914485B2 (en) Restoration of specified content from an archive
CA2809224C (en) Storage system
US9798486B1 (en) Method and system for file system based replication of a deduplicated storage system
US8356174B2 (en) System for automatically shadowing encrypted data and file directory structures for a plurality of network-connected computers using a network-attached memory with single instance storage
US7899789B2 (en) System for automatically shadowing data and file directory structures for a plurality of network-connected computers using a network-attached memory
US9189342B1 (en) Generic process for determining child to parent inheritance for fast provisioned or linked clone virtual machines
WO2019045985A1 (en) INSTANT ARCHIVE MANAGEMENT
US11288128B2 (en) Indexing a relationship structure of a filesystem
US11847028B2 (en) Efficient export of snapshot changes in a storage system
US7900088B1 (en) System for performing incremental file system check
US10628298B1 (en) Resumable garbage collection
KR20150064593A (ko) 데이터 연관정보를 이용한 중복제거 방법 및 시스템
US11573861B2 (en) Continuous data protection using a write filter
US20230394010A1 (en) File system metadata deduplication
CN113448917A (zh) 与快照相关联的文件的编目
US10380141B1 (en) Fast incremental backup method and system
US20230237020A1 (en) Container-based erasure coding
KR101652436B1 (ko) 분산파일 시스템에서의 중복 제거 장치 및 방법

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