用于混合元数据图像备份和备份的系统和方法转让专利

申请号 : CN201310113280.2

文献号 : CN103365744B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·M·伯曼N·加里梅尔拉W·A·肖顿

申请人 : 国际商业机器公司

摘要 :

公开了用于混合元数据图像备份和备份的系统和方法。提供了一种利用元数据图像备份和传统备份的混合来保护非常大而且快速变化的文件系统的机制。这种机制执行分层存储管理(HSM)文件系统的元数据图像备份。元数据图像备份通过创建HSM文件系统的时间点图像来保护文件系统元数据。与执行HSM文件系统的元数据图像备份同时,该机制识别HSM文件系统中还没有被离线存储的一组驻留文件。该机制识别这组驻留文件内的不可变文件以形成一组优化的驻留文件,并且把一组优化的驻留文件传递到传统备份系统。传统备份系统备份一组驻留文件的文件数据。该机制还执行HSM文件系统的元数据图像恢复。元数据图像恢复恢复HSM文件系统的时间点图像。

权利要求 :

1.一种用于混合元数据图像备份和备份的数据处理系统,该系统包括:用于执行分层存储管理HSM文件系统的元数据图像备份的装置,其中,所述元数据图像备份备份文件系统元数据以创建HSM文件系统的时间点图像;

用于与执行HSM文件系统的元数据图像备份同时,识别HSM文件系统中还没有被离线存储的一组驻留文件的装置;

用于基于预定标准来选择所述一组驻留文件内的文件以形成一组优化的驻留文件的装置;

用于把所述一组优化的驻留文件传递到备份系统的装置,其中,所述备份系统备份所述一组优化的驻留文件的文件数据;

用于执行HSM文件系统的元数据图像恢复的装置,其中,所述元数据图像恢复恢复所述HSM文件系统的时间点图像;以及用于响应于检测到不能够恢复一个文件的迁移管理状态,复位该文件的不可变位、利用所述备份系统来恢复该文件的文件数据、以及设置该文件的不可变位的装置。

2.如权利要求1所述的系统,其中,所述文件系统元数据包括目录树和索引节点文件。

3.如权利要求2所述的系统,其中,所述索引节点文件包括多个索引节点条目,其中,每个索引节点条目包括引用在线储存器或离线储存器的数据指针。

4.如权利要求3所述的系统,其中,识别所述一组驻留文件包括:识别具有引用在线储存器的数据指针的索引节点。

5.如权利要求3所述的系统,其中,每个索引节点条目都包括一组属性,而且其中,基于预定标准来选择所述一组驻留文件内的文件包括:识别在属性中设置了不可变位的索引节点条目。

6.如权利要求5所述的系统,其中,识别所述一组驻留文件内的不可变文件包括:执行对文件系统的索引节点的扫描以检测不可变对象。

7.如权利要求3所述的系统,其中,识别所述一组驻留文件包括:执行对文件系统的索引节点的扫描以检测驻留文件。

8.如权利要求1所述的系统,其中,利用所述备份系统来恢复该文件的文件数据是与执行迁移文件的重新调用同时执行的。

9.如权利要求1所述的系统,其中,所述系统进一步包括:用于执行HSM文件系统的元数据图像恢复的装置,其中,所述元数据图像恢复恢复HSM文件系统的时间点图像并且保持HSM文件系统中的所有文件的不可变性。

10.如权利要求1所述的系统,其中,识别所述一组驻留文件包括:经由跟踪文件更新活动的审计系统来识别所述一组驻留文件。

11.一种数据处理系统中的用于混合元数据图像备份和备份的方法,该方法包括:执行分层存储管理HSM文件系统的元数据图像备份,其中,所述元数据图像备份备份文件系统元数据以创建HSM文件系统的时间点图像;

与执行HSM文件系统的元数据图像备份同时,识别HSM文件系统中没有被离线存储的一组驻留文件;

基于预定标准来选择所述一组驻留文件内的文件以形成一组优化的驻留文件;

把所述一组优化的驻留文件传递到备份系统,其中,所述备份系统备份所述一组优化的驻留文件的文件数据;

执行所述HSM文件系统的元数据图像恢复,其中,所述元数据图像恢复恢复所述HSM文件系统的时间点图像;以及响应于检测到不能够恢复一个文件的管理状态,复位该文件的不可变位、利用所述备份系统来恢复该文件的文件数据、并且设置该文件的不可变位。

12.如权利要求11所述的方法,其中,所述文件系统元数据包括目录树和索引节点文件。

13.如权利要求12所述的方法,其中,所述索引节点文件包括多个索引节点条目,其中每个索引节点条目包括引用在线储存器或离线储存器的数据指针。

14.如权利要求13所述的方法,其中,每个索引节点条目包括一组属性,而且其中,基于预定标准来选择所述一组驻留文件内的文件包括:识别在属性中设置了不可变位的索引节点条目。

15.一种用于混合元数据图像备份和备份的装置,包括:处理器;和

耦合到处理器的存储器,其中,该存储器包括指令,当指令被处理器执行时,使得处理器:执行分层存储管理HSM文件系统的元数据图像备份,其中,所述元数据图像备份备份文件系统元数据以创建所述HSM文件系统的时间点图像;

与执行HSM文件系统的元数据图像备份同时,识别HSM文件系统中没有被离线存储的一组驻留文件;

基于预定标准来选择所述一组驻留文件内的文件以形成一组优化的驻留文件;

把所述一组优化的驻留文件传递到备份系统,其中,所述备份系统备份所述一组优化的驻留文件的文件数据;

执行所述HSM文件系统的元数据图像恢复,其中,所述元数据图像恢复恢复所述HSM文件系统的时间点图像;以及响应于检测到不能够恢复一个文件的管理状态,复位该文件的不可变位、利用所述备份系统来恢复该文件的文件数据、以及设置该文件的不可变位。

说明书 :

用于混合元数据图像备份和备份的系统和方法

技术领域

[0001] 本申请总体上涉及改进的数据处理装置和方法,而且更具体地说涉及利用元数据图像备份和传统备份的用于非常大的文件系统的混合备份和恢复的机制。

背景技术

[0002] 文件系统是管理一组定义的存储设备并且以便利数据和数据文件的一致添加、修改和删除的方式来提供对数据的访问的软件组件。该术语还用于描述包含在一组特定存储设备内的数据和元数据的集合。文件是可由计算机应用访问的命名位串。文件具有某些标准属性,例如长度、修改时间和上次访问时间。元数据是提供关于数据的一个或多个方面的信息的数据,例如创建时间和日期、创建者或作者、存储位置等。
[0003] 存储区域网络(SAN)文件系统和低成本储存器的出现引发了具有非常大量文件的非常大的文件系统的可能性。不幸的是,从备份拷贝中完全恢复文件系统所需的时间与文件系统的尺寸成比例。消费者可以选择首先手动恢复特别感兴趣的文件并允许访问只恢复了不完整数据集的文件系统,或者延迟访问直到所有数据被恢复。第一种选项需要管理员精确地识别出要访问的数据,因为访问未恢复的数据的应用将会失败。第二种选项涉及延迟业务的恢复,直到所有文件都恢复。

发明内容

[0004] 在一种说明性实施例中,提供了一种数据处理系统中的用于混合元数据图像备份和传统备份的方法。该方法包括执行分层存储管理 (HSM)控制的文件系统的元数据图像备份。元数据图像备份备份文件系统元数据,以创建HSM控制的文件系统的结构的时间点图像。该方法进一步包括:与执行HSM文件系统的元数据图像备份同时,识别HSM文件系统中还没有被离线存储的一组驻留文件。该方法进一步包括:识别所述一组驻留文件内的不可变文件以形成一组优化的驻留文件并且把所述一组优化的驻留文件传递到传统备份系统,其中,所述传统备份系统仅备份所述一组驻留文件的文件数据。
[0005] 在其它说明性实施例中,提供了一种包括具有计算机可读程序的计算机可用或可读介质的计算机程序产品。当在计算设备上运行时,所述计算机可读程序使计算设备执行以上关于方法说明性实施例概述的各种操作或者其组合。
[0006] 在再一种说明性实施例中,提供了一种系统/装置。该系统/装置可以包括一个或多个处理器和耦合到所述一个或多个处理器的存储器。所述存储器可以包括指令,当指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行以上关于方法说明性实施例概述的各种操作或者其组合。
[0007] 本发明的这些及其它特征与优点将在以下本发明示例性实施例的具体描述中描述并且将通过这种描述对本领域普通技术人员变得显而易见。

附图说明

[0008] 通过结合附图参考以下说明性实施例的具体描述,本发明及其优选使用模式和进一步的目标与优点将得到最好的理解,附图中:
[0009] 图1绘出了其中可以实现说明性实施例的数据处理系统的框图;
[0010] 图2说明了根据一种说明性实施例的文件系统中的基本要素;
[0011] 图3是说明根据一种说明性实施例的混合元数据图像备份/恢复和传统备份/归档系统的框图;
[0012] 图4是说明根据一种说明性实施例的混合元数据图像备份和传统备份/归档系统的操作的流程图;以及
[0013] 图5是说明根据一种说明性实施例的混合元数据图像恢复和传统恢复系统的操作的流程图。

具体实施方式

[0014] 元数据图像备份是一种捕获关于文件系统的组织信息的手段,所述组织信息例如被存储在一致的单个图像中的元数据中,所述图像可被用来恢复包括目录名和文件名在内的文件系统的整个名称空间。元数据图像备份可以包含关于每个文件系统对象的对象名、访问控制列表、扩展属性、所有者、组以及模式信息。元数据图像备份不包含与每个对象相关联的数据。而是期望HSM系统将存储文件系统的对象的大部分或者全部数据,并且可被用于在首先恢复元数据的图像之后重新调用它。
[0015] 说明性实施例提供了一种对文件使用元数据图像备份和传统备份的混合的机制。该机制可以有效地备份大且繁忙的文件系统中的文件的完整集合以防数据丢失。使用变化审计日志来确定备份的不完整文件和/或图像的列表允许该机制对于文件系统中那些不具备简单元数据图像备份资格的文件采取特殊措施。对于不可变文件的恢复存在一种特殊情况,允许数据经由传统备份/归档恢复过程被恢复。
[0016] 说明性实施例可在许多不同类型的数据处理环境中使用。为了提供用于描述说明性实施例的具体元件和功能性的背景,在下文中提供了图1作为其中可以实现说明性实施例的各方面的例子环境。应当认识到,图1仅仅是一个例子而且不是要断言或者暗示关于其中可以实现本发明各方面或实施例的环境的任何限制。在不背离本发明主旨与范围的情况下,可以对所绘出的环境进行许多修改。
[0017] 图1绘出了其中可以实现说明性实施例的数据处理系统的框图。数据处理系统100是计算机的一个例子,其中可以定位用于实现说明性实施例的过程的计算机可用程序代码或指令。在这个说明性例子中,数据处理系统100包括通信结构102,该通信结构102在处理器单元104、存储器106、永久性储存器108、通信单元110、输入/输 出(I/O)单元
112和显示器114之间提供通信。
[0018] 处理器104用来执行可被加载到存储器106中的软件的指令。根据特定实现,处理器单元104可以是一组一个或多个处理器或者可以是多处理器核心。另外,处理器单元104可以利用一个或多个异质处理器系统来实现,其中主处理器和辅助处理器存在于单个芯片上。作为另一个说明性例子,处理器单元104可以是包含相同类型的多个处理器的对称多处理器系统。
[0019] 存储器106和永久性储存器108是存储设备116的例子。存储设备是能够临时地和/或永久性地存储信息的任何硬件,其中的信息例如但不限于数据、功能形式的程序代码和/或其它适当信息。在这些例子中,存储器106可以是例如随机存取存储器或者任何其它适当的易失性或非易失性存储设备。根据特定实现,永久性储存器108可以采取各种形式。例如,永久性储存器108可以包含一个或多个组件或设备。例如,永久性储存器108可以是硬驱、闪存、可重写光盘、可重写磁带或者以上所述的某种组合。永久性储存器108所使用的介质也可以是可移动的。例如,移动硬驱可被用作永久性储存器108。
[0020] 在这些例子中,通信单元110提供与其它数据处理系统或设备的通信。在这些例子中,通信单元110是网络接口卡。通信单元110可以通过使用物理和无线通信链路中的任何一种或二者来提供通信。
[0021] 输入/输出单元112允许与可被连接到数据处理系统100的其它设备进行数据的输入和输出。例如,输入/输出单元112可以通过键盘、鼠标和/或某种其它适当输入设备提供用于用户输入的连接。另外,输入/输出单元112可把输出发送到打印机。显示器114提供向用户显示信息的机制。
[0022] 用于操作系统、应用和/或程序的指令可以位于存储设备116中,该存储设备116通过通信结构102与处理器单元104通信。在这些说明性例子中,指令以永久性储存器108上的功能形式。这些指令可被加载到存储器106中以便由处理器单元104执行。不同实施例的过程可由处理器单元104利用计算机实现的指令来执行,其中指令可 位于存储器中,例如存储器106中。
[0023] 这些指令被称为可由处理器单元104中的处理器读取并执行的程序代码、计算机可用程序代码或者计算机可读程序代码。不同实施例中的程序代码可以体现在不同的物理或有形计算机可读介质上,例如存储器106或者永久性储存器108上。
[0024] 程序代码118以功能形式位于可有选择地拆卸的计算机可读介质120上而且可被加载到或者传输到数据处理系统100以便由处理器单元104执行。在这些例子中,程序代码118和计算机可读介质120构成计算机程序产品122。在一个例子中,计算机可读介质120可以是有形的形式,例如像插入或放到驱动器中的光盘或磁盘或者作为用于传输到存储设备上的永久性储存器108的一部分的其它设备,例如作为永久性储存器108一部分的硬驱。以有形的形式,计算机可读介质120还可以采取永久性储存器的形式,例如连接到数据处理系统100的硬驱、拇指驱动器或闪存。计算机可读介质120的有形形式也可被称为计算机可记录存储介质。在有些情况下,计算机可读介质120可能不是可移动的。
[0025] 另一方面,程序代码118可从计算机可读介质120通过到通信单元110的通信链路和/或通过到输入/输出单元112的连接传输到数据处理系统100。在说明性例子中,所述通信链路和/或连接可以是物理的或无线的。计算机可读介质还可以采取无形介质的形式,例如包含程序代码的通信链路或无线传输。
[0026] 在有些说明性实施例中,程序代码118可以经网络从另一个设备或者数据处理系统下载到永久性储存器108,以便在数据处理系统100内使用。例如,存储在服务器数据处理系统中的计算机可读存储介质中的程序代码可以经网络从服务器下载到数据处理系统100。提供程序代码118的数据处理系统可以是服务器计算机、客户端计算机或者能够存储并发送程序代码118的某个其它设备。
[0027] 为数据处理系统100所说明的不同组件并不意味着要对其中可以实现不同实施例的方式提供体系结构上的限制。不同的说明性实施例 可以在包括除为数据处理系统100说明的那些组件之外或者代替其的其它组件的数据处理系统中实现。图1中所示出的其它组件可以与所示出的说明性例子有变化。不同的实施例可以利用能够执行程序代码的任何硬件设备或系统来实现。作为一个例子,数据处理系统可以包括与无机组件集成的有机组件和/或可以完全由除人以外的有机组件组成。例如,存储设备可以由有机半导体组成。
[0028] 作为另一个例子,数据处理系统100中的存储设备是可以存储数据的任何硬件装置。存储器106、永久性储存器108和计算机可读介质120是有形形式的存储设备的例子。
[0029] 在另一个例子中,总线系统可被用来实现通信结构102并且可以包括一条或多条总线,例如系统总线或输入/输出总线。当然,总线系统可以利用在附连到该总线系统的不同组件或设备之间提供数据传输的任何适当类型的体系结构来实现。此外,通信单元可以包括用于发送和接收数据的一个或多个设备,例如调制解调器或网络适配器。另外,存储器可以是例如存储器106或者例如可能在存在于通信结构102中的接口和存储器控制器集线器中发现的高速缓存。
[0030] 储存器108可以是分层存储管理控制的文件系统。分层存储管理(HSM)是一种在高成本和低成本存储介质之间自动地移动数据的数据存储技术。因为高速存储设备(例如硬盘驱动器阵列和固态驱动器)比较慢的设备(例如光盘和磁带驱动器)(所存储的每字节)更昂贵,所以存在HSM系统。尽管把可用的全部数据任何时候都放在高速设备上是理想的,但是这对许多组织来说太昂贵了。作为代替,HSM系统把大部分的企业数据存储在较慢的设备上,然后在需要的时候自动地把数据拷贝到较快的盘驱动器上,或者甚至是固态驱动器上。实际上,HSM把快速盘驱动器变成了用于较慢的大容量存储设备的高速缓存。HSM系统监视数据被使用的方式并且做出关于什么数据可被安全地移动到较慢的设备和什么数据应当留在快速设备上的最佳猜测。
[0031] 在典型的HSM情形下,被频繁使用的数据文件存储在盘驱动器 或固态驱动器上,但是如果它们在一定的时间段(一般是几个月)未被使用,最终也会被迁移到磁带上。最快的层中的文件被称为“驻留”文件。如果用户访问仅在磁带上的文件,则该文件被自动地移回到最快的层,或者说驻留储存器。优点是所存储数据的总量会比可用盘储存器的容量大得多,但是,因为只有很少使用的文件在磁带上,所以大部分用户通常将不会注意到任何速度减慢。HSM系统还可以利用可用带宽把数据预迁移到磁带上。当数据被预迁移时,数据的拷贝在最快的层的储存器和磁带上都存在。预迁移的优点是它利用可用存储网络带宽在任何紧急需求之前把数据拷贝到较慢的层,例如磁带,以便产生更多的可用空间。这提高了数据抵抗可能丢失的安全性,并且减少了完全迁移未改变的驻留文件所需的时间。
[0032] 图2说明了根据一种说明性实施例的文件系统中的基本要素。典型的文件系统(例如所示出的那个文件系统)包括目录树210、索引节点(inode)文件220和包含数据块252的数据文件250。“目录”是把名称与由索引节点表示的一组数据相关联的控制结构。
“索引节点”是包含文件的属性加上指向磁盘或者其它存储介质的区域的一系列指针的数据结构,所述区域包含组成文件的数据。间接块可以利用附加指针来补充索引节点,例如对于非常大的文件。
[0033] 目录树、索引节点文件和数据一般在文件系统中本身也作为文件存在。例如,如图2中所示,索引节点文件220包括各个记录或条目230的集合。在所绘出的例子中,每个文件系统只有一个索引节点文件;然而,可以预期文件系统包括多个索引节点文件的情况。目录树210中的条目包括名称字段216和索引节点号217。
[0034] 特殊条目可被用来指示一个文件是目录。目录是一种特殊的文件,其中在任意深度的目录树中维护所存储文件的名称。目录树是目录的集合,它包括文件系统中的所有目录。目录是一种特殊类型的文件,它是目录树中的元素。目录是指向索引节点的指针的集合,索引节点是目录树中占据更低位置的文件或者目录。目录条目是目录中指向数据文件或目录的单个记录。
[0035] 在图2中,如所示出的,示例性的目录树包含表格元素215。尽管图2说明了只有两级的层次(为了方便),但是应当理解,目录的分层树结构的深度不限于两级。实际上,对于非常大的文件系统,在目录树中可以存在几十甚至几百个级。不管怎样,当只需要识别或访问一个文件时,目录树的深度确实有助于多个顺序目录引用的需要。然而,在所有情况下,目录树的“叶”都被用来关联文件名216与索引节点文件220中的条目230。引用是通过“索引节点号”217,它提供了指向索引节点文件220的指针或索引。
[0036] 目录树210为文件系统提供了分层名称空间,与通过索引节点号的引用相对照,它使得能够通过文件名和通过树的路径来引用各个文件条目。目录中的每个条目都指向一个索引节点。那个索引节点本身可以是另一个目录或者数据文件。索引节点条目230是通过字段217中的条目来引用的。索引节点文件220中的索引节点文件条目230可被实现为线性列表。列表中的每个条目都可以包括多个字段:索引节点号231、代号232、各个文件属性233、数据指针234、上次修改的日期235、上次访问的日期236、上次元数据修改的日期237、指示该索引节点是代表目录还是数据文件的指示符字段238、属性是否被恢复的指示符239以及数据是否被恢复的指示符240。
[0037] 数据指针234指向包含数据252的数据块250。在分层存储管理(HSM)文件系统中,数据文件252可以驻留在最快的层中,例如固态存储器或硬盘驱动器存储器中,或者可被迁移或归档到较慢的层中,例如磁带存储器中的磁带。因而,当文件从较高的层移动到较低的层或相反时,HSM文件系统改变数据指针234和文件属性233以指示迁移状态。
[0038] 在HSM文件系统中,属于很少被访问的文件的数据可被从昂贵的在线磁盘储存器迁移到不太昂贵的近线或离线磁带储存器中。文件属性,包括名称(目录条目)、大小、访问控制等任何时候都保持在线;只有数据或者数据的一部分被移动离线。因而,在图2所示的例子中,目录树210和索引节点文件220将保持在线,而数据块250可 能在离线储存器中。
[0039] 为了保护数据不丢失,需要所有文件数据的备份拷贝。如果文件数据已被迁移离线,那么为了备份目的而重新调用这种数据是昂贵的。因此,对于HSM管理的文件系统需要替代技术。一种用于备份并恢复HSM文件系统的技术是预先把在线数据迁移到不太昂贵的第二存储层中,然后执行元数据图像备份,其中元数据图像备份允许非常大的文件系统的快速恢复。元数据图像备份捕获在线文件元数据(即,目录树和索引节点文件),包括对由HSM文件系统管理的离线文件数据的引用。相应的“元数据图像恢复”快速地恢复文件元数据,留下所有的文件数据离线地在HSM文件系统的第二层中。为了非常快速的“元数据图像恢复”,HSM管理的文件系统中的所有在线文件都必须被预迁移,以便允许在需要的时候重新调用文件数据。预迁移步骤必须在执行元数据图像备份之前完成。
[0040] 在归档储存器件,例如IBM信息档案中,文件系统是具有两层的HSM管理的文件系统。在使用当中,终端用户把文件写到器件。当写完成时,用户可以选择“提交”数据,这确保数据被可靠地存储并被标记为不可变,从而防止对文件数据本身的进一步改变。随后,通过把它们预迁移或迁移到第二存储层,该器件处理“被提交的”文件。例如,为了灾难恢复而在这种器件上执行的典型数据备份创建文件系统的时间点图像并且必须包括用户已提交数据的所有文件。
[0041] 系统通过把文件标记为“不可变”来保护文件内容,这是通过设置索引节点内(例如属性233中)的一个位。一旦设置了这个位,文件数据就不再能被修改或删除。元数据图像备份方法要求必须被保护的每个文件都由HSM或数据管理应用编程接口(DMAPI)应用管理并被预迁移或完全迁移;否则,文件数据可能不能经由元数据图像恢复方法来检索。在大且繁忙的文件系统中,被称为驻留文件的有些文件还没被预迁移或迁移并且必须经由替代手段被备份以避免数据丢失。因而,在这种系统中,存在被标记为不可变但仍然驻留在第一存储层中的文件。这些文件还没有变成被HSM/DMAPI迁移。对于那 些文件,只有索引节点和元数据将经由元数据图像备份和元数据图像恢复来备份和恢复,留下文件数据不受保护。因而,这种文件必须经由其它机制被保护。
[0042] 根据说明性实施例,提供了对部分摄入的(ingested)文件使用元数据图像备份和传统备份的混合的机制。这种机制有效地备份大且繁忙的文件系统中的文件的完整集合,以防数据丢失。该机制使用变化审计日志来确定自上次备份以来被添加或改变的驻留文件的列表,并且对由于其驻留状态而不具备简单元数据图像备份资格的那些文件采取特殊措施。此外,该机制允许经由传统备份/归档恢复过程来恢复不可变文件的数据。
[0043] 说明性实施例的机制在元数据图像恢复过程中检测不可变的驻留文件,并且复位它们的属性233中的不可变位,以允许那个文件的数据块的恢复。该检测机制涉及与HSM/DMAPI应用通信以确定数据是否真正是由HSM应用管理的。如果数据不是由HSM应用管理的,则该机制复位不可变位以允许该文件的数据块的恢复。处理0字节的文件大小时必须要小心,因为那些可能不是由HSM管理的,而且元数据图像恢复单独代表这种文件的有效和完全恢复。
[0044] 用于不可变驻留文件的外部数据保护机制负责连同设置不可变位作为文件属性的一部分来恢复数据。该外部数据保护机制必须知道不变性方面,以避免在数据之前恢复不可变位。这也是确保恢复过程保持数据不变性的关键要素,以确保遵守归档器件的依从规则。
[0045] 图3是说明根据一种说明性实施例的混合元数据图像备份/恢复和传统备份/归档系统的框图。分层存储管理(HSM)客户端310经由直接连接、网络、存储区域网络(SAN)或者光纤等连接到HSM管理的文件系统320。HSM客户端310通过创建、读取、修改、写入和删除文件来访问HSM管理的文件系统320中的文件。
[0046] HSM管理的文件系统320在层1332中存储最近和/或最频繁访问的文件,该层一般是更昂贵但最快的储存器。例如,层1332可以是硬盘驱动器储存器,因为这些设备提供对文件数据的快速访问。 HSM管理的文件系统320在存储器(未示出)和/或层1332中存储文件元数据,诸如目录树和索引节点文件。
[0047] HSM管理的文件系统把属于很少访问的文件的数据从层1332移动到层2334,其中层2一般是不太昂贵但更慢的储存器。例如,层2334可以是磁带储存器。通常,层1332中的文件数据被称为“驻留的”或者“在线的”,而层2334中的文件数据被称为“离线的”。
[0048] 尽管图3中所绘的例子示出了两个层,但是分层存储管理文件系统可以具有更多的层。例如,层1332可以是基于存储器的或者固态驱动器。固态驱动器(SSD)(有时候被称为固态盘或者电子盘)是使用固态存储器来存储永久性数据的一种数据存储设备,其目的是以与传统的块I/O硬盘驱动器相同的方式来提供访问。SSD区别于诸如硬盘驱动器(HDD)或软盘的传统磁盘,传统磁盘是包含旋转盘和可移动读/写头的机电设备。相反,SSD使用在非易失性存储器电路中保留数据并且不包含移动部分的微芯片。与机电HDD相比,SSD一般更不容易受到物理冲击的影响、无声、具有更低的访问时间和等待时间,但是每千兆字节(GB)也更加昂贵。SSD使用与硬盘驱动器相同的接口,因此在大多数应用中很容易替换它们。层2334可以是硬驱储存器,而第三层可以是带驱动器储存器。总的来说,具有最快存储设备的最高层为较低的层充当高速缓冲。驻留在最高层中的所有文件数据都被认为是“在线的”,而驻留在较低层中的所有文件数据都被认为是“近线的”或者“离线的”。
[0049] 层2334可以包括用于HSM数据的“盘池”,该“盘池”被称为“近线”储存器,因为它不在“在线”文件系统中但是也还没有被一直推到带储存器。在被提交到带储存器之前,数据一般在盘池中老化。
[0050] 说明性实施例把备份元数据图像定义为包含文件系统的目录结构(或者名称空间)及其文件系统中的文件的元数据,例如所有者、访问时间、文件大小等。每个文件还包括其许可(常常被称为其访问控制列表(ACL))和在离线备份中定位文件数据所需的扩展属性。这是为了复原HSM管理的文件系统而必须被恢复的最小数据量。
[0051] 根据说明性实施例,HSM客户端310创建HSM管理的文件系统320的快照,并且随后经由HSM备份系统325执行元数据图像备份,备份上述元数据(例如,目录结构和文件属性)。与元数据图像备份同时,HSM客户端310启动识别驻留文件的过程,所述驻留文件的数据还没有被离线拷贝并因此不在元数据图像备份中被保护。HSM客户端310把这个列表传递到传统的备份系统326,传统的备份系统326利用传统的备份/归档技术来备份识别出的驻留文件。
[0052] 为了恢复HSM管理的文件系统320,例如,在灾难性故障之后,HMS客户端310经由HSM备份系统325来执行元数据图像恢复,恢复文件系统图像(例如,目录结构和文件属性)。元数据图像恢复过程检测何时不能把文件恢复到正确的DMAPI迁移状态。例如,当其扩展属性不包含指向离线储存器的唯一标识符时,恢复文件可能失败。当检测到这种失败时,文件在元数据图像备份时一定已经驻留并且有可能还是不可变的。用于这种驻留文件的恢复过程必须改变该文件属性中的不可变位,使得文件数据可写,以允许恢复文件数据。传统的备份系统326恢复被识别为驻留的那些文件。
[0053] 在一种例子实施例中,通过提供应用编程接口(API),备份/恢复机制允许通过外部数据保护方案来恢复不可变文件,当恢复过程恢复剩余的属性时,该API将不恢复不可变位的状态,直到该文件被恢复过程关闭。在过程或系统崩溃的情况下,不可变位将隐含地被复位。
[0054] 所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序代码。
[0055] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读 介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0056] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0057] 计算机可读介质上包含的计算机代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(RF)等等,或者上述的任意合适的组合。
[0058] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机TM TM程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java 、Smalltalk 、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如 利用因特网服务提供商来通过因特网连接)。
[0059] 下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0060] 也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令的制造品。
[0061] 也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0062] 图4是说明根据一种说明性实施例的混合元数据图像备份和传统备份/归档系统的操作的流程图。操作在方框400开始,而且系统创建文件系统的快照,以确保从其备份的文件系统的一致时间点图像(方框401)。该系统启动文件系统元数据图像备份(方框402),以捕获目录、索引节点、元数据(ACL和扩展属性)。应当指出,该系统不捕获数据块,因为那些已被假定在HSM池(离线储存器)中。
[0063] 与方框401和402中的元数据图像备份同时,该系统识别驻留文件的列表(方框403)。这些文件的数据不在离线储存器中被拷贝。此外,有些驻留文件可能设置了不可变位,而其它驻留文件可能没有。这个列表可以通过以有效方式扫描文件系统的索引节点或者经由跟踪文件更新活动的审计系统来获得。所述系统优化这个列表,以便 仅备份已被完全传输到归档系统中并完成的数据(方框404)。例如,如果在块401中取快照时一个文件在传送中,那么该系统将不备份它。还有可能期望仅备份设置了不可变位的驻留文件。在一种例子实施例中,该系统可以优化具有支持文件选择的策略属性规范的驻留文件的列表。该系统把优化后的驻留文件列表传递到传统的备份系统,以确保整个文件系统及其数据的完全保护(方框405)。
[0064] 其后,当整个元数据图像备份和驻留文件备份完成时,操作在方框406结束。
[0065] 图5是说明根据一种说明性实施例的混合元数据图像恢复和传统恢复系统的操作的流程图。操作在方框500开始,而且系统恢复文件系统元数据图像(方框501)。这个元数据图像恢复过程恢复用于DMAPI管理的文件以及驻留文件的文件元数据。
[0066] 为了允许驻留文件的恢复,系统必须检测何时不能恢复处于迁移DMAPI管理状态的这种文件。在方框502中,该系统检测这种文件是否已被恢复到驻留状态。当文件的元数据不包含指向其离线储存器的唯一标识符时,系统将检测到这种情况。如果没有检测到,则接下来系统确定恢复是否完成(方框503)。如果恢复完成,操作在方框504结束。如果恢复还没有完成,操作返回方框501,继续恢复文件系统元数据图像。
[0067] 如果在方框502中系统检测到一个驻留文件已被恢复,则系统检查不可变位的状态(方框505)并且确定是否设置了不可变位(方框506)。如果不可变位被设置,则系统改变该不可变位(方框507)。其后,或者如果在方框506中不可变位没有设置,系统利用传统的备份/恢复系统来恢复该驻留文件(方框508)。然后,如果不可变位的先前状态被设置,则系统设置不可变位(方框509)。操作继续到方框503,确定恢复现在是否完成。当在元数据图像恢复流中检测到这种文件时,元数据图像恢复和不可变文件数据恢复可以与启动的数据恢复同时运行。
[0068] 附图中的流程图和框图说明了根据本发明的多个实施例的系统、 方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0069] 因而,说明性实施例提供了对部分摄入的文件使用元数据图像备份和传统备份的混合的机制。这种机制有效地备份大且繁忙的文件系统中的文件的完整集合以防数据丢失,尤其是对于驻留的和不可变的文件。
[0070] 如以上所指出的,应当认识到,说明性实施例可以采取完全硬件实施例、完全软件实施例或者结合硬件和软件元素的实施例的形式。在一种例子实施例中,说明性实施例的机制是在软件或程序代码中实现的,包括但不限于固件、驻留软件、微代码等。
[0071] 适于存储和/或执行程序代码的数据处理系统将包括直接或者通过系统总线间接耦合到存储器元件的至少一个处理器。存储器元件可以包括在程序代码真正执行过程中所采用的本地存储器、大容量储存器和高速缓冲存储器,其中高速缓冲存储器提供至少一些程序代码的临时存储,以便减少在执行过程中必须从大容量储存器检索代码的次数。
[0072] 输入/输出或者I/O设备(包括但不限于键盘、显示器、定点设备等)可以直接地或者通过中间I/O控制器耦合到系统。网络适配器也可以耦合到系统,使数据处理系统能够通过中间的专用或公共网络变得耦合到其它数据处理系统或者远端打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅仅是当前可以获得的网络适配器的 几种类型。
[0073] 本发明的描述是为了说明和描述的目的而给出的,而不是详尽的或者要把本发明限定到所公开的形式。对本领域的普通技术人员来说,许多修改与变体都是显而易见的。实施例的选择与描述是为了最好地解释本发明的原理、实践应用,并且使本领域的其他普通技术人员能够理解本发明具有适于预期特定用途的各种修改的各种实施例。