CN100414547C - 用于访问文件系统快照的方法和文件系统 - Google Patents

用于访问文件系统快照的方法和文件系统 Download PDF

Info

Publication number
CN100414547C
CN100414547C CNB2006100661476A CN200610066147A CN100414547C CN 100414547 C CN100414547 C CN 100414547C CN B2006100661476 A CNB2006100661476 A CN B2006100661476A CN 200610066147 A CN200610066147 A CN 200610066147A CN 100414547 C CN100414547 C CN 100414547C
Authority
CN
China
Prior art keywords
file system
data
snapshot
flowed
named data
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.)
Expired - Fee Related
Application number
CNB2006100661476A
Other languages
English (en)
Other versions
CN1900928A (zh
Inventor
G·F·麦克布瑞尔蒂
J·马里罗
J·M-H·谢
S·P·马伦
S·M·基奥恩
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.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1900928A publication Critical patent/CN1900928A/zh
Application granted granted Critical
Publication of CN100414547C publication Critical patent/CN100414547C/zh
Expired - Fee Related 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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
    • 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)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种操作系统的文件系统控制器控制文件系统的管理,包括对于至少一个存储设备的文件系统内数据的文件系统快照或其他备份副本的创建。另外,该文件系统控制器创建附加于该文件系统的文件系统目录内用于在快照中复制的数据的条目的被命名数据流。被命名数据流保存对快照在存储设备内的存储位置的引用。文件系统控制器提供经由被命名数据流对文件系统快照的访问。具体地,用户可输入列出文件系统目录的内容的单个命令,而文件系统控制器则返回列出用于数据和引用该数据的快照的被命名数据流的条目的单个响应。

Description

用于访问文件系统快照的方法和文件系统
技术领域
本发明总体涉及改进的文件系统管理。更具体地,本发明涉及直接访问文件系统目录内的文件系统快照。
背景技术
对于终端用户来说,大部分计算机系统都具有相同的用于存储和访问数据的总体结构,这种存储和访问是通过将数据放置在其名称具有特定格式的“文件”内,并将文件0放置在“文件夹”或“目录”内以进一步组织这些文件来实现的。这些文件对象被物理编码到机器的例如硬盘的存储设备内。诸如UNIX或MS-DOS的计算机操作系统使用这一类型的文件编排系统(“UNIX”是UNIX系统实验公司的商标;MS-DOS是Microsoft公司的商标)。在这些系统中,每个文件都具有唯一的路径名,该文件名标识该文件在文件结构内的位置。UNIX和MSDOS计算机具有“根”目录,从该目录分支出其他目录或子目录;在UNIX操作系统内,根目录由正斜杠符号(“/”)表示,该符号还用于将路径名的各部分分隔开。例如,路径名“/pdir/sdir/myfile”指位于“sdir”子目录内的名为“myfile”的文件,而“sdir”子目录则位于在根层级的主目录“pdir”内。
进程和用户使用诸如“打开”、“读取”和“复制”的一组特定的命令与文件系统交互。更具体地,进程和用户通过输入“cd”变换到新目录而输入“ls”获得当前目录内的文件列表,与基于UNIX的文件系统交互。
支持文件系统的操作系统的一个重要属性是对文件系统的备份支持。在一个例子中,操作系统的快照功能复制文件系统的全部或部分,并在基于恢复目的而创建文件系统快照时维护反映文件系统状态的只读副本。该快照需要用于存储被复制的文件的盘空间。
文件系统快照的局限性在于,目前,用于文件系统快照的目录实际上与文件系统目录分离地配设。具体地,即使用户可能会将快照目录的各目录认为是文件系统目录的隐藏子目录,但实际上,快照目录与文件系统目录分离地配设。与文件系统目录分离地配设快照目录是有局限性的,这是因为,为了执行从快照文件的文件恢复,用户必须首先具体地配设快照目录。例如,用户必须首先输入“cd snapshot”或“cd/root/snapshot”来配设快照目录。然后,为了从快照恢复文件系统内的特定文件或目录,用户遍历快照目录以定位文件系统的特定文件或目录的副本以便进行替换。
因此,鉴于上文,提供这样一种方法将是有利的,该方法用于将快照目录直接合并到文件系统目录内以便用户在搜索快照文件列表时不需要配设单独的快照目录。
发明内容
因此,本发明总体提供一种改进的文件系统备份管理,具体地,提供直接在文件系统目录内访问文件系统快照。
一种操作系统的文件系统控制器控制文件系统的管理,包括对于至少一个存储设备的文件系统内数据的文件系统快照或其他备份副本的创建。另外,该文件系统控制器创建附加于该文件系统的文件系统目录内用于被在快照中复制的数据的条目的被命名数据流。被命名数据流保存对快照在存储设备内的存储位置的引用。文件系统控制器提供经由被命名数据流对文件系统快照的访问。具体地,用户可输入列出文件系统目录的内容的单个命令,而文件系统控制器则返回列出用于数据和引用该数据的快照的被命名数据流的条目的单个响应。
当文件系统控制器接收到从文件系统删除数据的命令时,文件系统控制器从存储设备删除数据,将引用快照的任何被命名数据流附加于文件系统目录内、该被删除数据所在的目录,并从文件系统目录删除该数据的条目。当用户命令文件系统控制器列出该被删除数据所在的该目录的内容时,文件系统控制器作为响应返回附加于该目录的被命名数据流。
作为被命名数据流的替代,文件系统控制器可创建附加于用于数据的条目的扩展属性,其中扩展属性保存对快照在存储设备内的存储位置的引用。除非明确请求,否则扩展属性在目录内容的列表内隐藏。用户可根据诸如保存用于数据的条目的目录和数据类型的准则,对于当创建对快照在存储设备内的位置的附加引用时,文件系统控制器是创建被命名数据流还是创建扩展属性而选择偏好。
文件系统控制器可响应于不同触发而创建快照引用。在一个实施例中,在响应于文件的快照的创建或响应于写文件的命令而创建快照引用时,将快照引用附加于存储器中文件系统目录内的文件名,并将快照引用转储到盘空间内的文件系统。在另一个实施例内,文件系统控制器可响应于用户请求发现特定目录或文件的内容而动态地创建快照引用。文件系统控制器确定与该目录或文件相关联的有效快照的位置,并动态地在存储器中的文件系统目录内创建快照引用。
附图说明
在所附权利要求中阐述了被认为是本发明的特点的新颖特征。但是,结合附图参考下面对说明性实施例的详细描述,将更好地理解本发明本身及其优选使用模式、另外的目的和优点,在附图中:
图1是示出其中可实现本发明的方法、系统和程序的计算机系统的框图;
图2是示出用于创建和管理文件系统的快照的组件的图示;
图3是示出关于合并到文件系统目录内的快照的文件系统目录的图示;
图4是示出快照引用偏好的图示;以及
图5是示出用于控制在文件系统目录内创建和管理快照引用的进程和程序的高级逻辑流程图。
具体实施方式
现在参照附图并具体参照图1,其中示出了通过其可实现本发明的方法、系统和程序的计算系统的一个实施例。本发明可在包括多种计算系统和电子设备的多种系统内执行。
计算机系统100包括用于在计算机系统100内传送信息的总线122或其他通信设备,和用于处理程序代码和数据的连接到总线122的至少一个处理设备,诸如处理器112。总线122可包括通过桥接器和适配器连接并在计算机系统100内被多个总线控制器控制的低等待时间和较长等待时间路径。处理器112可以是通用处理器,诸如IBM的PowerPC(PowerPC是国际商业机器公司的注册商标)处理器。当被实现为服务器系统时,计算机系统100通常包括被设计来改进网络服务能力的多个处理器。
处理器112通过总线122直接或间接连接到存储元件。在正常操作期间,处理器112在从存储元件访问的程序代码的控制下处理数据。存储元件可包括在程序代码的实际执行期间使用的本地存储器,诸如随机存储器(RAM)114、诸如海量存储设备118的大容量存储器,和提供对至少一些程序代码的临时存储以减少在执行期间必须从大容量存储器检索代码的次数的高速缓冲存储器(未示出)。在一个示例中,RAM 114内的可访问的程序代码是操作系统160。操作系统160包括例如经由显示器124和其他输出接口有助于显示图形用户接口(GUI)的程序代码。另外,操作系统160包括文件系统控制器170,其是用于创建和管理文件系统的程序代码。
本发明可采取完全硬件实施例、完全软件实施例或者包含硬件和软件组件的实施例的形式。在优选实施例中,本发明以包括但不局限于固件、常驻软件、微码等的软件实现。例如,在一个实施例中,操作系统160的文件系统控制器170包含这样的程序代码,即当在处理器112上执行时其通过执行例如图5的流程图内所示的操作和文中所描述的其他操作来创建和管理文件系统。可选择地,本发明的步骤可由包含用于执行该步骤的硬连线逻辑的特定硬件部件执行,或由程控的计算机部件和定制的硬件部件的任何组合来执行。另外,RAM 114可包括应用程序设计接口,或提供扩展以使应用开发者能够开发扩展操作系统160的功能以包括文件系统控制器170的软件的其他接口。
另外,本发明可采取计算机程序产品的形式,该计算机程序产品可以从提供计算机可读程序代码的计算机可用或计算机可读媒体中访问,该计算机可读程序代码由计算机系统100或任何指令执行系统使用或与该系统结合使用。基于本说明的目的,计算机可用或计算机可读媒体可以是能够包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或与该指令执行系统、装置或设备结合使用的程序的任何装置。在一个示例中,计算机可用或计算机可读媒体是参与将程序代码提供给计算机系统100的处理器112或其他组件以便执行的任何装置。
这样的媒体可以采取多种形式,包括但不局限于电子、磁、光、电磁、红外线或半导体系统(或装置、设备)或传播媒体。计算机可读媒体的例子包括但不局限于半导体或固态存储器、磁带、软磁盘、硬盘、可移动计算机磁盘、随机存储器(RAM)114、只读存储器(ROM)116、穿孔卡或具有孔的图案的任何其他物理媒体、刚性磁盘和光盘。光盘的当前例子包括光盘ROM(CD-ROM)、光盘-读/写(CD-R/W)和数字视频盘(DVD)。在另一个例子中,计算机可读媒体可包括海量存储设备118,该设备被示为计算机系统100的内部组件,但是其也可被提供为计算机系统100的外部设备。
包括网络适配器的通信接口132也可连接到该系统,以使计算机系统100能够通过中间专用网络或公用网络连接到其他计算机系统,这些其他系统诸如服务器140或客户机150、远程打印机、或存储设备。通信接口132内的网络适配器可包括但不局限于调制解调器、电缆调制解调器和以太网卡。
具体地,通信接口132通过到网络102的网络链路134,实现到其他设备的连接。例如,局域网(LAN)、广域网(WAN)和因特网服务提供商(ISP)可有助于网络链路134。网络链路134可提供与诸如网络102的一个或多个网络的有线和/或无线网路通信。网络102可指使用诸如传输控制协议(TCP)和网际协议(IP)的特定协议相互通信的网络和网关的世界范围的集合。
通常,网络链路134和网络102均使用承载数字数据流的电、电磁或光信号。承载进出计算机系统100的数字数据的通过各种网络的信号、和位于网络链路134上以及通过通信接口132的信号是传送信息的载波的形式的示例。在一个示例内,诸如服务器140的远程计算机经由网络链路134将本发明用于请求计算机系统100的程序代码以包含在载波或其他传播媒体内的数据信号的形式传送到与总线122连接的通信接口132。
当实现为服务器系统时,计算机系统100通常包括可经由连接到输入/输出控制器的多个外围部件互连(PCI)总线桥访问的多个通信接口。以这种方式,计算机系统100允许经由网络102到诸如客户机150的多个网络计算机的连接。
另外,计算机系统100通常包括有助于通信并可保存数据的输入/输出(I/O)设备120(例如多个外围部件)。这些外围部件通过与多个输入/输出(I/O)控制器、适配器和扩展槽的连接直接或间接地连接到计算机系统100,其中这多个输入/输出(I/O)控制器、适配器和扩展槽连接到总线122的多个层级之一。I/O设备120的示例可包括但不局限于用于控制音频输入和输出的音频I/O设备、用于提供视觉、触觉或其他图形表示格式的显示设备、用于控制指针在显示设备内的位置的光标控制设备,和作为用于对计算机系统100的输入的接口的键盘。另外,I/O设备可包括经由I/O控制器、适配器或扩展槽连接到计算机系统100的拇指驱动器(thumbdrive)或其他便携式数据存储设备。
本领域的普通技术人员应理解,图1内所示的硬件可变换。此外,本领域的普通技术人员应理解,所示出的示例并不旨在限制本发明的体系结构。
现在参照图2,其示出了用于创建和管理文件系统的快照的组件的图示。如文中所使用的,术语“快照”用于指文件系统的快照并且其可被称为“文件系统快照”。
此例示出了用户空间200、内核空间202和盘空间220。应该理解,可实现其他的空间,并且每个空间内的组件可分布在其他空间或多个计算机系统内。
用户空间200包括文件系统用户接口204。文件系统用户接口204接收来自用户的用于访问和控制文件系统的命令。应该理解,用户可以是个人或应用。
盘空间220包括在逻辑上被视为文件系统222、快照224和快照226的数据。快照224和快照226包括位于文件系统222内的数据的至少一部分的只读副本,每个快照具有在不同时间点复制的数据。物理上,文件系统222、快照224和快照226可分布在盘空间220内的不相邻的部分内。盘空间220可包括多种类型的物理数据存储媒体,诸如海量存储设备118、RAM 114和可作为I/O设备120访问的数据存储设备。应该理解,盘空间220可包括除了快照224和快照226之外的快照。另外,应该理解,在其他计算机系统内,文件系统222、快照224和快照226可在盘空间220内合并,并在逻辑上被视为单个逻辑单元。
示出操作系统160的一些功能组件的内核空间202包括文件处理线程206、文件系统快照线程208和文件系统目录210。具体地,文件处理线程206、文件系统快照线程208和文件系统目录210均代表文件系统控制器170的组件。文件系统目录210维护对作为文件存储在文件系统222、快照224和快照226内的数据的引用目录。文件系统目录210可包括多级目录和子目录,在每个目录和子目录下对文件进行组织。如将进一步描述的,在文件系统目录210内利用文件名引用文件系统222内的数据,在文件系统目录210内利用附加于文件系统222内的相关数据的文件名的被命名数据流引用快照224和快照226内的数据。
文件处理线程206通过访问文件系统目录210以定位引用被请求数据的文件,来执行文件系统管理功能和数据访问,诸如读操作、写操作或配设驱动器操作。文件系统快照线程208实现创建诸如快照224和快照226的快照的过程。在一个实施例中,每当有一个文件处理线程206要修改数据,诸如将数据写入文件系统222或从文件系统222删除时,便有一个文件系统线程快照208被触发。文件系统快照线程将文件系统222内要被修改的数据复制到快照,诸如快照224内。应该理解,可实现其他的快照方法;在可选实施例内,文件系统快照线程208可确定何时根据特定用户指定的或特定计算机系统指定的其他准则将数据从文件系统222复制到快照内。
另外,内核空间202包括逻辑卷管理器212。逻辑卷管理器212提供文件处理线程206、文件系统快照线程208与物理盘220之间的接口,其中文件处理线程206和文件系统快照线程208将文件系统222、快照224和快照226的逻辑表示视为文件系统目录210内被引用的。应该理解,尽管是关于在操作系统内核和物理存储设备之间提供接口的逻辑卷管理器212对本发明进行的描述,但是本发明的可选实施例可实现其他类型的用于数据存储和访问的数据管理系统。此外,应该理解,尽管文件系统目录210被示为处于存储器216内,但是盘空间220可包括文件系统目录210的全部或一部分。
根据一个优点,获得文件系统222的活动快照,文件系统快照线程208还创建对附加于文件系统目录210内的相关文件名的快照的引用。具体地,文件系统快照线程208创建被命名数据流形式的引用。被命名数据流包括对被复制文件在快照224或226内的位置的引用。每一被命名数据流的字符属性指示该被命名数据流引用一快照文件。例如,每一被命名数据流可在被命名数据流名称的开始包括“~”。在一个示例内,如果文件系统目录210内的文件路径是/root/bin/abe,其中该文件名为“abe”,则到引用文件“abe”的快照的位置的被命名数据流的文件路径是/root/bin/~abe。应该理解,可使用其他属性标识包含对快照的位置的引用的被命名数据流。
另外,根据一个优点,当用户请求列出文件系统目录210内的特定目录的内容时,文件系统处理线程请求并返回包括该特定目录内的文件名和附加于每个文件名后的被命名数据流的列表。因此,通过能够通过被命名数据流访问快照,用户可访问特定的快照文件而无需首先配设单独的快照目录。而是,由于是从文件系统目录210内的被命名数据流引用对特定快照文件的引用,所以用户可在配设文件系统目录210的同时通过请求被命名数据流来访问该快照文件。
可选地,文件系统快照线程208可创建扩展属性而不是被命名数据流形式的快照引用。扩展属性也可以与被命名数据流相同的方式附加于文件系统目录210内的文件或目录并被隐藏,除非被明确地搜索。因此,在使用扩展属性而不是被命名数据流时,目录的内容的列表仅示出文件名。用户必须明确地在文件系统目录210的目录内搜索扩展属性,尤其是引用快照的扩展属性。应该理解,除了被命名数据流和扩展属性之外,可实现能够附加到文件系统目录内的文件或目录的任何其他数据引用类型,来保存对快照文件的引用。
此外,根据一个优点,当用户请求从文件系统222删除一个文件时,文件系统快照线程208在文件处理线程206删除该文件之前或同时,将引用快照位置的任何被命名数据流加入文件系统目录210内保存将被删除的文件的目录中。从而,尽管用户可从文件系统222删除文件,但是该文件的快照不会被删除,且引用该快照的位置的被命名数据流仍留在文件系统目录210内。
在一个示例中,响应于快照的创建或响应于写文件的命令,创建快照引用(例如被命名数据流或扩展属性)并将其附加于文件系统目录210内的文件名。在一个实施例中,当响应于快照的创建或响应于写文件的命令而创建快照引用时,该快照引用被物理地加入存储器内的文件系统目录210中,并且还被转储到盘空间220内的文件系统222。应该理解,在文件系统目录210和文件系统222之间维护数据一致性依赖于文件系统结构。
在另一个示例内,响应于发现命令,动态地创建快照引用并将其附加于文件系统目录210内的文件名。发现命令的示例包括但不局限于用户请求列出特定目录的内容并打开特定目录。当文件系统快照线程检测到发现命令时,该线程请求向文件系统222发送请求以返回被发现请求的文件的有效快照文件在快照224和226内的位置。具体地,文件系统222可维护有效快照文件的目录,或从快照224和226搜索有效快照文件。在文件系统快照线程从文件系统222检测到有效快照位置时,文件系统快照线程动态地创建快照引用,并将该快照引用附加于文件系统目录210内的相关文件名。动态创建的快照引用仅存在于存储器内的文件系统目录210内。通过根据用户发现请求动态地创建快照引用,文件系统控制器170仅在被请求时创建快照引用,这可提供包括快照引用创建所需的时间和盘空间最小化的性能好处。
现在参照图3,该图示出关于合并到文件系统目录内的快照的文件系统目录。在该示例中,文件系统目录210包括根目录300和包括bin 302、system 304和public 306的子目录层。
在该示例内,被名为“abe”的文件308标识的文件系统数据位于子目录bin 302下。另外,名为“~abe.1”的被命名数据流310和名为“~abe.2”的被命名数据流312附加于文件308。被命名数据流310引用由文件308标识的数据在第一时间点的快照,被命名数据流312引用由文件310标识的数据在第二时间点的快照。应该理解,除了被命名数据流310和312之外,引用其他快照的另外的被命名数据流和引用与文件308相关联的其他数据的另外的被命名数据流或扩展属性均可附加于文件308。另外,应该理解,包括在引用快照的位置的被命名数据流或扩展属性内的数据可引用物理位置或逻辑位置,其中逻辑卷管理器将逻辑位置转换成物理位置。
根据文件系统目录210内的示例目录结构,如果用户提交命令“ls/root/bin”,则所得到的列表将会包括以下条目:“abe”、“~abe.1”和“~abe.2”。因此,使用请求特定目录或子目录的内容的列表的“ls”命令,用户接收到在该目录下的文件和所附加的引用被命名文件的快照文件的被命名数据流的列表。因为快照目录以附加于文件的被命名数据流的形式合并到文件系统目录内,所以用户可在特定时间点定位文件系统文件的快照,而无需配设单独的快照目录。
用户或者操作系统可为引用快照的位置的被命名数据流指定命名约定。在该示例中,所应用的命名约定指定,在被命名数据流310和312的名称的开始处的“~”标识被命名数据流为对快照的位置的引用。另外,每个被命名数据流的名称包括引用在快照内被复制的数据的文件的名称。此外,在该示例中,所应用的命名约定指定,特定文件的随时间发展的每个快照实例的被命名数据流分别由在名称结尾处的“.X”所标识,其中“X”是数字。应该理解,当对被命名数据流进行命名时,文件系统快照线程208可应用其他命名约定。
另外,在该示例中,被命名数据流314附加于子目录public 306上。被命名数据流314被命名为“~toc.1”。如由名称的开始处的“~”所指示的,被命名数据流314引用快照文件。但是,被命名数据流314附加于子目录public 306而不是文件上。在一个实施例中,引用快照并附加于子目录的被命名数据流指示被获取该快照的数据已从该子目录删除。例如,先前,名为“toc”的文件位于子目录public 306下,其中该文件包括所附加的名为“~toc.1”的被命名数据流,该被命名数据流引用由文件“toc”所引用的数据在特定时间点的快照。用户例如通过输入命令“rm/root/public/toc”删除文件“toc”。作为响应,文件处理线程被调用以从public 306和文件系统222删除名为“toc”的文件,且文件系统快照线程被调用以将该被命名数据流从该文件重新附加于public 306。因此,在删除之后,如果用户提交命令“ls/root/public”,则所得到的列表将包括以下条目:“~toc.1”。有利地,由于快照目录以重新附加于目录的被命名数据流的形式合并到文件系统目录中,所以当删除该目录下的文件时,用户可快速识别文件系统目录210内余留的被删除文件的快照。
现在参照图4,该图示出快照引用偏好。在一个实施例中,用户可与图形用户接口交互,以在图4内所示的偏好中进行选择。在另一个实施例中,用户可输入命令以在可用的可选偏好中进行选择。文件系统控制器170可使用偏好400来确定何时触发以及如何控制文件处理线程206和文件系统快照线程208。
在该示例中,用户可选择快照引用创建偏好。在该示例中,用户选择第一偏好402以对于除了public目录306之外的每个目录在发现时动态地创建快照引用,和第二偏好404以在public目录306内写文件时自动创建快照引用。应该理解,用户可选择另外的快照引用创建偏好,并且可手动地在特定时间点请求进行快照引用。
另外,用户可根据目录、文件类型或其他准则选择快照引用类型偏好。在该示例内,用户选择第一偏好406以使用被命名数据流来引用除了public目录306之外的所有目录下的快照。用户选择第二偏好408以使用扩展属性来引用在public目录306下的快照。在其他示例内,用户可根据文件类型或根据是基于写操作还是删除操作来触发快照引用创建,来选择快照引用类型。
现在参照图5,该高级逻辑流程图示出了用于控制在文件系统目录内创建和管理快照引用的过程和程序。如图所示,该过程在块500开始,并此后前进到块502。块502描述文件系统控制器170启用对快照引用创建的设置。例如,文件系统控制器170可从快照引用偏好400或从系统管理员设置启用对快照引用创建的设置。接下来,块504描述确定文件系统控制器170是否检测到对于快照引用的创建的触发。如果检测到对于快照引用的创建的触发,则然后该过程转到块506。
块506描述根据快照偏好400确定被复制文件的快照引用类型。接下来,块508描述确定检测到什么类型的触发。
在块508,如果该触发是在检测到快照的创建或检测到写文件的命令时自动创建快照引用,则该过程转到块518。接下来,块518描述确定是否在有删除命令时触发快照引用创建。
在块518,如果在有删除命令时触发快照引用创建,则该过程转到块520。块520示出将引用快照位置的快照引用类型(例如被命名数据流或扩展属性)附加于保存被复制并且将被删除的文件的目录。接下来,块522描述将任何快照引用(例如被命名数据流或扩展属性)重新附加于保存将被删除的文件的目录,并且该过程结束。应该理解,响应于删除命令从文件系统对文件名和文件数据的实际删除可根据具体计算机系统所使用的文件删除方法而改变。
否则,在块518,如果在有删除命令时不触发快照引用创建,则该过程转到块524。块524描述将引用快照的位置的快照引用(例如被命名数据流或扩展属性)附加于文件系统目录内被该快照所复制的当前文件,且该过程结束。
返回块508,如果触发是在发现时创建,则该过程转到块512。块512描述向文件系统请求发现请求内的当前文件的有效快照的位置。接下来,块514示出动态创建对于已存在于盘空间内的当前文件的有效快照的位置的快照引用并然后将其附加于该发现请求内的当前文件,并且该过程结束。
尽管已参照优选实施例具体示出和描述了本发明,但是本领域内的技术人员应该理解,可在其中进行形式和细节上的各种改变而不会背离本发明的精神和范围。

Claims (18)

1. 一种用于访问文件系统快照的方法,其中所述文件系统快照包括来自计算机系统的至少一个存储设备内的文件系统的数据的副本,包括:
创建附加于所述文件系统的文件系统目录内用于所述数据的条目的被命名数据流,其中所述被命名数据流保存对所述数据的所述副本在所述存储设备内的存储位置的引用;以及
使能经由所述被命名数据流访问所述文件系统快照。
2. 根据权利要求1的方法,其中创建附加于所述文件系统的文件系统目录内用于所述数据的条目的被命名数据流进一步包括:
在创建每一文件系统快照时,使能自动创建所述被命名数据流;以及
响应于检测到在所述存储设备内的所述文件系统快照的创建,物理地创建附加于所述文件系统的所述文件系统目录内用于所述数据的所述条目的所述被命名数据流。
3. 根据权利要求1的方法,其中创建附加于所述文件系统的文件系统目录内用于所述数据的条目的被命名数据流还包括:
在检测到写文件的命令时,使能为由文件表示的数据自动创建所述被命名数据流;以及
响应于检测到写特定文件的命令,创建附加于所述文件系统的所述文件系统目录内用于所述特定文件的所述条目的所述被命名数据流。
4. 根据权利要求1的方法,其中创建附加于所述文件系统的文件系统目录内用于所述数据的条目的被命名数据流还包括:
在检测到发现所述文件系统目录的至少一个特定目录的内容的命令时,使能自动创建所述被命名数据流;以及
响应于检测到发现至少一个特定目录的内容的命令,动态地创建附加于所述文件系统目录的所述至少一个特定目录内用于特定数据的所述条目的所述被命名数据流。
5. 根据权利要求4的方法,还包括:
响应于检测到所述发现至少一个特定目录的内容的命令,请求与所述至少一个特定目录相关联的数据的所有有效快照在所述存储设备内的位置的列表;以及
动态创建用于引用与所述至少一个特定目录相关联的数据的每一有效快照的每一位置的单独被命名数据流。
6. 根据权利要求1的方法,还包括:
响应于列出所述文件系统目录的条目的单个命令,在单个响应内列出用于所述数据和所述被命名数据流的所述条目。
7. 根据权利要求1的方法,还包括:
响应于检测到从所述文件系统删除所述数据的命令:
从所述存储设备删除所述数据;
将所述被命名数据流附加于所述文件系统目录内、所述数据所在的目录;以及
从所述文件系统目录删除用于所述数据的所述条目。
8. 根据权利要求1的方法,其中创建附加于所述文件系统的文件系统目录内用于所述数据的条目的被命名数据流还包括:
利用将所述被命名数据流的类型标识为引用文件系统快照的至少一个字符,创建所述被命名数据流。
9. 根据权利要求1的方法,其中所述被命名数据流是扩展属性,其中,除非在发现命令内被明确地搜索,否则扩展属性被隐藏。
10. 一种包括有效文件系统快照的文件系统,其中所述文件系统快照包括来自计算机系统的至少一个存储设备内的文件系统的数据的副本,所述文件系统包括:
用于控制所述文件系统的文件系统控制器,其中所述文件系统通过所述计算机系统的存储器内存储的文件系统目录被管理;
所述文件系统控制器用于创建附加于所述文件系统的文件系统目录内用于所述数据的条目的被命名数据流,其中所述被命名数据流保存对所述数据的所述副本在所述存储设备内的存储位置的引用;以及
所述文件系统控制器用于使能经由所述被命名数据流访问所述文件系统快照。
11. 根据权利要求10的文件系统,其中所述文件系统控制器进一步包括:
用于在创建每一文件系统快照时使能自动创建所述被命名数据流的装置;以及
文件系统快照线程,用于响应于检测到在所述存储设备内的所述文件系统快照的创建,物理地创建附加于所述文件系统的所述文件系统目录内用于所述数据的所述条目的所述被命名数据流。
12. 根据权利要求10的文件系统,其中所述文件系统控制器还包括:
用于在检测到写文件的命令时使能为由文件表示的数据自动创建所述被命名数据流的装置;以及
文件系统快照线程,其响应于检测到写特定文件的命令而被触发,用于创建附加于所述文件系统的所述文件系统目录内用于所述特定文件的所述条目的所述被命名数据流。
13. 根据权利要求10的文件系统,其中所述文件系统控制器还包括:
用于在检测到发现所述文件系统目录的至少一个特定目录的内容的命令时使能自动创建所述被命名数据流的装置;以及
文件系统快照线程,其响应于检测到发现至少一个特定目录的内容的命令而被触发,用于动态地创建附加于所述文件系统目录的所述至少一个特定目录内用于特定数据的所述条目的所述被命名数据流。
14. 根据权利要求13的文件系统,还包括:
所述文件系统快照线程响应于检测到所述发现至少一个特定目录的内容的命令而被触发,用于请求与所述至少一个特定目录相关联的数据的所有有效快照在所述存储设备内的位置的列表;以及
所述文件系统快照线程用于动态创建用于引用与所述至少一个特定目录相关联的数据的每一有效快照的每一位置的单独被命名数据流。
15. 根据权利要求10的文件系统,其中所述文件系统控制器响应于检测到列出所述文件系统目录的条目的单个命令,在单个响应内列出用于所述数据和所述被命名数据流的所述条目。
16. 根据权利要求10的文件系统,其中所述文件系统控制器还包括:
响应于检测到从所述文件系统删除所述数据的命令而被触发的以下装置:
用于从所述存储设备删除所述数据的装置;
用于将所述被命名数据流附加于所述文件系统目录内、所述数据所在的目录的装置;以及
用于从所述文件系统目录删除用于所述数据的所述条目的装置。
17. 根据权利要求10的文件系统,其中所述文件系统控制器还用于利用将所述被命名数据流的类型标识为引用文件系统快照的至少一个字符,创建所述被命名数据流。
18. 根据权利要求10的文件系统,其中所述被命名数据流是扩展属性,其中,除非在发现命令内被明确地搜索,否则扩展属性被隐藏。
CNB2006100661476A 2005-07-21 2006-03-24 用于访问文件系统快照的方法和文件系统 Expired - Fee Related CN100414547C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/186,701 US20070022117A1 (en) 2005-07-21 2005-07-21 Accessing file system snapshots directly within a file system directory
US11/186,701 2005-07-21

Publications (2)

Publication Number Publication Date
CN1900928A CN1900928A (zh) 2007-01-24
CN100414547C true CN100414547C (zh) 2008-08-27

Family

ID=37656815

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100661476A Expired - Fee Related CN100414547C (zh) 2005-07-21 2006-03-24 用于访问文件系统快照的方法和文件系统

Country Status (2)

Country Link
US (1) US20070022117A1 (zh)
CN (1) CN100414547C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106575309A (zh) * 2014-08-29 2017-04-19 微软技术许可有限责任公司 具有数据块共享的文件系统

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6782389B1 (en) * 2000-09-12 2004-08-24 Ibrix, Inc. Distributing files across multiple, permissibly heterogeneous, storage devices
US8935307B1 (en) 2000-09-12 2015-01-13 Hewlett-Packard Development Company, L.P. Independent data access in a segmented file system
US7836017B1 (en) * 2000-09-12 2010-11-16 Hewlett-Packard Development Company, L.P. File replication in a distributed segmented file system
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7774313B1 (en) * 2005-11-29 2010-08-10 Symantec Corporation Policy enforcement in continuous data protection backup systems
US8732136B2 (en) * 2006-05-22 2014-05-20 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US7788230B2 (en) * 2007-01-23 2010-08-31 International Business Machines Corporation Backing-up and restoring files including files referenced with multiple file names
US7958325B2 (en) * 2007-09-11 2011-06-07 International Business Machines Corporation Handling temporary files in a file system with snapshots
US8200719B2 (en) * 2007-09-11 2012-06-12 Symantec Corporation System and method for performing a file system operation on a specified storage tier
US8312445B2 (en) * 2007-10-01 2012-11-13 International Business Machines Corporation User-specified install locations
US9507784B2 (en) * 2007-12-21 2016-11-29 Netapp, Inc. Selective extraction of information from a mirrored image file
EP2372140B1 (en) * 2010-03-25 2012-12-12 Continental Automotive GmbH Coupling device
US9183208B1 (en) * 2010-12-24 2015-11-10 Netapp, Inc. Fileshot management
US8938425B1 (en) * 2011-06-30 2015-01-20 Emc Corporation Managing logical views of storage
CN103577329B (zh) * 2013-10-18 2017-02-22 华为技术有限公司 一种快照管理方法和装置
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US11119978B2 (en) 2016-06-08 2021-09-14 Red Hat Israel, Ltd. Snapshot version control
US10901648B2 (en) 2018-05-07 2021-01-26 Microsoft Technology Licensing, Llc Distributed data storage system with automatic snapshots, user snapshots and soft delete
US10831720B2 (en) * 2018-05-31 2020-11-10 Microsoft Technology Licensing, Llc Cloud storage distributed file system
CN111859028B (zh) * 2019-04-30 2024-08-16 伊姆西Ip控股有限责任公司 创建用于流式存储的索引的方法、设备和计算机程序产品
CN111291007B (zh) * 2020-02-29 2022-07-19 苏州浪潮智能科技有限公司 一种文件聚合方法、系统、设备以及介质
CN113204549B (zh) * 2021-04-20 2024-10-25 北京达佳互联信息技术有限公司 数据存储方法、数据读取方法、装置、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1434451A (zh) * 2003-01-25 2003-08-06 华中科技大学 基于ntfs磁盘文件系统结构的文件隐藏方法
US6643654B1 (en) * 2001-06-25 2003-11-04 Network Appliance, Inc. System and method for representing named data streams within an on-disk structure of a file system
CN1573750A (zh) * 2003-06-13 2005-02-02 微软公司 用于在网络化环境中暴露影像拷贝的机制
US20050131955A1 (en) * 2003-12-10 2005-06-16 Veritas Operating Corporation System and method for providing programming-language-independent access to file system content

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905990A (en) * 1997-06-23 1999-05-18 International Business Machines Corporation File system viewpath mechanism
DE19937423C2 (de) * 1999-08-07 2001-10-04 Ibm Verfahren zur schnellen Datensicherung und Datenübertragung
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US7085785B2 (en) * 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature
US7216135B2 (en) * 2002-02-15 2007-05-08 International Business Machines Corporation File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address
US7043503B2 (en) * 2002-02-15 2006-05-09 International Business Machines Corporation Ditto address indicating true disk address for actual data blocks stored in one of an inode of the file system and subsequent snapshot
US6959310B2 (en) * 2002-02-15 2005-10-25 International Business Machines Corporation Generating data set of the first file system by determining a set of changes between data stored in first snapshot of the first file system, and data stored in second snapshot of the first file system
US7225204B2 (en) * 2002-03-19 2007-05-29 Network Appliance, Inc. System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping
US6996582B2 (en) * 2002-10-03 2006-02-07 Hewlett-Packard Development Company, L.P. Virtual storage systems and virtual storage system operational methods
US7284016B2 (en) * 2002-12-03 2007-10-16 Emc Corporation Client-server protocol for directory access of snapshot file systems in a storage system
US20060230014A1 (en) * 2004-04-26 2006-10-12 Storewiz Inc. Method and system for compression of files for storage and operation on compressed files
US7548939B2 (en) * 2005-04-15 2009-06-16 Microsoft Corporation Generating storage reports using volume snapshots

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643654B1 (en) * 2001-06-25 2003-11-04 Network Appliance, Inc. System and method for representing named data streams within an on-disk structure of a file system
CN1434451A (zh) * 2003-01-25 2003-08-06 华中科技大学 基于ntfs磁盘文件系统结构的文件隐藏方法
CN1573750A (zh) * 2003-06-13 2005-02-02 微软公司 用于在网络化环境中暴露影像拷贝的机制
US20050131955A1 (en) * 2003-12-10 2005-06-16 Veritas Operating Corporation System and method for providing programming-language-independent access to file system content

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106575309A (zh) * 2014-08-29 2017-04-19 微软技术许可有限责任公司 具有数据块共享的文件系统

Also Published As

Publication number Publication date
CN1900928A (zh) 2007-01-24
US20070022117A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
CN100414547C (zh) 用于访问文件系统快照的方法和文件系统
US10936547B2 (en) Filesystem replication using a minimal filesystem metadata changelog
US7308543B2 (en) Method and system for shredding data within a data storage subsystem
US6636878B1 (en) Mechanism for replicating and maintaining files in a spaced-efficient manner
KR101130366B1 (ko) 타임라인 기반의 컴퓨팅 환경을 이용하여 데이터를복구하기 위한 방법, 매체 및 시스템
US6484186B1 (en) Method for backing up consistent versions of open files
US20070220029A1 (en) System and method for hierarchical storage management using shadow volumes
US20180018099A1 (en) Systems and methods for performing storage operations using network attached storage
US8135677B2 (en) File management system and method
US9817604B2 (en) System and method for storing data and accessing stored data
US20160306711A1 (en) Systems and methods for restoring data from network attached storage
US20050246386A1 (en) Hierarchical storage management
US20150301758A1 (en) Metadata for data storage array
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
JP2005115948A (ja) ファイルをアーカイブするための方法、システム、およびプログラム
US20070061540A1 (en) Data storage system using segmentable virtual volumes
JP2009505244A (ja) ファイルのコピーおよび更新
CN103597440A (zh) 用于创建克隆文件的方法以及采用该方法的文件系统
KR100819022B1 (ko) 하나의 타겟 볼륨과 하나의 소스 볼륨 사이의 관계 관리
JP4937863B2 (ja) 計算機システム、管理計算機及びデータ管理方法
JP2009064160A (ja) 計算機システム、管理計算機及びデータ管理方法
JP3888100B2 (ja) ファイル・リロケーション・システムおよびその処理プログラム
US9111015B1 (en) System and method for generating a point-in-time copy of a subset of a collectively-managed set of data items
JP2001101039A (ja) 階層ストレージ管理装置
US7130931B2 (en) Method, system, and article of manufacture for selecting replication volumes

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
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: IBM

Effective date: 20121101

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; TO: 201203 PUDONG NEW AREA, SHANGHAI

TR01 Transfer of patent right

Effective date of registration: 20121101

Address after: 201203 Shanghai city Pudong New Area Keyuan Road No. 399 Zhang Jiang Zhang Jiang high tech Park Innovation Park 10 Building 7 layer

Patentee after: International Business Machines (China) Co., Ltd.

Address before: American New York

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080827

Termination date: 20170324

CF01 Termination of patent right due to non-payment of annual fee