CN1655146A - 用于文件系统快照持久性的方法和装置 - Google Patents

用于文件系统快照持久性的方法和装置 Download PDF

Info

Publication number
CN1655146A
CN1655146A CNA2005100064254A CN200510006425A CN1655146A CN 1655146 A CN1655146 A CN 1655146A CN A2005100064254 A CNA2005100064254 A CN A2005100064254A CN 200510006425 A CN200510006425 A CN 200510006425A CN 1655146 A CN1655146 A CN 1655146A
Authority
CN
China
Prior art keywords
file system
snapshot image
snapshot
data block
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.)
Granted
Application number
CNA2005100064254A
Other languages
English (en)
Other versions
CN100478946C (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.)
International Business Machines Corp
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 CN1655146A publication Critical patent/CN1655146A/zh
Application granted granted Critical
Publication of CN100478946C publication Critical patent/CN100478946C/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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于在数据处理系统中管理文件系统中的数据的方法,装置和计算机指令。在文件系统恢复期间,检测用于修改文件系统中数据块的请求。当检测到该请求时,将描述数据块的元数据写入快照映像。将用于文件系统中数据块的数据拷贝到快照映像。当将该数据拷贝到快照映像中之后修改文件系统中的数据块。该快照映像可用于将文件系统返回到修改文件系统中的数据块之前的状态。

Description

用于文件系统快照持久性的方法和装置
技术领域
本发明通常涉及改进型数据处理系统,特别是,用于处理数据的方法和装置。更具体而言,本发明提供了一种用于管理文件系统的方法,装置和计算机指令
背景技术
文件系统是用于在盘上存储和检索文件的机制。文件系统定义了用于跟踪文件的目录结构和访问文件所需的路径语法。文件系统也定义了命名文件的方式,以及文件或卷的最大文件尺寸。文件系统通常由两个不同的部分组成,即文件集合和目录结构。在文件集合中的每个文件存储有关的数据。目录结构组织并提供有关文件系统中文件的信息。
关于文件系统的某些问题涉及文件系统中出现的损坏和错误。采用文件系统快照来建立在某一时间点处文件系统的一致块级映像。块表示同时一起发送或处理的数据组。块也被称之为数据块。例如,块的大小可为1K字节。文件系统快照用于创建文件系统的备份。
这些快照用于重构文件系统。目前的快照对于数据处理系统崩溃不具有持久性(persistence)。本发明认识到当前可获得的快照系统在文件系统恢复操作期间并不会被保持。从而,这些类型的快照在系统重新启动期间不具持久性。
因此,提供用于创建和管理文件系统快照的改进型方法,装置,和计算机指令将是有益的。
发明内容
本发明提供了一种用于在数据处理系统中管理文件系统中的数据的方法,装置和计算机指令。在文件系统恢复期间,检测用于修改文件系统中数据块的请求。当检测到该请求时,将描述数据块的元数据写入快照映像。将文件系统中数据块的数据拷贝到快照映像。当将该数据拷贝到快照映像中之后修改文件系统中的数据块。该快照映像可用于将文件系统返回到修改文件系统中的数据块之前的状态。
附图说明
看作是本发明特性的新颖特征由所附权利要求给出。不过,结合附图,参照以下示意性实施例的详细描述,将更好地理解本发明本身,优选实施方式,及其他目的和优点,其中:
图1为根据本发明优选实施例可实现本发明的数据处理系统的示意图;
图2为可实现本发明的数据处理系统的框图;
图3表示根据本发明优选实施例用在创建和管理文件系统快照中的示意性部件;
图4表示根据本发明优选实施例的快照元数据;
图5表示根据本发明优选实施例、文件系统快照的开始部分的示意图;
图6表示根据本发明优选实施例、快照映像中的快照映像组的示意图;
图7表示根据本发明优选实施例、快照映像组中的快照映像页的示意图;
图8表示根据本发明优选实施例的分段的示意图;
图9A和9B表示根据本发明优选实施例、用于更新文件系统快照的流程图;
图10表示根据本发明优选实施例、用于启动恢复过程的过程;
图11表示根据本发明优选实施例、用于检查文件系统的过程;
图12表示根据本发明优选实施例、用于对文件系统执行文件系统检查恢复过程的过程;
图13表示根据本发明优选实施例、用于对写有日志的文件系统执行日志重写恢复过程的过程。
具体实施方式
现在参照附图,具体参照图1进行描述,其中,图1表示根据本发明优选实施例可实现本发明的数据处理系统的示意图。所示计算机100包括系统单元102,视频显示终端104,键盘106,存储设备108(存储设备108可包括软盘驱动器以及其他类型的永久和可移动存储介质),和鼠标110。个人计算机100还可包括附加输入设备,如操纵杆,触摸板,触摸屏,跟踪球,麦克风等。计算机100可使用任何合适的计算机实现,如IBM eServer计算机或IntelliStation计算机(它们是处于纽约Armonk的IBM公司的产品)。尽管所述表示示出为计算机,然而还可以用其他类型的数据处理系统,如网络计算机,来构成本发明的其他实施例。计算机100还优选包括图形用户接口(GUI),在计算机100的运行操作中,图形用户接口可通过驻留在计算机可读介质中的系统软件来实现。
现参照图2,图2表示可实现本发明的数据处理系统的框图。数据处理系统200是计算机的示例,如图1中的计算机100,其中,可设置有用于实现本发明的过程的代码或指令。数据处理系统200采用外设部件接口(PCI)局部总线体系结构。虽然所述示例采用PCI总线,但也可采用其他总线体系结构,如加速图形端口(AGP)和工业标准体系结构(ISA)。处理器202和主存储器204通过PCI桥208与PCI局部总线206连接。PCI桥208还可包括用于处理器202的集成存储器控制器和高速缓存。通过直接部件互连或通过内插(add-in)连接器可构成到PCI局部总线206的附加连接。在所述示例中,局域网(LAN)适配器210,小型计算机系统接口SCSI主机总线适配器212,和扩展总线接口214通过直接部件连接与PCI局部总线206连接。与之相反,音频适配器216,图形适配器218,和音频/视频适配器219通过插入到扩展槽中的内插板与PCI局部总线206连接。扩展总线接口214为键盘和鼠标适配器220,调制解调器222,和附加存储器224提供连接。SCSI主机总线适配器212为硬盘驱动器226,磁带驱动器228,和CD-ROM驱动器230提供连接。典型的PCI局部总线的实现将支持三或四个PCI扩展槽或内插连接。
操作系统运行在处理器202上,用于协调和控制如图2所示数据处理系统200内的各种部件。操作系统可为市场上可获得的操作系统,如Windows XP(可从微软公司获得)。面向对象的编程系统,如Java,可结合操作系统运行,并提供从数据处理系统200上执行的Java程序或应用对操作系统的调用。“Java”为Sun Microsystems公司的商标。用于操作系统的指令,面向对象的编程系统,以及应用或程序置于存储设备上,如硬盘驱动器226上,并可将其载入主存储器204中以便由处理器202执行。
本领域普通技术人员将会理解,在图2中的硬件可根据实现方式进行变化。除图2所示的硬件外,还可使用或代之以使用其他内部硬件或外设,如快擦写只读存储器(ROM),等效非易失性存储器,或光盘驱动器等。此外,本发明的程序还可应用于多处理器数据处理系统。
例如,对于数据处理系统200,如果可选地配置为网络计算机,其可不包含SCSI主机总线适配器212,硬盘驱动器226,磁带驱动器228,和CD-ROM 230。在此情形中,计算机(恰当称之为客户机计算机)包括某些类型的网络通信接口,如LAN适配器210,调制解调器222等。作为另一示例,数据处理系统200可为独立系统,其被配置成可在不依赖于某类型网络通信接口的条件下进行启动,而不管数据处理系统200是否包括某类型网络通信接口。作为又一示例,数据处理系统200可为个人数字助理(PDA),且该个人数字助理配置有ROM和/或快擦写ROM,以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。
图2所述示例以及上述示例并不意在表示对体系结构的限制。例如,除采用PDA的形式外,数据处理系统200还可为笔记本计算机或手持式计算机。数据处理系统200还可为公用信息机(kiosk)或Web电器。
本发明的处理通过处理器202使用计算机实现的指令来执行,指令可设置在诸如主存储器204,存储器224之类的存储器中,或设置在一个或多个外设226-230中。
参看图3,图3表示根据本发明优选实施例用在创建和管理文件系统快照中的示意性部件。如此处所使用的,术语“快照”用于表示文件系统的快照,另外还可将其称为“文件系统快照”。
在该示例中,存在有用户空间300和内核空间302。快照用户接口304和恢复用户接口306处在用户空间300中。采用这些用户接口以接收用来创建快照的用户输入,以及当要将文件系统恢复到先前状态时执行恢复处理。具体是,使用快照用户接口304启动快照的创建。该接口用于接收诸如创建或删除查询之类的命令。用户可为个人或应用程序。恢复用户接口306用于在系统崩溃或断电后启动文件系统的恢复。
内核空间302包含文件处理线程308,文件系统快照线程310,逻辑卷管理器312,文件系统设备314,和快照设备316。文件系统318处在文件系统设备314内,而快照320处在快照设备316内。在这些示例中,这两个设备为逻辑卷。文件处理线程308用于数据访问,如读操作,写操作,或安装驱动操作。对文件系统(如文件系统设备314中的文件系统318)中发现的数据执行这些操作。当在正常文件系统操作期间接收到用于数据访问的请求时,使用文件处理线程308的处理。
文件系统快照线程310用于实现创建快照(如处在快照设备316中的快照320)的处理。该设备可设置在多个位置。例如,快照320可与文件系统318处在同一物理硬盘驱动器上。或者,快照320可处在另一存储介质上,如非易失性随机存取存储器(NVRAM),另一物理硬盘驱动器,或光学介质上。逻辑卷管理器312用于在文件处理线程308,文件系统快照线程310和逻辑设备,与文件系统设备314和快照设备316之间提供接口。
在运行期间,按照当数据处理系统中出现崩溃时可重构快照320中的状态的方式,构造快照元数据并将其写入快照320。在这些说明性示例中,在文件系统恢复或修复期间,在快照设备320中重构的快照通过恢复或修复程序而不断被更新,从而使重新设置时所重构快照的状态与重新设置时所修复的文件系统的状态相一致。当文件系统恢复或修复操作完成后,快照将继续包含创建快照时刻的文件系统的一致块级映像。
特别是,当在文件系统中要修改数据时,如将其写入文件系统318或从文件系统318中将其删除时,使用来自文件系统的数据来更新快照320。在这些示例中,将所要在文件系统318中修改的数据块在对其实际进行修改之前将其拷贝到快照320中。除来自数据块的数据外,还将描述修改之前该数据块的信息和元数据拷贝或写入到快照320中。可使用在针对快照320中数据块的运行期间所产生的元数据和数据,将文件系统318设置到对该数据块进行修改之前的状态。
下面参看图4,图4表示根据本发明优选实施例的快照元数据。快照元数据400为用于跟踪文件系统中的文件系统块的快照元数据的示例,如在图3中的快照320。快照元数据400通过快照处理(如在图3中的文件系统快照线程310)来创建。在本发明所示示例中,该快照在数据处理系统的系统重新启动期间是具有持久性的。在这些示例中,当文件系统恢复或修复操作能够保持快照映像时,会出现快照的持久性。
在所示示例中,快照元数据400包含快照摘要映像(snapshotsummary map)402,快照映像404,和快照分段406。在快照摘要映像402中的项用于描述在快照映像404中发现的快照映像页。在这些示例中,在快照摘要映像402中的每个项描述快照映像404中快照映像组的初始化状态。快照映像组包含32个快照映像页。在快照映像404中的数据描述在文件系统中每个数据块的现用(in-use)和拷贝(copied)状态。快照分段406包含描述拷贝到快照分段406中的数据块的前映像(before-image)描述符,以及文件系统修改之前的数据块。
在运行期间,当要对文件系统上的数据块进行修改时,在快照元数据400中保留盘上(on-disc)结构状态。这些修改包括写入时拷贝(COW,copy-on-write)和删除时拷贝(COD,copy-on-delete)操作。对数据块的这些状态的保留使得能够将文件系统返回到文件系统中的数据块被修改之前的状态。对在快照映像404中的快照映像组进行分配,初始化每个快照映像项的现用状态,并将其同步写到在快照元数据400中初始化的每个快照映像组的盘上。在运行期间,同步初始化和更新摘要快照映像项。
现在参看图5,根据本发明优选实施例,给出了文件系统快照的开始部分的示意图。部分500表示在硬盘驱动器上的包含有快照超级块502,块映像Xtree拷贝504,和快照摘要映像506的部分。
快照摘要映像506为快照的开始,如在图4中的快照元数据400。快照超级块502用于标识快照的开始,并指向自文件系统最后安装后所写入的快照中的快照分段的开始和末尾。当在数据处理系统中文件系统可用于访问时,文件系统安装完毕。块映像X树(Xtree)拷贝504包含有描述文件系统中不同块的现用状态的文件系统结构映像。快照摘要映像506包含有若干项,其中,每个项指向快照分段,该快照分段包含快照映像组,以及该快照映像组中初始化的每个快照映像页的现用状态的摘要。
现参看图6,根据本发明优选实施例,表示出快照映像中的快照映像组。快照映像组600表示设置在快照映像(如图4所示的快照映像404)中的页的示例。在这些示例中,快照映像组600包括32个页,但在该图中仅显示出其中的4个页,快照映像页602,快照映像页604,快照映像页606,和快照映像页608。将快照组600中的每个快照映像页初始化为现用状态,并将其同步写到对于该页映射的每个文件系统块的盘上。文件系统块的前映像进行拷贝后,将文件系统块的拷贝状态异步写入到快照映像页中。
现参看图7,根据本发明优选实施例,表示出快照映像组中的快照映像页。快照映像页700表示快照映像页(如在图6中的快照映像页602)的示例。该页或项包含有与快照分段中的该具体页相关的每个数据块的现用状态的描述。例如,项702,704,706,708,710,712和714描述正处于使用状态的文件系统数据块。该示例表示,当创建了快照时,文件系统块0,1,2,508,509,510和511在文件系统中处于现用(in use)状态。项716,718和720显示文件系统块处理拷贝(copied)状态。该示例表示,文件系统块509,510和511已将其前映像拷贝到快照中。项726,728和730显示在快照中拷贝了文件系统块的前映像的位置。该示例表示,文件系统块509的前映像被拷贝到了快照块516,文件系统块510的前映像被拷贝到了快照块517,以及文件系统块511的前映像被拷贝到了快照块518。项722和724显示为既没有被使用,又没有被拷贝。在这些示例中,在快照映像页700中出现有512个项。出于说明目的,在快照映像页700中仅显示出数个项。
下面,参看图8,显示出根据本发明优选实施例的分段的示意图。分段头部800表示处在快照分段(如在图4中的快照分段406)中的分段头部的示例。在该示例中,分段头部800处在分段801中的某个页中,在该示例中,分段801的长度为128k字节。当然,根据实现方式,可使用任何大小的分段。
分段801包含分段头部800和248个sLog项,分段头部800包含链接,自身值,和扩展(extent)数。链接是到下一个分段的地址,自身值是当前分段的地址。扩展数的值表示被拷贝到分段中的扩展的数目。扩展是作为单位分配到文件系统的连续文件系统块的序列。如图所示,sLog项804,806和808是用于描述已拷贝到快照中的文件系统前映像的头部项的示例。每个sLog项包括循环冗余校验(CRC)数据,起始数据块地址,(sAddr)和长度,该长度表示连续数据块的数量。在该示例中,在部分或扩展810或812中找到前映像文件系统数据块。在此情形中,“前映像”表示在创建快照时在文件系统中已存在的文件系统块。当试图修改块映像时,该块映像即成为“前映像”。同时,将新的块映像称为“后映像”。快照获取文件系统块的前映像的拷贝,然后,文件系统能够将后映像块写入到其设备上。
对于分段,如分段801,将前映像数据块同步写入到这些分段中。这些分段在超级块(如在图5中的快照超级块502)中的链表中得以描述。该链表的最后分段的头部,总是在仅次于最后的分段的头部被写成指向该最后分段之前被初始化。这些分段还包括描述拷贝到分段中的数据块的前映像描述符。在这些示例中,校验和字段,如CRC数据字段,用于验证当出现崩溃时最后前映像扩展的换出。
图9A和9B表示,根据本发明优选实施例,用于更新文件系统快照的流程图。在图9A和9B的处理还可在快照过程(如在图3中文件系统快照线程310)中实现。
处理以接收到用于修改文件系统中数据的请求而开始,例如写入或删除请求(步骤900)。接下来,确定是否存在文件系统的快照(步骤902)。如果存在快照,则确定块X的快照摘要映像(ssMap)项是否已初始化(步骤904)。在这些示例中,ssMap项在ssMap中创建,如在图4中的快照摘要映像402中创建。块X用于在文件系统中要被修改的数据块。如果块X的ssMap项未被初始化,则对该ssMap项的32个sMap页进行现用(inUse)状态的初始化(步骤906)。这些sMap页例如可为在图6所示快照映像组600中的页。
之后,将32个快照映像(sMap)页同步写入到快照中(步骤908)。接下来,将ssMap标记为已被初始化,在该项中对sMapGroup的位置进行标记,并将其同步写入到在快照中的摘要快照映像中(步骤910)。
下面,确定当产生快照时块X是否处于现用状态(步骤912)。如果当产生快照时在文件系统中块X处于现用状态,则确定块X是否被拷贝到快照中(步骤914)。如果块X尚未从文件系统拷贝到快照中,则从文件系统读取来自文件系统的块X的前映像(步骤916)。
之后,确定在快照中的当前分段是否已满(步骤918)。如果当前分段未满,则使用以下内容修改当前分段头部:块X的前映像在快照中的位置,该数据块在文件系统中的位置,以及块X的前映像的校验和(步骤920)。接下来,将分段头部和块X的前映像同步写入到快照中(步骤922)。换而言之,将在修改文件系统的数据块之前从文件系统读取的对于数据块的数据写入到快照中。之后,异步更新sMap页,以表示块X已被拷贝到快照中,以及表示块X的前映像的位置(步骤924)。该快照映像页例如可为在图6中的快照映像页602。下面,执行文件系统修改,如文件系统写入或删除操作(步骤926),其后,过程终止。
转到步骤902,如果快照不存在,则过程进行到如以上所述的步骤926。接下来,回到步骤904,如果块X的ssMap项已被初始化,则过程直接进行到如以上所述的步骤912。在步骤912中,如果当产生快照时块X未处于现用状态,则过程进行到如以上所述的步骤926。回到步骤914,如果块X未拷贝到快照中,则过程进行到如以上所述的步骤926。
回到步骤918,如果当前分段满,则在快照中为新分段分配空间(步骤928)。接下来,初始化新分段的头部,以显示新分段为空,且目前在快照中是最后的分段(步骤930)。然后,同步写入新分段头部(步骤932)。此外,标记前一个分段,以使其指向作为下一个分段的新分段(步骤934)。下面,同步写入前一个分段的头部(步骤936)。同步写入这些分段的头部,并按这种特定顺序,从而确保在它们都被写入盘上之前不会出现系统崩溃。该文件系统恢复过程依赖于能够确定在该列表中最后写入的分段。然后,将新分段标记为当前分段(步骤938)。之后,过程进行到如上所述的步骤920。
图10-13的流程图描述了用于将文件系统恢复到一致状态的恢复过程。本发明的机制提供了用于保留当发生文件系统的恢复或修复时的快照的方法。
通过遍历(walking)前映像数据分段的链表以找出已拷贝到快照中的文件系统块,从而重构摘要映像页的拷贝状态。此外,以下所描述的过程通过恢复或修复过程对文件系统数据块的任何写入或删除执行写入时拷贝和删除时拷贝处理。在未安装文件系统的条件下出现系统崩溃或掉电后,文件系统元数据将处在不一致的状态。例如,可能已刷新某些块到盘中,而其他块未刷新到盘中。使用恢复/修复过程(fsck代码或日志重写(logredo))将系统文件元数据恢复到一致状态。该状态不必与当前快照的状态相同。内核侧(kernel-side)代码不对不一致状态的文件系统进行处理,从而,文件系统在其能够被再次安装前必须进行修复。此外,以下所描述的过程在运行期间保持有盘上结构状态,以便在中断时能够继续进行恢复和修复。
图10表示根据本发明优选实施例、用于启动恢复过程的过程。可在诸如图3所示恢复UI 306之类的过程中实现该过程。
过程以读取从超级块所指向的第一分段头部而开始(步骤1000)。该超级块例如为在图5中的快照超级块502。其次,选出在分段中未处理的sLog项(步骤1002)。该项等效于如图8中所示sLog项。然后,确定该选出的分段是否为快照分段表中最后的分段(步骤1004)。如果这就是最后的分段,则通过检查校验和来确定是否已拷贝了数据块(步骤1006)。利用步骤1006确定在系统暂停之前前映像是否完全写到盘上。例如,如果来自文件系统的数据块未拷贝到快照,而数据块的元数据已写入到快照中且系统崩溃,校验和将不匹配。在这种情形中,数据块未拷贝到快照中,而在文件系统上的数据块保持完整,这是由于在这种情形中数据块在文件系统上未被修改。由于分段头部的同步写入,该校验只在最后分段上是必需的。
接下来,确定在项中的校验和是否正确(步骤1008)。如果校验和正确,则确定数据块是否标记为在sMap中已拷贝(步骤1010)。如果数据块当前未标记为在sMap中已拷贝,则现在将该数据块标记为在sMap中已拷贝(步骤1012)。
此外,确定对该分段是否存在任何附加项(步骤1018)。如果对该分段存在附加项,则确定是否存在另一个未处理的分段(步骤1020)。如果存在另一个未处理的分段,则读取下一个未处理的分段(步骤1022)。然后,过程进行到以上所述的步骤1002。回到步骤1018,如果对分段存在更多未处理的项,则过程还进行到如上所述的步骤1002。
回到步骤1020,如果不存在另一未处理的分段,则开始进行恢复处理(步骤1014)。其次,启动运行时处理过程(步骤1016),之后过程终止。步骤1014与图12中的步骤1208或图13中的步骤1306相同。步骤1016与图12中的步骤1214或图13中的步骤1312相同。
回到步骤1004,如果这不是最后的分段,则过程进行到如上所述的步骤1010。回到步骤1008,如果校验和不正确,则过程进行到如上所述的步骤1014。在步骤1010中,如果块被标记为在sMap中已拷贝,则过程进行到如上所述的步骤1018。
下面,参看图11,根据本发明优选实施例,表示用于检查文件系统的过程。图11中的过程可被实现到恢复UI(如在图3中的恢复UI306)中。该过程表示当启动文件系统恢复如fsck代码时的流程。
过程以运行日志重写而开始(步骤1102)。用于日志重写所执行的步骤在后面的图13中进行更详细的描述。其次,确定是否请求了快速文件系统检查以及文件系统是否标记为干净(clean)。检查文件系统超级块,以确定文件系统是否干净。如果日志重写不能修复文件系统,则状态将被标记为脏(dirty)。如果快速文件系统检查未被请求或标记为干净,则运行文件系统(步骤1106),之后,过程终止。文件系统检查步骤将在后面的图12中进行更详细地描述。回到步骤1104,如果快速文件系统检查被请求,以及文件系统被标记为脏,则之后过程终止。
在图12中,根据本发明优选实施例,表示用于对文件系统执行文件系统检查恢复过程的过程。文件系统检查恢复过程是通过查看所有系统元数据来验证和修复文件系统元数据使之具有一致性的方法。该过程还被称为fsck。在图12中的过程可被实现到恢复UI(如在图3中的恢复UI 306)中。
过程以确定文件系统检查是否具有文件系统写入许可而开始(步骤1202)。如果文件系统检查具有文件系统写入许可,则将运行时结构初始化以与快照连接(步骤1204)。运行时结构是用于保持所要在恢复操作期间写入到快照中的数据的缓冲区。
接下来,通过遍历分段表来重构sMap页(步骤1206)。参照在图10中的步骤1000-1014以及1018-1022更详细地描述了步骤1206。由于在运行期间sMap页被异步写入,从而恢复sMap页。sMap页没有必要具有文件系统块的正确拷贝状态。之后,继续进行正常的读/写(rw)文件系统处理(步骤1208)。在步骤1208期间,fsck代码查看所有文件系统元数据,并确定在系统文件元数据中是否存在任何不一致性。如果fsck代码找到任何不一致性,则fsck代码确定如何修复文件系统元数据。fsck代码或去除文件系统对象,或尝试修复文件系统对象的元数据。去除将导致COD,修复将导致COW。
然后,确定文件系统检查是否通过写入时拷贝(COW)操作或删除时拷贝(COD)操作来修改文件系统(步骤1210)。如果文件系统检查不通过COW操作或COD操作修改文件系统,则通过刷新sMap页的任何缓冲写入到盘上而关闭快照(步骤1212),之后,过程终止。
回到步骤1202,如果文件系统检查不具有文件系统写入许可,则继续进行不具有快照交互的只读文件系统检查(步骤1216),之后,过程终止。在只读检查期间,fsck代码查看所有文件系统元数据,如果找到任何不一致性,则发出告警消息。它不对文件系统做任何修改。回到步骤1210,如果文件系统检查通过COW操作或COD操作修改文件系统,那么,假如文件系统块已被拷贝到快照中,则执行运行时检查(步骤1214),然后,过程进行到如上所述的步骤1208。该检查采用与图9A和9B所述相同的方式进行。它是在与当前运行在图3所示恢复UI 306中的fsck代码过程相同的过程下进行。
下面,参看图13,根据本发明优选实施例,表示用于对写有日志的文件系统执行日志重写恢复过程的过程。图13中的过程可被实现到恢复UI(如图3中的恢复UI 306)中。
过程以初始化运行时结构以与快照连接而开始(步骤1302)。接下来,通过遍历分段表来重构sMap页(步骤1304)。参照在图10中的步骤1000-1014以及1018-1022更详细地描述了步骤1304。之后,继续进行正常的日志重写处理(步骤1306)。读取与文件系统相关的日志记录。文件系统使用数据库日志技术,以通过在日志记录中跟踪文件系统元数据的变化,从而保持文件系统的结构一致性。重现日志记录。每个日志记录包含关于文件系统元数据变化的信息。通过重现日志记录,根据日志记录来修改文件系统元数据。将从日志结束起始并且反向移动的所有日志记录重现,直至到达最近的同步点。其次,确定日志重写是否通过COW操作或COD操作来修改文件系统(步骤1308)。如果日志重写不通过COW操作或COD操作修改文件系统,则通过刷新sMap页的任何缓冲写入到盘上而关闭快照(步骤1310),之后,过程终止。
回到步骤1308,如果日志重写通过COW操作或COD操作修改文件系统,那么,执行运行时检查以确定文件系统数据块是否已被拷贝到快照中(步骤1312)。与fsck代码类似,步骤1312等效于先前在图9A和9B所述的过程。然后,过程进行到如上所述的步骤1306。
从而,本发明提供了用于从系统崩溃恢复,并保持通过本发明的过程所创建的文件系统快照的改进型方法,装置和计算机指令。本发明的机制动态更新文件系统的快照。将关于在文件系统中进行修改的数据块的元数据包括在快照中。在这些示例中,修改为在文件系统中对数据块的写入和删除操作。在文件系统中对数据块执行修改操作之前,将要经受这样操作的数据块拷贝到快照中。此外,在修改之前,将诸如在文件系统中数据块的位置之类的数据,以及在快照中数据块的位置,包括在快照中。数据块被写入到快照之前,将关于数据块的元数据写入到快照中。写入到快照中的数据块用于该数据块的前映像,这是由于在创建快照时它已存在于文件系统中。在文件系统中的数据块的修改发生在元数据以及数据块的前映像写入快照之后。该修改导致数据块的“后映像”版本。如果想要将文件系统的状态恢复到创建快照时的状态,则可使用快照进行恢复。
重要的是应注意,虽然针对全功能的数据处理系统描述了本发明,然而本领域普通技术人员应该理解,本发明的处理能够以指令的计算机可读介质的形式以及多种形式分布,并且无论实际用于实现分布的信号承载介质的具体类型如何,本发明均同样适用。计算机可读介质的示例包括可记录型介质,如软盘,硬盘驱动器,RAM,CD-ROM,DVD-ROM,和传输型介质,诸如使用例如无线电频率和光波传输的传输形式的数据和模拟通信链路,有线或无线通信链路。计算机可读介质可采用编码格式的形式,该格式在具体数据处理系统中为实际应用而进行解码。
本发明的描述是出于说明及描述的目的,并不意在以所批露的形式详尽列举出本发明或限制本发明。显而易见,本领域普通技术人员能够易于想到多种修改和变形。所选及所述实施例是旨在更好地说明本发明的原理以及实际应用,并使本领域其他普通技术人员能够想到本发明的多种修改的多种实施例,这些修改的实施例适用于他们所想到的具体应用。

Claims (24)

1.一种在数据处理系统中用于管理文件系统中的数据的方法,所述方法包括:
检测用于修改在文件系统中的数据块的请求;
当检测到所述请求时,将描述文件系统中的数据块的元数据写入快照映像中;
将文件系统中数据块的数据拷贝到快照映像中;以及
当将数据块中的数据拷贝到快照映像中之后,修改在文件系统中的数据块,其中所述快照映像可用于将文件系统返回到修改文件系统中的数据块之前的状态。
2.根据权利要求1的方法,其中,拷贝步骤包括:
将用于定位数据的信息标识存储在快照映像内的表中,其中,所述表用于定位在文件系统中的不同数据块。
3.根据权利要求1的方法,其中,快照映像包括快照摘要映像,快照映像和一组分段,且其中摘要映像标识快照映像中快照映像页的初始化状态,快照映像包含快照映像页,所述快照映像页标识在文件系统中现用的数据块,所述分段组包括来自文件系统的数据块的拷贝。
4.根据权利要求1的方法,其中,元数据包括快照摘要映像,摘要映像,和分段头部。
5.根据权利要求4的方法,其中,所选事件为当在修改文件系统中的数据块时数据处理系统的失效。
6.根据权利要求4的方法,其中,所选事件为请求将文件系统恢复到一致状态的用户输入。
7.根据权利要求1的方法,其中,写入步骤包括:
在由快照映像组所引用的任何前映像数据块被写入到快照映像之前,将快照映像组的快照映像项的现用状态写入到快照映像中。
8.根据权利要求7的方法,其中,写入步骤还包括:
当将快照映像组的数据块的现用状态写入到快照映像后,将摘要快照映像项标记为被初始化,并标记快照映像组的位置。
9.根据权利要求8的方法,其中,写入步骤还包括:
在将前一个分段修改为指向分段表中新的最后分段之前,初始化该新的最后分段的分段头部。
10.根据权利要求4的方法,其中,快照映像包括快照映像页,且其中在恢复操作期间重构所述快照映像页。
11.根据权利要求10的方法,其中,由恢复操作处理文件系统中将由恢复操作修改的数据块的前映像的拷贝。
12.一种用于管理文件系统中的数据的数据处理系统,所述数据处理系统包括:
检测装置,用于检测修改文件系统中的数据块的请求;
写入装置,当检测到所述请求时,用于将描述文件系统中的数据块的元数据写入快照映像中;
拷贝装置,当检测到所述请求时,用于将文件系统中数据块的数据拷贝到快照映像中;以及
修改装置,当将数据块中的数据拷贝到快照映像中之后,用于修改在文件系统中的数据块,其中,所述快照映像可用于将文件系统返回到修改文件系统中的数据块之前的状态。
13.根据权利要求12的数据处理系统,其中,拷贝装置包括:
存储装置,用于在快照映像内的表中存储用于定位数据的信息标识,其中,所述表用于定位文件系统中的不同数据块。
14.根据权利要求12的数据处理系统,其中,快照映像包括快照摘要映像,快照映像,和一组分段,且其中摘要映像标识快照映像中快照映像页的初始化状态,快照映像包含快照映像页,所述快照映像页标识文件系统中的现用数据块,所述分段组包括来自文件系统的数据块的拷贝。
15.根据权利要求12的数据处理系统,其中,元数据包括快照摘要映像,摘要映像,和分段头部。
16.根据权利要求15的数据处理系统,其中,所选事件为当修改文件系统的数据块时数据处理系统的失效。
17.根据权利要求15的数据处理系统,其中,所选事件为请求将文件系统恢复到一致状态的用户输入。
18.一种在计算机可读介质中、用于在数据处理系统中管理文件系统中的数据的计算机程序产品,所述计算机程序产品包括:
第一指令,用于检测修改文件系统中的数据块的请求;
第二指令,当检测到所述请求时,用于将描述文件系统中的数据块的元数据写入快照映像中;
第三指令,当检测到所述请求时,用于将文件系统中数据块的数据拷贝到快照映像中;
第四指令,用于当将数据块中的数据拷贝到快照映像中之后修改文件系统中的数据块,其中,所述快照映像可用于将文件系统返回到修改文件系统中的数据块之前的状态。
19.根据权利要求18的计算机程序产品,其中,第三指令包括:
子指令,用于在快照映像中的表中存储用于定位数据的信息标识,其中,所述表用于定位文件系统中的不同数据块。
20.根据权利要求18的计算机程序产品,其中,快照映像包括快照摘要映像,快照映像,和一组分段,且其中,摘要映像用于标识快照映像中快照映像页的初始化状态,快照映像包含快照映像页,所述快照映像页标识文件系统的现用数据块或拷贝到快照中的数据块,所述分段组包括来自文件系统的数据块的拷贝。
21.根据权利要求18的计算机程序产品,其中,元数据包括快照摘要映像,摘要映像,和分段头部。
22.根据权利要求21的计算机程序产品,其中,所选事件为当修改文件系统中的数据块时数据处理系统的失效。
23.根据权利要求21的计算机程序产品,其中,所选事件为用于将文件系统恢复到一致状态的用户输入。
24.一种数据处理系统,所述数据处理系统包括:
总线系统;
与所述总线系统连接的存储器,其中,所述存储器包括一组指令;和
与总线系统相连的处理单元,其中处理单元执行一组指令,所述指令用于:检测用于修改文件系统中的数据块的请求;当检测到所述请求时,将描述文件系统中的数据块的元数据写入快照映像中;当检测到所述请求时,将文件系统中数据块的数据拷贝到快照映像中;当将数据块中的数据拷贝到快照映像中之后修改文件系统中的数据块,其中,所述快照映像可用于将文件系统返回到修改文件系统中的数据块之前的状态。
CNB2005100064254A 2004-02-12 2005-01-31 用于文件系统快照持久性的方法和装置 Expired - Fee Related CN100478946C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/777,719 2004-02-12
US10/777,719 US7440966B2 (en) 2004-02-12 2004-02-12 Method and apparatus for file system snapshot persistence

Publications (2)

Publication Number Publication Date
CN1655146A true CN1655146A (zh) 2005-08-17
CN100478946C CN100478946C (zh) 2009-04-15

Family

ID=34838047

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100064254A Expired - Fee Related CN100478946C (zh) 2004-02-12 2005-01-31 用于文件系统快照持久性的方法和装置

Country Status (5)

Country Link
US (1) US7440966B2 (zh)
JP (1) JP4256851B2 (zh)
CN (1) CN100478946C (zh)
SG (1) SG114691A1 (zh)
TW (1) TWI339790B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100541441C (zh) * 2007-11-09 2009-09-16 中国科学院计算技术研究所 一种计算机文件系统的快照创建、删除及修改方法
CN102200920A (zh) * 2010-03-23 2011-09-28 三星电子株式会社 程序编译器、程序安装器和程序安装方法
CN102722536A (zh) * 2012-05-22 2012-10-10 中兴通讯股份有限公司 基于分布式文件系统的快照实现方法及装置
CN103403679A (zh) * 2011-12-31 2013-11-20 华为技术有限公司 易失性存储设备持久化过程中的数据更新方法及装置
CN103440181A (zh) * 2013-09-06 2013-12-11 珠海金山网络游戏科技有限公司 一种文件修改的方法及系统
CN103473251A (zh) * 2012-06-05 2013-12-25 国际商业机器公司 在使用处理器件的计算环境中提供使用选择性元组版本化的文件系统快照的方法和系统
CN103823769A (zh) * 2012-11-19 2014-05-28 纬创资通股份有限公司 计算机系统及数据回复方法
CN106164866A (zh) * 2014-04-08 2016-11-23 微软技术许可有限责任公司 客户端侧web状态的高效迁移
US9747317B2 (en) 2012-06-05 2017-08-29 International Business Machines Corporation Preserving past states of file system nodes
CN107544871A (zh) * 2017-07-21 2018-01-05 新华三云计算技术有限公司 一种虚拟机磁盘备份方法及装置

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7146524B2 (en) 2001-08-03 2006-12-05 Isilon Systems, Inc. Systems and methods for providing a distributed file system incorporating a virtual hot spare
US7685126B2 (en) 2001-08-03 2010-03-23 Isilon Systems, Inc. System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system
AU2003291014A1 (en) * 2002-11-14 2004-06-15 Isilon Systems, Inc. Systems and methods for restriping files in a distributed file system
US8051425B2 (en) 2004-10-29 2011-11-01 Emc Corporation Distributed system with asynchronous execution systems and methods
US8238350B2 (en) 2004-10-29 2012-08-07 Emc Corporation Message batching with checkpoints systems and methods
US8055711B2 (en) 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
US7571153B2 (en) * 2005-03-28 2009-08-04 Microsoft Corporation Systems and methods for performing streaming checks on data format for UDTs
US7814057B2 (en) * 2005-04-05 2010-10-12 Microsoft Corporation Page recovery using volume snapshots and logs
US7672979B1 (en) * 2005-04-22 2010-03-02 Symantec Operating Corporation Backup and restore techniques using inconsistent state indicators
US20060282471A1 (en) * 2005-06-13 2006-12-14 Mark Timothy W Error checking file system metadata while the file system remains available
TW200700982A (en) * 2005-06-21 2007-01-01 Farstone Tech Inc Computer protection system and method thereof
US20070033356A1 (en) * 2005-08-03 2007-02-08 Boris Erlikhman System for Enabling Secure and Automatic Data Backup and Instant Recovery
US7464114B2 (en) * 2005-09-27 2008-12-09 International Business Machines Corporation Method and apparatus to capture and transmit dense diagnostic data of a file system
US7551572B2 (en) 2005-10-21 2009-06-23 Isilon Systems, Inc. Systems and methods for providing variable protection
US7788303B2 (en) 2005-10-21 2010-08-31 Isilon Systems, Inc. Systems and methods for distributed system scanning
US7797283B2 (en) 2005-10-21 2010-09-14 Isilon Systems, Inc. Systems and methods for maintaining distributed data
US7917474B2 (en) 2005-10-21 2011-03-29 Isilon Systems, Inc. Systems and methods for accessing and updating distributed data
US20070185926A1 (en) 2005-11-28 2007-08-09 Anand Prahlad Systems and methods for classifying and transferring information in a storage network
CA2837984C (en) 2005-11-28 2021-11-16 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
KR100762689B1 (ko) * 2005-12-08 2007-10-01 삼성에스디아이 주식회사 휴대용 표시장치
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7848261B2 (en) 2006-02-17 2010-12-07 Isilon Systems, Inc. Systems and methods for providing a quiescing protocol
US7756898B2 (en) 2006-03-31 2010-07-13 Isilon Systems, Inc. Systems and methods for notifying listeners of events
US7971091B1 (en) * 2006-05-02 2011-06-28 Emc Corporation Network configuration backup and restore operations using continuous data protection
TWI316188B (en) * 2006-05-17 2009-10-21 Ind Tech Res Inst Mechanism and method to snapshot data
US8539056B2 (en) 2006-08-02 2013-09-17 Emc Corporation Systems and methods for configuring multiple network interfaces
US7822932B2 (en) 2006-08-18 2010-10-26 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680836B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7590652B2 (en) 2006-08-18 2009-09-15 Isilon Systems, Inc. Systems and methods of reverse lookup
US7899800B2 (en) 2006-08-18 2011-03-01 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7676691B2 (en) 2006-08-18 2010-03-09 Isilon Systems, Inc. Systems and methods for providing nonlinear journaling
US7680842B2 (en) 2006-08-18 2010-03-16 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7953704B2 (en) * 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7882071B2 (en) 2006-08-18 2011-02-01 Isilon Systems, Inc. Systems and methods for a snapshot of data
US7882077B2 (en) 2006-10-17 2011-02-01 Commvault Systems, Inc. Method and system for offline indexing of content and classifying stored data
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
KR100912126B1 (ko) 2006-12-04 2009-08-13 한국전자통신연구원 객체 기반 파일 시스템의 파일셋의 스냅샷 제공 방법
US20080155191A1 (en) * 2006-12-21 2008-06-26 Anderson Robert J Systems and methods for providing heterogeneous storage systems
US8286029B2 (en) 2006-12-21 2012-10-09 Emc Corporation Systems and methods for managing unavailable storage devices
US7593938B2 (en) 2006-12-22 2009-09-22 Isilon Systems, Inc. Systems and methods of directory entry encodings
US20080228771A1 (en) 2006-12-22 2008-09-18 Commvault Systems, Inc. Method and system for searching stored data
US7509448B2 (en) 2007-01-05 2009-03-24 Isilon Systems, Inc. Systems and methods for managing semantic locks
US7818302B2 (en) * 2007-03-09 2010-10-19 Emc Corporation System and method for performing file system checks on an active file system
US7730090B2 (en) * 2007-03-09 2010-06-01 Emc Corporation Architecture for performing file system checking on an active file system
US8966080B2 (en) 2007-04-13 2015-02-24 Emc Corporation Systems and methods of managing resource utilization on a threaded computer system
US7779048B2 (en) 2007-04-13 2010-08-17 Isilon Systems, Inc. Systems and methods of providing possible value ranges
US7900015B2 (en) 2007-04-13 2011-03-01 Isilon Systems, Inc. Systems and methods of quota accounting
US7702662B2 (en) * 2007-05-16 2010-04-20 International Business Machines Corporation Method and system for handling reallocated blocks in a file system
US7921081B2 (en) * 2007-05-30 2011-04-05 International Business Machines Corporation Managing a snapshot stored within a file system space for efficient detection of in-use blocks
US9495370B1 (en) * 2007-07-19 2016-11-15 American Megatrends, Inc. Data recovery point review in a continuous data protection system
US7949692B2 (en) 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US7882068B2 (en) 2007-08-21 2011-02-01 Isilon Systems, Inc. Systems and methods for adaptive copy on write
US7966289B2 (en) 2007-08-21 2011-06-21 Emc Corporation Systems and methods for reading objects in a file system
US7836174B2 (en) 2008-01-30 2010-11-16 Commvault Systems, Inc. Systems and methods for grid-based data scanning
US8296301B2 (en) 2008-01-30 2012-10-23 Commvault Systems, Inc. Systems and methods for probabilistic data classification
EP2111583A4 (en) * 2008-02-29 2010-06-02 Toshiba Kk MEMORY SYSTEM
JP2009217404A (ja) * 2008-03-07 2009-09-24 Hitachi Ltd ストレージシステム
US7953709B2 (en) * 2008-03-27 2011-05-31 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7984324B2 (en) 2008-03-27 2011-07-19 Emc Corporation Systems and methods for managing stalled storage devices
US7949636B2 (en) 2008-03-27 2011-05-24 Emc Corporation Systems and methods for a read only mode for a portion of a storage system
US7870345B2 (en) 2008-03-27 2011-01-11 Isilon Systems, Inc. Systems and methods for managing stalled storage devices
US8856552B2 (en) * 2008-03-31 2014-10-07 Cleversafe, Inc. Directory synchronization of a dispersed storage network
WO2009122743A1 (ja) * 2008-04-04 2009-10-08 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
US8301602B1 (en) * 2008-05-01 2012-10-30 Emc Corporation Detection of inconsistencies in a file system
JP5205164B2 (ja) * 2008-07-29 2013-06-05 株式会社日立製作所 ファイルシステム管理装置及び方法
KR100926098B1 (ko) * 2008-11-18 2009-11-11 주식회사 네오플 스냅샷 데이터베이스를 이용한 정보 복구 방법 및 장치
US8832684B2 (en) * 2009-06-18 2014-09-09 The Johns Hopkins University Methods for improving atomicity of runtime inspections
US8433865B2 (en) 2009-12-11 2013-04-30 Microsoft Corporation Consistency without ordering dependency
US8442983B2 (en) 2009-12-31 2013-05-14 Commvault Systems, Inc. Asynchronous methods of data classification using change journals and other data structures
KR101651204B1 (ko) 2010-06-15 2016-08-26 삼성전자주식회사 스냅샷 이미지의 동기화 장치 및 방법
US8793440B2 (en) 2010-06-17 2014-07-29 Microsoft Corporation Error detection for files
US10210169B2 (en) * 2011-03-31 2019-02-19 EMC IP Holding Company LLC System and method for verifying consistent points in file systems
US8719264B2 (en) 2011-03-31 2014-05-06 Commvault Systems, Inc. Creating secondary copies of data based on searches for content
US9996540B2 (en) * 2011-03-31 2018-06-12 EMC IP Holding Company LLC System and method for maintaining consistent points in file systems using a prime dependency list
US8832394B2 (en) 2011-03-31 2014-09-09 Emc Corporation System and method for maintaining consistent points in file systems
US10423509B2 (en) 2011-08-05 2019-09-24 Entit Software Llc System and method for managing environment configuration using snapshots
US8776094B2 (en) 2011-08-11 2014-07-08 Microsoft Corporation Runtime system
CA2852607C (en) 2011-10-18 2021-05-04 Institut National De La Recherche Agronomique Use of avermectin derivative for increasing bioavailability and efficacy of macrocylic lactones
US9542279B2 (en) * 2011-11-07 2017-01-10 Sap Se Shadow paging based log segment directory
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US20140215149A1 (en) * 2013-01-31 2014-07-31 Lsi Corporation File-system aware snapshots of stored data
US10180951B2 (en) * 2013-03-15 2019-01-15 Amazon Technologies, Inc. Place snapshots
WO2015066698A1 (en) * 2013-11-04 2015-05-07 Falconstor, Inc. Snapshots using copy on predicted write
CN103617097B (zh) * 2013-11-19 2017-07-07 华为技术有限公司 文件恢复方法及装置
US20150178297A1 (en) * 2013-12-24 2015-06-25 International Business Machines Corporation Method to Preserve Shared Blocks when Moved
WO2015116023A1 (en) * 2014-01-28 2015-08-06 Hewlett-Packard Development Company, L.P. Online file system metadata analysis and correction
US10635504B2 (en) 2014-10-16 2020-04-28 Microsoft Technology Licensing, Llc API versioning independent of product releases
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
US10311234B2 (en) * 2015-06-26 2019-06-04 Quick Heal Technologies Private Limited Anti-ransomware
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10389810B2 (en) 2016-11-02 2019-08-20 Commvault Systems, Inc. Multi-threaded scanning of distributed file systems
US10922189B2 (en) 2016-11-02 2021-02-16 Commvault Systems, Inc. Historical network data-based scanning thread generation
US10984041B2 (en) 2017-05-11 2021-04-20 Commvault Systems, Inc. Natural language processing integrated with database and data storage management
US10331374B2 (en) * 2017-06-30 2019-06-25 Oracle International Corporation High-performance writable snapshots in data storage systems
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US11159469B2 (en) 2018-09-12 2021-10-26 Commvault Systems, Inc. Using machine learning to modify presentation of mailbox objects
US20200241781A1 (en) 2019-01-29 2020-07-30 Dell Products L.P. Method and system for inline deduplication using erasure coding
US11442642B2 (en) 2019-01-29 2022-09-13 Dell Products L.P. Method and system for inline deduplication using erasure coding to minimize read and write operations
US11093347B2 (en) * 2019-04-16 2021-08-17 EMC IP Holding Company LLC File system restoration using block-based snapshots and file system consistency check
US10921986B2 (en) 2019-05-14 2021-02-16 Oracle International Corporation Efficient space management for high performance writable snapshots
CN110362534B (zh) * 2019-07-22 2023-05-12 深信服科技股份有限公司 一种快照验证方法、系统及电子设备和存储介质
US11372730B2 (en) 2019-07-31 2022-06-28 Dell Products L.P. Method and system for offloading a continuous health-check and reconstruction of data in a non-accelerator pool
US11609820B2 (en) 2019-07-31 2023-03-21 Dell Products L.P. Method and system for redundant distribution and reconstruction of storage metadata
US11328071B2 (en) 2019-07-31 2022-05-10 Dell Products L.P. Method and system for identifying actor of a fraudulent action during legal hold and litigation
US11775193B2 (en) 2019-08-01 2023-10-03 Dell Products L.P. System and method for indirect data classification in a storage system operations
US11281535B2 (en) * 2020-03-06 2022-03-22 Dell Products L.P. Method and system for performing a checkpoint zone operation for a spare persistent storage
US11416357B2 (en) 2020-03-06 2022-08-16 Dell Products L.P. Method and system for managing a spare fault domain in a multi-fault domain data cluster
US11301327B2 (en) 2020-03-06 2022-04-12 Dell Products L.P. Method and system for managing a spare persistent storage device and a spare node in a multi-node data cluster
US11418326B2 (en) 2020-05-21 2022-08-16 Dell Products L.P. Method and system for performing secure data transactions in a data cluster
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369757A (en) 1991-06-18 1994-11-29 Digital Equipment Corporation Recovery logging in the presence of snapshot files by ordering of buffer pool flushing
WO1994029807A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation Write anywhere file-system layout
US5978565A (en) 1993-07-20 1999-11-02 Vinca Corporation Method for rapid recovery from a network file server failure including method for operating co-standby servers
US5713024A (en) 1994-06-10 1998-01-27 Exabyte Corporation Cold boot data backup system
US5854896A (en) 1996-06-17 1998-12-29 International Business Machines Corporation System for preserving logical partitions of distributed parallel processing system after re-booting by mapping nodes to their respective sub-environments
US6108749A (en) * 1997-04-18 2000-08-22 Storage Technology Corporation DASD file copy system for a data processor using a data storage subsystem snapshot copy capability
KR20010020430A (ko) 1997-05-01 2001-03-15 데이비드 제이.파워 네트워크 데이터 미러링 시스템 및 그 방법
US5924102A (en) 1997-05-07 1999-07-13 International Business Machines Corporation System and method for managing critical files
US6038639A (en) * 1997-09-09 2000-03-14 Storage Technology Corporation Data file storage management system for snapshot copy operations
KR19990060338A (ko) 1997-12-31 1999-07-26 윤종용 하드 디스크 드라이브의 바이러스에 의한 손상 데이터복구방법
US6205527B1 (en) 1998-02-24 2001-03-20 Adaptec, Inc. Intelligent backup and restoring system and method for implementing the same
JP4081858B2 (ja) 1998-06-04 2008-04-30 ソニー株式会社 コンピュータシステム、コンピュータ端末装置、及び記録媒体
US6205558B1 (en) 1998-10-07 2001-03-20 Symantec Corporation Recovery of file systems after modification failure
US6490690B1 (en) 1999-07-22 2002-12-03 International Business Machines Corporation Method and apparatus for unix system catastrophic recovery aid
US6496944B1 (en) 1999-10-06 2002-12-17 International Business Machines Corporation Method for database assisted file system restore
US7237075B2 (en) * 2002-01-22 2007-06-26 Columbia Data Products, Inc. Persistent snapshot methods
US7039663B1 (en) * 2002-04-19 2006-05-02 Network Appliance, Inc. System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot
US6895413B2 (en) * 2002-03-22 2005-05-17 Network Appliance, Inc. System and method for performing an on-line check of a file system
CN1293477C (zh) * 2002-04-03 2007-01-03 鲍尔凯斯特公司 为计算机和存储资源的管理使用分离的映像
JP4199993B2 (ja) * 2002-11-27 2008-12-24 株式会社日立製作所 スナップショット取得方法
US7590807B2 (en) * 2003-11-03 2009-09-15 Netapp, Inc. System and method for record retention date in a write once read many storage system

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100541441C (zh) * 2007-11-09 2009-09-16 中国科学院计算技术研究所 一种计算机文件系统的快照创建、删除及修改方法
CN102200920A (zh) * 2010-03-23 2011-09-28 三星电子株式会社 程序编译器、程序安装器和程序安装方法
CN103403679A (zh) * 2011-12-31 2013-11-20 华为技术有限公司 易失性存储设备持久化过程中的数据更新方法及装置
CN103403679B (zh) * 2011-12-31 2016-08-31 华为技术有限公司 易失性存储设备持久化过程中的数据更新方法及装置
CN102722536A (zh) * 2012-05-22 2012-10-10 中兴通讯股份有限公司 基于分布式文件系统的快照实现方法及装置
CN102722536B (zh) * 2012-05-22 2015-06-03 中兴通讯股份有限公司 基于分布式文件系统的快照实现方法及装置
US9569458B2 (en) 2012-06-05 2017-02-14 International Business Machines Corporation Preserving a state using snapshots with selective tuple versioning
US9747317B2 (en) 2012-06-05 2017-08-29 International Business Machines Corporation Preserving past states of file system nodes
CN103473251A (zh) * 2012-06-05 2013-12-25 国际商业机器公司 在使用处理器件的计算环境中提供使用选择性元组版本化的文件系统快照的方法和系统
CN103473251B (zh) * 2012-06-05 2017-03-01 国际商业机器公司 在使用处理器件的计算环境中提供使用选择性元组版本化的文件系统快照的方法和系统
CN103823769B (zh) * 2012-11-19 2017-06-13 纬创资通股份有限公司 计算机系统及数据回复方法
CN103823769A (zh) * 2012-11-19 2014-05-28 纬创资通股份有限公司 计算机系统及数据回复方法
CN103440181A (zh) * 2013-09-06 2013-12-11 珠海金山网络游戏科技有限公司 一种文件修改的方法及系统
CN106164866A (zh) * 2014-04-08 2016-11-23 微软技术许可有限责任公司 客户端侧web状态的高效迁移
CN106164866B (zh) * 2014-04-08 2020-01-10 微软技术许可有限责任公司 客户端侧web状态的高效迁移
CN107544871A (zh) * 2017-07-21 2018-01-05 新华三云计算技术有限公司 一种虚拟机磁盘备份方法及装置
CN107544871B (zh) * 2017-07-21 2020-10-02 新华三云计算技术有限公司 一种虚拟机磁盘备份方法及装置

Also Published As

Publication number Publication date
JP4256851B2 (ja) 2009-04-22
JP2005228329A (ja) 2005-08-25
TWI339790B (en) 2011-04-01
US7440966B2 (en) 2008-10-21
SG114691A1 (en) 2005-09-28
US20050182797A1 (en) 2005-08-18
TW200528969A (en) 2005-09-01
CN100478946C (zh) 2009-04-15

Similar Documents

Publication Publication Date Title
CN100478946C (zh) 用于文件系统快照持久性的方法和装置
US8838875B2 (en) Systems, methods and computer program products for operating a data processing system in which a file delete command is sent to an external storage device for invalidating data thereon
US10599337B2 (en) Method and device for writing data and acquiring data in a distributed storage system
US11782632B2 (en) Selective erasure of data in a SSD
US8856469B2 (en) Apparatus and method for logging optimization using non-volatile memory
US8595461B2 (en) Management of recycling bin for thinly-provisioned logical volumes
US8190657B2 (en) Method and system for handling reallocated blocks in a file system
US9009428B2 (en) Data store page recovery
US9703816B2 (en) Method and system for forward reference logging in a persistent datastore
US8103621B2 (en) HSM two-way orphan reconciliation for extremely large file systems
KR100317691B1 (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
CN1900928A (zh) 用于访问文件系统快照和文件系统的方法
US9305049B2 (en) Addressing cross-allocated blocks in a file system
KR20070003578A (ko) 데이터 무결성의 검증을 지연시킨 파일 시스템
US11200122B2 (en) Barrierless snapshots
JP2021018799A (ja) マルウェアについて複数のアーカイブスライスを検査するシステムおよび方法
KR20170023734A (ko) 플래시 메모리 플러싱을 개선하는 방법 및 시스템
US20060155774A1 (en) Handling access requests to a page while copying an updated page of data to storage
US10452496B2 (en) System and method for managing storage transaction requests
US9740632B1 (en) Snapshot efficiency
WO2022224451A1 (ja) 管理装置、データベースシステム、管理方法およびプログラム
US20220019529A1 (en) Upgrading On-Disk Format Without Service Interruption
US11194760B1 (en) Fast object snapshot via background processing
WO2006125024A1 (en) Method and apparatus for database unloading

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090415

Termination date: 20220131