支持即时卷恢复的仿真存储系统的制作方法

文档序号:6498347阅读:174来源:国知局
专利名称:支持即时卷恢复的仿真存储系统的制作方法
技术领域
本发明的各个方面涉及数据存储,更加确切地说,涉及用于仿真磁带存储系统以提供使用现有的完整备份和以后的增量备份的等同物,并使终端用户能够从所述备份中恢复数据的装置和方法。
背景技术
许多计算机系统包括一个或多个主机和储存主机所使用的数据的一个或多个数据存储系统。这些主机和存储系统一般通过例如光纤通道、以太网络或其他类型的通信网络的网络连接在一起。光纤通道是一种结合了以通道为基础的传送机制的速度和以网络为基础的传送机制的灵活性的标准,并允许多个启动通过网络与多个目标通信,所述启动和目标可以是与网络耦合的任何设备。光纤通道通常使用快速的传送介质执行,举例来说,光学纤维电缆,而且在传送大量数据的存储网络中,所述光纤通道是普遍的选择。
典型的网络化计算环境的实施例,包括如附图1所示的几个主机和备份存储系统。一个或多个应用程序服务器102通过局域网103(LAN)耦合到多台用户计算机104上。应用程序服务器102和用户计算机104都可能被认为是“主机”。应用程序服务器102通过存储区域网络108(SAN)与一个或多个主存储设备106耦合。主存储设备106可能是,例如磁盘阵列,可以从例如EMC公司、IBM公司以及其他类似的公司获得。作为替代,数据传输总线(未显示)或其他网络连接可能提供应用程序服务器和主存储系统106之间的相互连接。数据传输总线和/或光纤通道网络的连接可以使用协议操作,例如小型计算机系统接口(SCSI)协议,SCSI控制在主机(例如,应用程序服务器102)和存储系统106之间传输的某种格式的信息包。
人们将理解,附图1举例说明的网络化计算环境是大型系统的典型,例如,大的金融机构或大公司所使用的系统。人们将领会到许多网络化计算环境不是必须包括附图1中列举的所有部件。例如,较小的网络化计算环境可以简化为包括直接与存储系统连接的,或通过LAN与存储系统连接的主机。另外,尽管附图1举例说明了单独的用户计算机104、应用程序服务器102和介质服务器114,这些功能可以合并为一台以上的计算机。
除了主存储设备106之外,许多网络化计算环境包括至少一个辅助或备份存储系统110。所述备份存储系统110通常是磁带库,尽管可能使用其他大容量的、可靠的辅助存储系统。典型地,这些辅助存储系统的速度比主存储系统的速度慢,但是包括某些可移动介质的某些类型(例如,磁带、磁盘或光盘),所述可再移动的介质可以被移动和异地存储。
在解释性的实施例中,应用程序服务器102或许能够通过,例如以太网或其他通信连接112,直接与备份存储系统110通信。然而,所述的连接可能相对慢并且占用资源,例如占用处理器时间或网络带宽。因此,用于举例说明的系统可能包括一个或多个介质服务器114,所述介质服务器114可以借助例如光纤通道,来提供SAN 108和备份存储系统110之间通信连接。
介质服务器114可以运行包括备份/恢复应用程序的软件,所述应用程序控制主机(例如用户计算机104,介质服务器114,和/或应用程序服务器102)、主存储设备106和备份存储系统110之间的数据的传输。备份/恢复应用程序可以从例如Veritas,Legato以及其他的公司获得。对于数据的保护,来自各种不同的主机和/或主存储设备的数据在网络化计算系统中可以通过备份/恢复应用程序被周期性地备份到备份存储系统110中,这在本领域内是公知的。
当然,正如上文中的讨论,人们将领会到与附图1中展示的作为典范的网络化计算环境相比,许多网络化计算环境可能是较小的并包括较少的部件。因此,人们仍将领会到介质服务器114实际上与单独主机中的应用程序服务器112连接,而且备份/恢复应用程序可以在任何与备份存储系统110耦合(直接地或间接地,例如通过网络)的主机上执行。
典型的备份存储系统的一个例子是磁带库,该磁带库包括若干磁带盒和至少一个磁带机,以及控制磁带盒载入的磁带机和从磁带机上卸载的自动机械装置。备份/恢复应用程序对自动机械装置提供指令以确定特定磁带盒的位置,例如磁带号0001,和将磁带盒载入的磁带机以致数据能够写入磁带中。备份/恢复应用程序也可控制写入磁带的数据的格式。典型地,备份/恢复应用程序可以使用SCSI命令,或其他标准化命令,以指令自动机械装置并控制磁带机将数据写入磁带和恢复来自磁带的已经写入的数据。
传统的磁带库备份系统存在若干问题,包括速度、可靠性和固定容量。许多大的公司每周需要备份万兆字节的数据。然而,即使昂贵的、高端磁带通常只能够以30-40兆字节/秒(MB/s)的速度读/写数据,转换为大约50千兆字节/小时(GB/hr)。因此,将一个或两个万兆字节的数据备份到磁带备份系统中可能需要至少10-20小时的连续的数据转换时间。
另外,大多数的磁带制造商不能保证存储(或恢复)数据到/从磁带的可能性,如果磁带丢失(在移动或载入操作期间磁带丢失,可能由于人们的操作或自动机械装置的原因相对频繁地发生在典型的磁带库中)或如果磁带暴露在非理想的环境,举例来说,极端的温度或湿度中。因此,需要大量的努力来使存储磁带处于能控制的环境中。而且,磁带库的复合机构(包括自动机械装置)的维护昂贵,而且个别的磁带盒相对昂贵而且具有有限的使用期限。

发明内容
本发明的实施方案提供的备份存储系统克服或缓解传统的磁带库系统的某些或全部问题,而且可以比传统的磁带库系统提供更多的灵活性。
概括地说,本发明的实施方案的各个方面提供以随机存储为基础的存储系统,所述存储系统仿效传统的磁带备份存储系统,以致备份/恢复应用程序所标示到的设备和介质与真实的磁带库一样。本发明的存储系统使用软件和硬件以仿真真实的磁带介质,并用一个或更多的随机存储磁盘阵列替代,将磁带格式、线性的、顺序数据转变适合于存储在磁盘上的数据。另外,提供在硬件和/或软件上运行的应用程序用于恢复存储在备份存储系统中的数据。
依据本发明的实施方案的某些方面,提供的装置用于将连续的磁带格式数据转换为适当的格式以随机访问I/O。在一个实施方案中,提供的装置包括为将磁带格式数据的转换表达式作为NFS(网络文件系统)或CIFS(普通的因特网文件系统)安装卷安装到主机上而做的准备。
依据本发明的其他方面和实施方案,提供用于将写入转换为安装的文件系统以“安全存储”的装置,借此原始数据保持不变。在一个实施方案中,提供的装置用于跟踪原始数据的实时变换,以使随机访问I/O成为可能。在另一个实施方案中,提供的装置用于将最新写入的数据备份转换为对于顺序磁带特征的I/O来说是适当的磁带格式数据。
在一个实施方案中,方法包括以下步骤将数据卷安装到主机上,所述数据卷包括至少一份数据文件,该数据文件与存储在备份存储系统中的至少一份数据文件的最新备份版本相对应,在备份存储系统中存储与所述至少一份数据文件的第二版本相对应的数据,当保存至少一份数据文件的最新备份版本时,所述数据比存储在备份存储系统中的至少一份数据文件的最新备份版本更新。该方法可能也包括连接至少一份数据文件的最新备份版本与至少一份数据文件的第二版本。在一个实施例中,该方法可能也包括新建标示至少一份数据文件的最新备份版本与至少一份数据文件的第二版本的数据结构。在另一个实施例中,至少一份数据文件的第二版本可能是至少一份数据文件的最新备份版本的修改版本。
依据另一个实施方案,备份存储系统包括用于存储备份数据集的备份存储介质,和控制器,该控制器包括至少一个处理器,该处理器经过配置用于执行运行上文中所描述的方法的一系列指令。
在另外一个实施方案中,提供的计算机可读介质中存储有数据结构,该数据结构包括第一标示工具包,该第一标示工具包唯一地标示与备份数据集对应的包括至少一份数据文件的系统文件,以及至少一个第二标示工具包,该第二标示工具包标示存储介质中的各自的存储位置,所述存储介质储存备份数据集中的至少每一份数据文件的最新版本。


附图不是根据比例绘制的。附图中,解释说明的各附图中的每一个相同的或基本相同的部分用同一数字表示。为了表示清楚,并不是每一部分都标注在每一份附图中。在附图中附图1是包括备份存储系统的大型网络化计算环境的一个实施例的方框图;附图2是依据本发明的各个方面包括存储系统的网络化计算环境的一个实施方案的方框图;附图3是依据本发明的各个方面的存储系统的一个实施方案的方框图;附图4是举例说明依据本发明的各个方面的存储系统的一个实施方案的虚拟设计的方框图;附图5是依据本发明的各个方面的系统文件的一个实施例的示意图;附图6是依据本发明的各个方面磁带目录的一个实施例;附图7是依据本发明的各个方面,新建合成完整备份的方法的一个实施例的图表描述;
附图8是依据本发明的各个方面,包含有合成的完整备份的备份数据集系列的一个实施例的示意图;附图9是元数据高速缓冲存储器的结构的一个实施例的图表;附图10是存储合成的完整备份数据集的虚拟编码磁带的一个实施例的图表;以及附图11是存储合成的完整备份数据集的虚拟编码磁带的另一个实施例的图表;附图12是依据本发明的各个方面,用于恢复备份存储系统中的数据的方法的一个实施方案的流程图;附图13是依据本发明的各个方面,包括备份存储系统的网络化计算环境的另一个实施方案的方框图;附图14是依据本发明的各个方面文件描述符结构的一个实施例的图表;附图15用图表解释说明文件数据是如何以磁带格式存储的一个实施例;附图16用图表解释说明附图15的文件描述的文件描述符;附图17是依据本发明将数据写入安装的数据卷的方法的一个实施方案流程图;附图18是新写入文件的示意图;
附图19是依据本发明的各个方面,原始数据、新写入文件和最终修改文件之间的关系的一个实施例的示意图;以及附图20是表示附图19的修改文件的文件描述符的一个实施例的图表;具体实施方式
下面结合相应的附图对各种不同的实施方案和方面进行更加详细的描述。人们将领会到,本发明并不将其应用限制在下文中阐述的部件的结构和布置,或附图中解释说明的细节中。本发明适用于其他的实施方案并能够以各种不同的方式实践和执行。而且,本文中使用的措辞和术语是出于描述的目的,而不能被认为是限制。“包括”、“包括”、“具有”、“包含”、“涉及”的使用和它们的联合使用,这些措辞和术语的使用是指包含其后所列出的项目和等同意思以及附件的项目。
正如本文中使用的术语“主机”是指任何至少具有处理器的计算机,举例来说,个人计算机、工作站、大型机、网络客户和服务器等等,所述主机能够与其他的设备通信,例如,存储系统或其他主机。主机可能包括介质服务器和应用程序服务器(如前面结合附图1的描述)以及用户计算机(可能是用户工作站、个人计算机、大型机等等)。另外,在公开的文件中,术语“网络化计算环境”包括任何计算环境,其中多台主机被连接到一个或多个共享的存储系统中,在这种方式中,存储系统可以与每一台主机通信。光纤通道是通信网络的一个实施例,所述通信网络可以用于本发明的实施方案中。然而,人们将领会到,本文描述的网络并不限于光纤通道,而且各种不同的网络部件可能通过任何的网络连接而互相通信,举例来说,Token Ring或以太代替,或者除光纤通道以外,或通过不同的网络连接的结合。而且,本发明的各个方面可能也被用在数据传输总线拓扑,例如,SCSI或并行的SCSI。
依据本发明的各种不同的实施方案和各个方面,提供的虚拟可移动介质库备份存储系统可以使用一个或多个磁盘阵列,以存储系统为基础模拟可移动的介质。使用本发明的实施方案,数据可以备份到磁盘阵列是通过使用类似的备份/恢复应用程序完成的,正如被用于备份数据到可移动的介质(举例来说,磁带、磁盘、光盘等等),免除了用户必须对现有的备份程序作出任何修改或调整或购买新的备份/恢复应用程序。在一个实施方案中,本文详细描述的,可再移动介质被仿真为磁带,而且本发明的备份存储系统仿效的磁带库系统包括磁带和在传统的磁带库系统中用于处理磁带的自动装置。
依据本发明的各个方面的存储系统包括通过界面与主机(运行备份/恢复应用)和备份存储介质连接的硬件和软件。所述存储系统可以被设计为仿真磁带,或其他类型的可再移动存储介质,以致备份/恢复应用程序将所述装置和介质视为真实的磁带库,并将线性、顺序数据、磁带格式数据转换为适合于存储到随机存储磁盘中的数据。以所述方式,本发明的存储系统可以提供增加的功能(举例来说,允许用户查询个别备份的用户文件,如下文所讨论的)而不要求新的备份/恢复应用软件或策略。
参考附图2,以方框图的形式解释说明依据本发明的方面包括备份存储系统170的网络计算机环境的一个实施例。正如举例的那样,主机120通过网络连接121与存储系统170耦合。网络连接121可能是,例如,光纤通道连接以允许主机120和存储系统170之间的数据的高速传递。人们将领会到,主机120可能是,或可能包括一个或多个应用程序服务器102(参见附图1)和/或介质服务器114(参见附图1),并且可能从网络计算机环境中现有的任何一台计算机或者从主要的存储设备110(参见附件1)中备份数据。另外,一个或多个用户计算机136可能通过另外的网络连接138例如以太连接,与存储系统170耦合。正如以下详细的讨论,存储系统可以使用户计算机136的用户阅读和选择性的从存储系统中恢复备份的用户文件。
存储系统包括备份存储介质126,所述备份存储介质126可能是,举例来说,一个或多个磁盘阵列,正如以下更为详细的解释。备份存储介质126为来自主机120的备份数据提供实际的存储空间。然而,存储系统170可能也包括软件和附加的硬件,所述硬件仿效可移动的介质存储系统,例如,磁带库,以致在主机120上运行备份/恢复应用程序,数据看起来被备份到传统的可移动式存储介质。因此,正如附图2中的解释那样,存储系统170可能包括“仿真介质”134,该“仿真介质”134表示例如,虚拟的或仿真的可移动存储介质(例如,磁带)。所述“仿真介质”134通过存储系统软件和/或硬件存在于主机中,并且作为物理存储介质出现在主机120中。介于仿真介质134和实际的备份存储介质126之间的进一步的界面可能是存储系统控制器(未显示)和开关网络132,所述开关网络132接收来自主机120的数据并将数据储存到备份存储介质126上,正如以下更加详细的讨论。借助这种方式,存储系统“仿真”传统的磁带式存储系统到主机120中。
依据一个实施方案,存储系统可以包括“逻辑元数据高速缓冲存储器”242,所述逻辑元数据高速缓冲存储器242存储涉及从主机120备份到存储系统170的用户数据的元数据。正如本文所使用的术语“元数据”是指表示用户数据的信息,和描述真实的用户数据属性的数据。逻辑元数据高速缓冲存储器242表示可查询的数据集,使用户和/或软件应用能够随机确定备份用户文件的位置,对比用户文件与另外一个文件,或访问和处理备份用户文件。两个软件应用程序的实施例可能使用存储在逻辑元数据高速缓冲存储器242中的数据,包括下文中将要更加全面讨论的合成的完整备份应用程序240和终端用户恢复应用程序300。
概括地说,合成的完整备份应用程序240具有从一个现有的完整备份数据集和一个或多个增量备份数据集中新建合成的完整备份数据集的能力。合成的完整备份可以免除完成周期性(举例来说,每周)完整备份的需要,因此,节省可观的时间和网络资源。合成的完整备份应用程序240的细节将在下文中做更进一步的讨论。终端用户恢复应用程序300,也将在下文中做更进一步的讨论,使终端用户(举例来说,用户计算机136的操作人员)能够浏览、查询、阅读和/或恢复以前从存储系统170中备份的用户文件。
正如上文所讨论的,存储系统170包括与主机120和备份存储介质126界面连接的硬件和软件。结合本发明的实施方案的硬件和软件可以仿真传统的磁带库备份系统,以致从主机的120的角度看,数据显然备份到磁带上,但是实际上备份到另外一个存储介质中,举例来说,例如,众多磁盘阵列。
参考附图3,用方框图的形式解释依据本发明的各方面的存储系统170的一个实施方案。在一个实施例中,存储系统170的硬件包括存储系统控制器122和连接存储系统控制器122和备份存储介质126的开关网络132。存储系统控制器122包括处理器127(可能是单个的处理器或多个处理器)和记忆器129(举例来说,RAM,ROM,PROM,EEPROM,闪存等等,或它们的结合),可以运行所有或部分存储系统软件。记忆器129也可以用于存储与储存在备份存储介质126中的数据相关的元数据。软件(包括程序编码执行本发明的实施方案)通常存储在可读/可写的非易失性记录介质中,举例来说,RAM,ROM,光盘、磁盘或磁带等等,然后拷贝到记忆器129中,其中软件被处理器127执行。所述程序编码可能以多种编程语言中的任何一种语言来书写,举例来说,Java,Visual Basic,C,C#,或 C++,Fortran,Pascal,Eiffel,Basic,COBAL,及其结合的语言,由于本发明不限于特殊的编程语言。典型地,在操作中,处理器127致使数据(举例来说,执行本发明的实施方案的编码)被从非易失性记录介质中读取到另外一种记忆形式,例如,RAM,允许以比非易失性记录介质更快的速度访问处理器的信息。
正如附图3所示,控制器122也包括一系列将控制器122和主机120连接到开关网络132的接口适配器124a,124b和124c。正如举例说明的那样,主机120通过接口适配器124a与存储系统耦合,所述接口适配器124a可能是,举例来说,光纤通道的接口适配器。通过存储系统的控制器122,主机120将数据备份到备份存储介质126中,并能够恢复从备份存储介质126中备份的数据。
在示例性实施例中,开关网络132可能包括一个或多个光纤通道开关128a,128b。存储系统控制器122包括众多光纤通道接口适配器124b和124c,以将存储系统控制器耦合到光纤通道开关128a,128b。通过光纤通道开关128a,128b,存储系统的控制器122允许数据备份到备份存储介质126中。如附图3所举例的那样,开关网络132可以进一步包括一个或更多以太开关130a,130b,所述以太开关130a,130b通过以太接口适配器125a,125b与存储系统的控制器122耦合。在一个实施例中,存储系统控制器122进一步包括另外一种以太接口适配器125c,可以与,例如LAN103耦合,以促使存储系统170与主机(例如,用户计算机)通信,如下文中的讨论。
在附图3举例说明的实施例中,存储系统控制器122通过开关网络与备份存储介质126耦合,所述开关网络包括两种光纤通道开关和两种以太开关。提供至少两种存储系统170中的开关的每一种类型仿真系统中的任何单一失效点。换句话说,即使一个开关(例如,光纤通道开关128a)失效,存储系统控制器122仍将能够通过另外一个开关与备份数据介质126通信。在稳定性和速度方面,所述安排有优势。举例来说,如上文中的讨论,稳定性通过提供的备用元件和消除单一失效点得到改善。而且,在某些实施方案中,存储系统控制器能够通过使用某些或全部的并联的光纤通道开关将数据备份到备份存储介质126中,从而提高整体的备份速度。然而,人们将领会到,并不要求系统包括两种或更多的开关的每一种类型,也不要求开关网络既包括光纤通道也包括以太开关。更进一步,在包括单一磁盘阵列的备份存储介质126的实施例中,根本不需要开关。
正如上文中的讨论,在一个实施方案中,备份存储介质126可能包括一个或更多的磁盘阵列。在一个优选的实施方案中,备份存储介质126包括众多ATA或SATA磁盘。所述磁盘是“待售”商品,与传统的由例如EMC,IBM等制造商的存储阵列商品相比更便宜。而且,当可再移动介质(举例来说,磁带)的成本是一种因素和介质的使用寿命有限时,所述磁盘在成本上可与传统的磁带为基础的备份存储系统相比。另外,所述磁盘读/写数据实质上比磁带快。举例来说,通过单一的光纤网络连接,数据可以至少大约150MB/s的速度被备份到磁盘上,150MB/s转换为大约540GB/hr,明显快于磁带的备份速度(例如,通过磁盘顺序)。另外,几个光纤通道连接可以并联执行,从而进一步提高速度。依据本发明的实施方案,备份存储系统介质可以被集合执行任何一个RAID(廉价磁盘冗余阵列)序列。举例来说,在一个实施方案中,备份存储介质可以执行RAID-5任务。
正如上文所讨论的,本发明的实施方案仿真传统的磁带库备份系统时通过使用磁盘阵列代替磁带盒作为真实的备份存储介质来实现的,因此提供“虚拟磁带库”。真实的磁带盒出现在传统的磁带库中被本文中使用的术语“虚拟编码磁带”替代。人们将领会到,出于公开的目的,术语“虚拟磁带库”是指可以在软件和/或物理硬件中执行的仿真磁带库,举例来说,作为一个或多个磁盘阵列。人们将进一步领会到,尽管讨论主要涉及仿真磁带,存储系统也可以仿真其他的存储介质,举例来说,CD-ROM或DVD-ROM,而且术语“虚拟编码磁带”一般是指仿真的存储介质,例如,仿真磁带或仿真CD。在一个实施方案中,虚拟编码磁带实际上对应于一个或更多的硬盘。
因此,在一个实施方案中,提供软件界面以仿真磁带库到备份/恢复应用,看起来数据被备份到磁带。然而,真实的磁带库被一个或多个磁盘阵列替代,以致数据实际上被备份到这些磁盘阵列中。人们将领会到,可移动介质保存系统的其他类型可以被仿真,而且本发明不限于磁带库存储系统的仿真。以下的讨论将解释包括在存储系统170中的各个方面特征和软件的操作。
人们将认识到,尽管可能描绘的软件被“包括”在存储系统170中,并且可能被存储系统控制器122(参见附图3)的处理器127运行,并不要求所有的软件在存储系统控制器122中运行。软件程序,举例来说,合成完整备份的应用程序和终端用户恢复应用程序可以在主机和/或用户计算机上运行,在此部分可能通过全部或某些存储系统控制器、主机和用户计算机分配。因此,人们将认识到并不要求存储系统控制器包含物理实体,例如计算机。存储系统170与储存在主机中的软件通信,例如,举例来说,介质服务器114和应用程序服务器102。另外,存储系统可能包含几个能够在相同和不同的主机上运行和保留的应用软件。而且,人们将领会到,存储系统170并不限于装置的离散片断,尽管在某些实施方案中,存储系统170可以作为装置的离散片断体现。在一个实施例中,存储系统170可以提供作为自包含单元,起到“中止和开始”的作用取代传统磁带库备份系统(举例来说,对现有的备份处理器和策略不需要作出的修改)。所述存储系统单元可以在网络化计算环境中使用,包括传统的备份系统以提供冗余或额外的存储能力。
正如上文中的讨论,依据一个实施方案,主机120(可能是,例如附图1中的应用程序服务器102或介质服务器114)可以通过网络连接121(举例来说,光纤连接)将数据备份到备份存储介质126中,所述网络连接121将主机120耦合到存储系统170中。人们将认识到,尽管以下的讨论将优先涉及数据在仿真介质中的备份,原理也适用于从仿真介质中恢复备份数据。主机120和仿真介质134之间的数据流可以被备份/恢复应用程序控制,正如上文中的讨论。从备份/恢复应用程序的观点来看,明显的是,数据实际上被备份到仿真介质的真实的版本中。
参考附图4,存储系统软件150可能包括一个或更多的表示仿真介质的逻辑抽象层,并提供固定在主机120中的备份/恢复应用程序140和备份存储介质126之间的界面。软件150接受来自备份/恢复应用140的磁带格式数据,并将所述数据翻译为适合于存储在随机访问磁盘(举例来说硬盘、光盘等类似的介质)中的数据。在一个实施例中,软件150在存储系统控制器122的处理器127中运行,而且可以被存储在记忆器129中(参见附图3)。
依据一个实施方案,软件150可以包括层、至于本文中涉及的虚拟磁带库(VTL)层142可以提供SCSI磁带的仿真、磁带机和用于将磁带转换为磁带机的格式和从磁带机转换为磁带的格式的自动装置。备份/恢复应用140可以使用例如,SCSI命令(用箭头144表示)与VTL142通信(举例来说,备份或将数据读入仿真介质中)。因此,VTL可以形成其他的存储系统软件和硬件和备份/恢复应用程序之间的软件界面,仿真存储系统介质134(附图2中)出现在备份/恢复应用程序中,并允许仿真介质作为传统的可再移动备份存储介质出现在备份/恢复应用程序中。
本文中提到的第二软件层,如文件系统层146可以提供仿真存储介质(在VTL中表示的)和真实的备份存储介质126之间的界面。在一个实施例中,文件系统146起到微调系统以与备份的存储介质126通信的作用,举例来说,使用SCSI命令(用箭头148表示),以从备份存储介质126中读和写数据。
在一个实施方案中,所述VTL提供一般的磁带库支持,而且可以支持任何SCSI介质的转换器。仿真的磁带设备可以包括,但不限于IBM LTO-1和LTO-2磁带设备、Quantum SuperDLT320磁带设备、Quantum P3000磁带库系统,或Storage TekL180磁带库系统。在VTL中,每一个虚拟编码磁带是文件,当数据存储时,所述文件动态增长。这与有固定尺寸的传统的磁带盒相反。一个或更多的虚拟编码磁带可以存储在系统文件中,正如下文中参考附图5的进一步描述。
在附图5中,举例说明在文件系统软件146中数据结构的一个实施例,依据本发明的一个实施方案解释说明了系统文件200。在所述的实施方案中,系统文件200包括头202和数据204。所述头202可能包括标示每一个虚拟编码磁带的信息,虚拟编码磁带存储在系统文件中。不管虚拟编码磁带是否写保护,所述头可以包括的信息有,虚拟编码磁带的新建/修改数据等等。在一个实施例中,头202包括的信息唯一地标示每一个编码磁带,并从其他的储存在存储系统中的虚拟编码磁带中将每一个编码磁带区分开。举例来说,信息可能包括名称和虚拟编码磁带的标示码(例如,对应于通常在真实的磁带上表示的条形码,以致磁带可以被自动装置标示)。头202也可以包括附加的信息,举例来说,每一个虚拟编码磁带的容量,最近修改的数据等等。
依据本发明的一个实施方案,可以充分利用头202的大小以反映出存储数据的类型(举例来说,虚拟编码磁带表示数据从一个和更多的主机系统中备份数据),和一系列明显的系统可以跟踪的所述数据集(例如,虚拟编码磁带)。举例来说,通常备份到磁带存储系统的数据一般是用较大的数据集标识特征,代表数字系统和用户文件。由于数据集非常大,一系列被跟踪的离散数据文件可能相对小些。相应地,在一个实施方案中,头202的大小的选择是建立在由于存储数据的太多而不能有效保持跟踪(例如,头太大)和没有空间用于存储足够数量的编码磁带的标示(例如,头太小)之间妥协的基础上。在一个可仿效的实施方案中,头202利用系统文件200的第一32MB。然而,人们将认识到,在系统需要和特征的基础上,头202可以有不同的大小,取决于系统的需求和容量,人们可以为头202选择不同的大小。
人们将领会到,从备份/恢复应用程序的观点来看,具有全部相同的属性和特征的虚拟编码磁带作为真实的磁带盒出现。换句话说,对于备份/恢复应用程序,虚拟编码磁带实质上作为写入磁带出现。然而,在一个优选的实施方案中,存储在虚拟编码磁带中的数据不是按照顺序格式储存到备份存储介质126中,而是,表面上被写入虚拟编码磁带的数据实际上是作为可以随机访问的、磁盘格式数据被储存在存储系统的文件中。元数据被用于连接存储的数据到虚拟编码磁带,以致备份/恢复应用程序可以编码磁带格式来读和写。
因此,从一个优选的实施方案整体说来,用户和/或系统数据(本文中是指“文件数据”)被存储系统170从主机120上接收,并被存储在补充备份存储介质126的磁盘阵列中。软件150(参考附图4)和/或存储系统的硬件将这个文件数据以系统文件的格式写入到备份的存储介质126中,如下文中更加详细的描述。被存储系统控制器从备份文件数据中摘录的元数据用于跟踪用户和/或系统文件的属性被备份。举例来说,每一份文件的所述元数据可能包括文件名称、建立日期或文件的最近修改,任何关于文件的编有密码的信息,和其他信息。此外,通过存储系统为每一份文件建立元数据,所述元数据将文件连接到虚拟编码磁带。使用所述的元数据,软件向主机提供磁带盒的仿真;然而,实际上文件数据不是储存在磁带格式只,而是存储在系统文件中,如下文中的描述。在系统文件中存储数据,而不是以顺序的编码磁带格式,可以有利于允许快速、有效和随机访问个别文件,而不要求扫描顺序数据以发现特别的文件。
正如上文中的讨论,依据一个实施方案,文件数据(例如,用户和/或系统数据)作为系统文件存储在备份存储介质中,每一个系统文件包括头和数据,数据是真实的用户和/或系统文件。每一份系统文件200的头202包括磁带目录206,所述磁带目录206包括将用户和/或系统文件连接到虚拟编码磁带的元数据。本文中术语“元数据”既不是指代用户也不是系统文件数据,而是描述真实的用户和/或系统数据的属性的数据。依据一个实施例,磁带目录可以定义,向下到字节阶段,虚拟编码磁带中的数据布局。在一个实施方案中,磁带目录206具有表格结构,如附图6中所示。表格包括用于存储的信息的类型(例如数据,文件标记FM等等)的栏220,表示字节中使用的磁盘字节的大小的栏222,以及计算存储文件数据的磁盘字节的数量的栏224。因此,磁带目录允许控制器随机访问(以相反的顺序)任何存储在备份的存储介质126中的任何数据文件。举例来说,参考附图6,数据文件226可能在虚拟编码磁带中快速定位,是由于磁带目录指出了文件226的数据开始于系统文件200的初始阶段的框图。由于响应于文件标记(FM),所述的一个框图没有大小。文件标记不是存储在系统中的,例如,文件标记对应于零数据。由于文件标记被传统的磁带使用,所以磁带目录包括文件标记,因此,备份/恢复应用程序沿着数据文件写入文件标记,并当浏览虚拟编码磁带时,希望看到文件标记。所以,在磁带目录中文件标记被跟踪。然而,文件标记并不代表任何数据,并因此不被存储在系统文件的数据部分。所以,文件226的数据开始于系统文件的数据部分的起始部分(用箭头205表示),而且它的长度是1024字节(例如,一个磁盘字节是1024字节)。人们将领会到,其他的文件数据可能存储在不只是1024字节的字节中,这取决于数据的总量,例如,数据文件的大小。举例来说,对于效率而言,较大的数据文件可能使用较大的磁盘字节来存储。
在一个实施例中,磁带目录可能被包含在“文件描述符”中,所述文件描述符与备份到存储系统的每一份数据文件相联系。文件描述符包含与储存在存储系统中的数据文件204相关联的元数据。在一个实施方案中,文件描述符可能根据标准格式执行,举例来说,被大多数UNIX基础系统(多用户计算机操作系统)使用的磁带存档文件格式(一种压缩文件的扩展名)。每一个文件描述符可能包括例如,相应的用户文件的名称的信息、新建/修改的用户文件的数据、用户文件的大小,用户文件的任何访问限制等等。存储在文件描述符中的附加信息可以进一步包括描述目录结构的信息,从目录结构中可以拷贝数据。因此,文件描述符可以包括关于相应于数据文件的可查询的元数据,正如下文中更详细的讨论。
从备份/恢复应用程序的观点来看,任何虚拟的编码磁带可能包括多个文件数据和相对应的文件描述符。从存储系统软件的观点来看,数据文件存储在系统文件中,系统文件可以被链接,举例来说,特殊的备份工作。例如,备份被一台主机在特定的时间执行可以产生对应于一个或多个虚拟编码磁带的一个系统文件。因此,虚拟编码磁带可能是任何大小的,当更多的用户文件被存储在虚拟编码磁带中时,虚拟编码磁带可以动态增长。
再次参考附图3,正如上文所述,存储系统170可能包括合成的完整备份软件应用程序240。在一个实施方案中,主机120将数据备份到仿真介质134中,形成一个或多个虚拟编码磁带。在某些计算机环境中,“完整备份”,举例来说,存储在网络(参见附图1)主要的存储系统中的所有数据的备份拷贝,可能被周期性地执行(例如,每周)。由于大量的数据被拷贝,这一处理过程通常非常长。因此,在许多计算环境中,额外的备份,所说的增量备份,可能在连续的完整备份(例如,每天)之间执行。增量备份是一种过程,由于执行(不管是增量的或全部)最新的备份被保存,其中只有数据被改变。典型地,改变的数据是文件库中的备份,即使文件中的大部分数据不被频繁地改变。因此,增量备份通常较小,从而可以比完整备份时较快完成。人们将领会到,尽管在通常每周一次执行完整备份和在一周中每天执行增量备份的许多环境,不要求使用时间表。举例来说,某种环境可能要求一天中增量备份几次。本发明的原理应用到任何使用完整备份(和随机的增量备份)的环境,而不考虑执行频率。
在完整备份处理期问,主机可以新建一个或更多的包括含有众多数据文件的备份数据的虚拟编码磁带。为了清楚说明,下面的讨论将假定完整备份只产生一个虚拟编码磁带。然而,人们将领会到,完整备份可以产生一个以上的虚拟编码磁带,本发明的原理可以应用到任何数量的虚拟编码磁带中。
依据一个实施方案,提供用于从一个现有的完整备份数据集和一个或多个的增量备份数据集新建合成完整备份数据集的方法。所述方法可以避免周期性(例如,每周)执行完整备份的要求,从而节约用户大量的时间和网络资源。更进一步说,正如本领域内的普通技术人员所知道的,在完整备份和一个或多个增量备份的基础上,恢复数据是耗时的过程,举例来说,如果文件的最新的版本存在于增量备份中,备份/恢复应用程序通常将在最新的完整备份的基础上储存文件,然后应用增量备份中的任何改变。因此,提供合成的完整备份可以具有允许备份存储应用在合成完整备份的基础上更快地保存数据文件的额外优势,不需要从完整备份和一个或更多的增量备份中完成多次保存。人们将领会到,本文中使用的词汇“最新版本”一般是指数据文件的最新拷贝(举例来说,数据文件在最近的保存时间),无论文件是否有新的版本编号。本文中使用的术语“版本”一般是指同一文件的拷贝,同一文件可以某种方式修改或可能被多次保存。
参考附图7,举例说明的合成完整备份程序的图表描述。主机120可以在第一时间执行完整备份230,举例来说,在周末。主机120可以执行连续增量备份232a,232b,232c,232d和232e,举例来说,一周中的每一天。存储系统170可以新建合成完整备份数据集234,正如下文中的描述。
依据一个实施方案,存储系统170可以包括软件应用,在本文中是指合成完整备份应用程序240(参考附图3)。合成完整备份应用程序240可以在存储系统控制器122(参考附图2)中运行或在主机120中运行。合成完整备份应用程序包括软件命令和新建合成完整备份数据集234所必要的界面。在一个实施例中,合成完整备份应用可以完成表示每一个完整备份数据集230和增量备份数据集232的元数据的逻辑合并,以产生新的包含合成完整备份数据集234的虚拟编码磁带。
举例来说,参考附图8,现有的完整备份数据集可以包括用户文件F1,F2,F3和F4。第一增量备份数据集232a可以包括F2的修改版本的用户文件F2′,,和F3的修改版本F3′。第二增量备份数据集232b可以包括F1的修改版本的用户文件F1′,和F2的进一步修改版本F2″,和新的用户文件F5。因此,从完整备份数据集230和两个增量数据集232a和232b的逻辑合并中形成的合成完整备份数据集234包括每一份用户文件F1,F2,F3,F4和F5的最新版本。正如附图8所示,此处的合成完整备份数据集包括用户文件F1′,F2″,F3′,F4和F5。
再次参考附图3和4,文件系统软件146可以新建逻辑元数据高速缓冲存储器242,该高速缓冲存储器242存储与储存在仿真介质134中每一份用户文件相关联的元数据。人们将领会到,逻辑元数据高速缓冲存储器不要求是真实的数据高速缓冲存储器,但是可能代替储存在存储介质126中的可查询收集数据。在另一个实例中,逻辑元数据高速缓冲存储器242可以作为数据库执行。元数据存储在数据库中,传统的数据库命令(例如,SQL命令)可以用于完成完整备份数据集和一个或多个增量备份数据集的逻辑合并以新建合成的完整备份数据集。
正如上文所讨论的,存储在仿真介质134上的每一份数据文件可能包括文件描述符,所述文件描述符包含与数据文件关联的元数据,包括备份存储介质126中的文件的位置。在一个实施方案中,在主机120中运行的备份/恢复应用程序保存在仿真介质134中的磁带流格式的数据。在数据结构250的实施例表示在附图9中举例说明的磁带格式。正如上文讨论的,系统文件数据结构包括头,所述头可能包含关于数据文件的信息,例如,数据文件的文件描述符,新建和/或修改的文件数据,安全信息,文件来源的主系统的目录结构,以及其他将文件链接到虚拟编码磁带的信息。所述头与数据254关联,是真实的用户和系统文件,所述用户和系统文件已经从主机、主要的存储系统等等中备份。系统文件数据结构可能也随机地包括垫256,垫256可以适当地将下一个头对准到区域分界线。
如附图9所示,在一个实施方案中,头数据被放置在逻辑元数据高速缓冲存储器242中,以允许快速的查询和随机访问连续的磁带数据格式。逻辑元数据高速缓冲存储器的使用,借助存储在系统控制器122中的文件系统软件148来完成,允许线性、连续磁带数据格式的翻译存储在仿真介质134中,进入存储在补充备份存储介质126的物理磁盘中的随机访问数据格式中。逻辑元数据高速缓冲存储器242存储头252,所述头252包括数据文件的文件描述符、安全信息,所述安全信息被用于控制对数据文件的访问,正如下文中更加详细的讨论,指示符256对应于数据文件在虚拟编码磁带和备份存储介质126中的真实位置。在一个实施方案中,逻辑元数据高速缓冲存储器储存的数据涉及在完整备份数据集230中和增量数据集232中的每一份数据的所有的数据文件。
依据一个实施方案,合成完整备份应用软件240使用储存在逻辑元数据高速缓冲存储器中的信息来新建合成的完整备份数据集。所述合成完整备份数据集被链接到虚拟编码磁带,所述合成虚拟编码磁带由合成的完整备份应用240新建。对于备份/恢复应用程序,合成的完整备份数据集表面上看储存在合成的虚拟编码磁带中。正如上文中的讨论,合成的完整备份数据集可以通过执行现有的完整备份数据集和增量备份数据集的逻辑合并新建。逻辑合并可以包括对比每一份数据文件,每一份数据文件包含在每一个现有的完整备份数据集和增量备份数据集中,并新建每一份用户文件的最新修改的版本的合成,正如参考附图8的讨论。
依据一个实施方案,合成的虚拟编码磁带260包括指示符,所述指示符指出数据文件在其他的虚拟编码磁带中的定位,明显的是,如附图10所示,所述虚拟编码磁带包括现有的完整备份数据集和增量备份数据集。考虑到前面附图8给出的实施例,合成虚拟编码磁带260包括指示符266,该指示符266指出(用箭头268标出)用户文件F4(由于现有的完整备份数据集包括F4的最新版本)在虚拟编码磁带262中的现有完整备份数据集中的位置,举例来说,用户文件F3′在虚拟编码磁带264中的增量数据集232a中的位置。
合成的虚拟编码磁带也可以包括包含所有的虚拟编码磁带的标示码(任选的名称)的列表270,所有的虚拟编码磁带包括被指示符266所指出数据。附属编码磁带列表270对于跟踪真实的数据是很重要的,而且防止附属的虚拟编码磁带被消磁。在所述实施方案中,合成的完整备份数据集并不包括任何真实的用户文件,但是另外的指示符组指出用户文件在备份的存储介质126中的位置。因此,为防止真实的用户文件(存储在其他的虚拟编码磁带中)被删除需要描述(用户文件在备份的存储介质126中的位置)。这可以通过保留包括数据的虚拟编码磁带的记录(附属编码磁带目录270),和保护所述虚拟编码磁带的每一个虚拟编码磁带免受过写或删除来部分实现。合成虚拟编码磁带也可以包括编码磁带数据272,例如,合成的虚拟编码磁带的大小,在备份存储介质126中的位置等等。另外,合成的虚拟编码磁带具有标示码和/或名称274。
依据另外一个实施方案,合成的虚拟编码磁带也可以包括指示符和真实存储的用户文件的结合。参考附图11,在一个实施例中,合成的虚拟编码磁带包括指示符266,指示符266指出数据文件(最新的版本,正如参考附图9时的讨论)在虚拟编码磁带262的现有完整备份数据集230中的位置。合成的虚拟编码磁带也可以包括数据278,数据278包含从增量数据集232中拷贝真实的数据文件,如箭头280所示。以所述方式,在合成的完整备份数据集276新建之后,增量备份数据集可以被删除,从而节约存储空间。由于包括全部或部分指示符而不是所有用户文件的拷贝,合成的虚拟编码磁带相对小。
人们将领会到,合成的完整备份可以包括任何指示符和存储文件数据的结合,并不限于上文中给出的实施例。举例来说,合成的完整备份可以包括为一些存储在某种增量和/或完整的备份中的某些文件指出数据文件的指示符,和包括从其他现有的完整和/或增量备份中拷贝的存储的数据文件。而且作为替换,合成的完整备份可以在现有的完整备份和任何相关的增量备份的基础上新建,所述增量备份不包括任何指示符,但是包括从优选的完整和/或增量备份中拷贝的真实数据文件的最新版本。
在一个实施方案中,合成完整的备份应用软件可以包括差分运算,所述差分运算能够为每一份现有的完整备份数据集和增量数据集比较用户和系统文件元数据,以确定每一份数据文件的最新版本的位置。举例来说,差分运算可以用于比较新建和/或修改的数据,版本号码(如果可用)等等,不同的备份集中的同一数据文件的不同版本选择最近的数据文件的版本。然而,用户可以打开用户文件和保存文件(从而改变修改的数据)而不需要真实的改变文件中的任何数据。因此,系统可以完成更加复杂的差分运算,可以分析系统或用户文件中的数据以确定数据是否确实被修改。所述差分运算的变换和其他可比较的运算法则的类型在本领域内是公知的。另外,正如上文中的讨论,当元数据被存储在数据库格式中,数据库命令,例如,SQL命令可以被用于执行逻辑合并。本发明可以运用任何一种所述的差分运算以确保每一份用户文件最近或最新版本被从全部的对比现有备份的数据集中挑选出来,以致适合地产生合成的完整备份数据集。
本领域内的普通技术人员将领会到,合成的完整备份应用能够新建完整的备份数据集,和可以获得而不需要主机执行真实的完整备份。不仅仅是避免增加将数据转换到备份的存储系统的主机与处理器的费用,而且在实施方案中合成的完整备份应用可以在存储系统中执行,可以显著减少网络宽带的利用。如附图7所示,进一步的合成完整备份数据集可以通过使用第一合成完整备份数据集234和随后的增量备份数据集236新建。在提供的显著的时间优势中,文件或目标没有被经常修改、频繁拷贝。实际上,合成的完整备份数据集可以在被刚刚拷贝的文件中保留指示符。
正如参考附图3的讨论,存储系统可以包括涉及终端用户恢复应用程序300的软件应用。因此,依据另一个实施方案,对终端用户提供了用于确定和恢复备份数据的方法,而不需要IT工作组的发明,以及不要求对现有的备份/恢复处理器和/或策略做任何改变。在典型的备份存储系统中,在主机120中运行的备份/恢复应用程序被IT工作组控制,而且对于终端用户在没有IT工作组的发明的情况下访问备份的数据来所说,是没有可能的或非常困难。依据本发明的实施方案的各个方面,提供的存储系统软件通过,举例来说,网络为基础的或其他的备份存储介质126的界面来允许终端用户确定位置和恢复文件。
人们将领会到,由于使用合成的完整备份应用程序240,终端用户恢复可以在存储系统的控制器122上运行(参考附图2)或在主机120上运行的应用程序300。终端恢复应用程序包括软件命令和允许被授权的用户查询逻辑元数据高速缓冲存储器、随机恢复、从备份存储介质126中备份的文件所必需的界面。
依据一个实施方案,提供的软件包括安装在用户计算机136上和/或在用户计算机136上执行的用户界面。用户界面可以是任何类型的允许用户确定文件在备份的存储介质中的位置的界面。举例来说,用户界面可以是绘制的用户界面,可以是以网络为基础的,或可以是正文界面。用户计算机通过网络连接138耦合到存储系统170,所述网络连接138可以是,例如,以太连接。通过网络连接138,用户计算机136的操作人员可以访问存储在存储系统170中的数据。
在一个实施例中,终端用户恢复包括用户授权证和/或授权特征的应用程序300。举例来说,用户可以通过用户计算机上的用户界面,使用用户名和密码来注册。用户计算机可以与用户名和密码通信到存储系统(举例来说,到终端用户恢复应用程序)可以使用优选的用户授权装置,以决定用户是否访问过存储系统。一些用户授权装置的实施例可以包括,但是不限于,MicrosoftActive Directory服务器、Unix“黄页”服务器或标准目录访问协议。注册/用户授权装置可以与终端用户恢复应用程序通信以交换用户的特权。举例来说,某些用户可以被允许只能查询自身新建的文件,或拥有某些特权的或被当作所有人标示的文件。其他的用户,举例来说,系统操作人员或被授权的人可以访问所有的备份文件等等。
依据一个实施方案,终端用户恢复应用程序使用逻辑元数据高速缓冲存储器获得关于所有备份到备份存储介质的数据文件的信息。终端恢复应用程序通过用户界面出现在用户面前,用户文件存储的分等级的目录结构,举例来说,备份时间/数据、用户名、初始用户计算机目录结构(当文件备份时获得),或其他的文件特征。在一个实施例中,出现在用户面前的目录结构可根据用户特权来改变。终端用户恢复应用程序可以接收浏览的要求(举例来说,通过用户界面,用户可以浏览目录结构到需要的文件的位置)或用户可以通过名称、日期等查询文件。
依据一个实施方案,用户可以从存储系统中恢复备份文件。举例来说,一旦用户确定需要的文件的位置,正如上文中的讨论,用户可以通过网络连接138从存储系统中下载文件。在一个实施例中,如本领域内的普通技术人员所知的,下载程序可以对比与任何网络为基础的下载的方式进行下载。
通过允许终端用户访问允许浏览/下载的其他文件,和通过促使经过用户界面(例如,网络为基础的结束)的访问,终端用户恢复应用程序可以使用户查询和恢复自己的文件而无需改变任何备份策略或程序。
依据另一个实施方案提供的装置和方法,借此用户可以安装存储在备份存储介质126中的备份数据集的网络附件视图。这样可以允许用户在安装的数据集中浏览和访问数据,由于用户将会在与他们的计算机耦合的任何本地或网络驱动器上录入数据。因此,例如,用户可以恢复应用程序服务器(例如,当系统主存储106失效时,参考附图1)数据的有效性,而无需通过介质服务器114(参考附图1)执行恢复程序。使用本文描述的安装程序恢复应用程序服务器的数据可能是比典型的介质服务器要快出多个数量级以便于卷的恢复。人们将领会到,本文中使用的术语“安装”是指建立数据卷或网络构成,例如网络驱动器,可利用的主机操作系统。数据卷可能包括,例如单一的数据文件或系统文件、众多的文件、或包括众多文件的目录结构。普通安装协议包括NFS(网络文件系统)和CIFS(普通因特网文件系统)的共有部分。这些协议允许主机借助界面通过网络连接访问另外的主机上的资源,所述界面使得远程资源似乎就在本地的主机中。
参考附图12,解释说明了依据本发明的各个方面用于执行卷安装的方法的一个实施方案的流程图。在第一步骤290中,用户选择将要安装的数据卷,并将卷安装请求发送到备份存储系统的控制器122中(参考附图3)。通常,用户可以从完整备份数据集中(而不仅仅是增量备份数据集)恢复数据,以获得完整和正确的备份信息的表达式。如果当前的完整备份数据集不存在,(例如,网络管理者可能每周执行完整备份,因此如果用户希望在这周中恢复数据,当前的完整备份可能是不能使用的),可以新建合成的完整备份(如上文所述)并用于恢复选定的数据。
依据一个实施方案,备份存储系统170可能包括软件应用程序,关于本文的卷恢复应用程序310(参考附图13),可以控制和实现用于执行数据卷安装和恢复程序的方法。卷恢复应用程序310与合成的完整备份和终端用户恢复应用程序类似,可以在主机和/或用户计算机上执行,在此,一部分程序通过所有或部分存储系统控制器、主机和用户计算机进行分配。
再次参考附图12,在请求卷安装之后,无论当前的完整备份是否是可利用的(步骤292),所述卷恢复应用程序可能会受到质疑。如果不是,所述卷恢复应用程序可以与合成的完整备份应用程序240(参考附图2)通信以执行合成完整备份处理程序,并新建当前的备份数据集(步骤294)。所述卷恢复应用程序可以输出到常规的完整备份数据集中或合成的完整备份数据集中,以执行卷安装的请求,所述请求可能是NFS也可能是CIFS所共有的部分。特别的是,所述卷恢复应用程序查询逻辑元数据高速缓冲存储器242以确定优选的元数据,该元数据表示在步骤290中被标示的被选定的完整备份卷。
依据一个实施方案,安装请求(步骤290中)可能导致卷恢复应用程序建立一个或更多的文件描述符结构,以使用于安装的卷的输出更加便利,如NFS或CIFS所共有的部分(步骤296)。关于附图14,解释说明了文件描述符结构320的一个实施方案,所述文件描述符可以通过卷恢复应用程序建立,文件描述符320对应于磁带格式(例如系统文件332,参考附图15)的系统文件。正如上文中的描述,文件描述符包括可查询的元数据,所述元数据与储存在存储系统中的数据文件和系统文件相对应。所述文件描述符320可能包括含有信息的众多部分,例如,文件名322和用于包含在将要安装的卷中的数据文件的许可文件(访问控制列表)324。另外,文件描述符包含一个或更多的指示符326以确定数据文件的源数据的位置(例如,在存储介质126中标示数据文件是否被存储)、数据文件的长度328,和在连接列表文件描述符结构中的指向下一条目(例如,下一份数据文件)的指示符330。如果“下一份”文件是空的,例如被参考数字331标示,那么,则表示该数据文件是被文件描述符320(例如,最后的连接列表条目)所代表的系统文件中的最后一份数据文件。如附图14中解释说明的那样,包括在将被安装的数据卷中的每一系统文件将用文件描述符结构表示。一旦在请求卷中的每一系统文件建立了文件描述符320,则所述文件描述符可以响应于NFS或CIFS的请求以定位和输出相关的数据文件。
正如上文中的讨论,在一个实施方案中,文件描述符可能根据标准格式执行,举例来说,被大多数UNIX基础系统(多用户计算机操作系统)使用的磁带存档文件格式(tar一种压缩文件的扩展名)。如附图15解释说明的那样,典型的系统文件332的例子将作为磁带(例如,tar)数据源的一部分以磁带格式书写(例如,tar格式)。附图16解释说明了与系统文件332相对应的文件描述符340。正如附图15解释说明的那样,以磁带格式书写的文件包括头336和存储在系统文件332中的真实数据338。所述数据338可能与一份或多份数据文件相一致。在用于解释说明的实施例中,系统文件332的长度是1032字节,然而,人们将会理解文件可以有任何长度,这取决于文件的大小和书写格式。
文件332的文件描述符340包括在头336中。根据附图16的解释说明和参考附图14给出的一般实施例可知,文件描述符340包括对于系统文件来说是已知的每一份数据文件的存储数据的文件名341、安全信息334、指示符342,相应的数据文件的长度346,以及标示系统文件已知的下一份数据文件的“下一”条目,在用于解释说明的实施例中,“下一”条目是空348。
再次参考附图12,一旦将要安装的数据卷中的文件的所有的文件描述符已经被建立,卷恢复应用程序在建立的文件描述符的基础上,将文件系统作为NFS或CIFS共享部分(步骤298)输出到特定用户安装点。在所述安装点,完成安装(步骤299),而且安装的数据卷对于用户读和/或写数据是可利用的,下文将做详细的描述。
依据一个实施方案,NFS或CIFS读操作(例如,用户希望在安装的数据卷中浏览数据)通过查询用于匹配文件说明的文件描述符320提供。人们将领会到,依据一个实施方案,用户无需自己查询文件描述符。而是,卷恢复应用程序包括将数据呈现在用户面前的用户界面,例如,典型的字典结构格式。卷恢复应用程序可以包括软件,该软件将用户请求的特殊文件转换为访问逻辑元数据高速缓冲存储器中的查询命令,并为匹配系统文件查找文件描述符320。一旦确定文件的位置,转换到用户计算机中的数据可以通过追踪连接列表(例如,追踪存储在文件描述符中的指示符以确定真实数据的位置)来完成并为文件数据建立缓冲器,所述文件数据将被发送到提出请求的用户处。
依据另一个实施方案,为用户提供的装置也可以将新数据写入安装卷中。正如上文中的讨论,安装的卷数据可能作为普通的网络驱动器或其他网络存储数据出现在用户面前。然而,事实上,原始安装的卷数据是被真实备份的数据,该数据通常需要保存;至少直到新建另一份备份数据集。因此,允许用户真实地修改原始备份数据可能并非理想。为避免修改原始备份数据,并仍允许用户修改对应于安装卷的数据,提供的装置(对于用户来说是显而易见的)将写入转移到存储系统中,正如下文中的讨论。
参考附图17,解释说明了依据本发明的各个方面的处理写请求的方法的一个实施方案的流程图。在第一步骤350中,用户请求NFS或CIFS写操作(通常是通过在编辑或浏览数据文件的过程选择“保存”选项)。然后,卷恢复应用程序通过确定可利用的存储空间执行写请求,将数据写入该空间,并更新适当的文件描述符以参考最新的写入数据。
依据一个实施方案,卷恢复应用程序查询是否已经为写入的数据(步骤352)分配空间,如果没有,卷恢复应用程序分配存储空间(步骤354)。存储空间可能分配在备份存储介质126(参考附图13)中。分配的存储空间可以被特别设计用于只是保存写入数据(随机的相关元数据)。
参考附图18,解释说明了存储在备份存储介质126中的NFS或CIFS写入数据的一个实施例。写入数据360包括,例如,两个写入部分,对应于存储数据的W1 362和W2 364,所述存储数据起因于作为卷恢复应用程序提供的写命令的结果。举例来说,W1和W2对应于包括在安装的数据卷中修改的数据文件。人们将领会到,尽管解释例对应两个写请求,本发明的原理可以适用于任何数量的写请求,而且文件可能是适合更改的,以反应任何适当数量的写请求。写入数据360也可以包括头366,该头366包括元数据,所述元数据形成原始数据(例如,文件332)和最新写入的数据360之间的自描述关系。尤其是,头可以包括标示相对于原始数据逻辑存在的写入数据部分W1和W2的补偿信息,结合附图19进一步的描述。
参考附图19,解释说明了当提出两个写请求时,系统文件布图的一个实施例。原始数据文件332存储在备份存储系统介质126中(参考附图13),并通过安装上文中描述的程序出现在用户面前。如附图19所示,系统文件332是以磁带格式书写的,而且数据部分338可能包括众多数据文件(例如,用户文件)。该数据开始于补偿零字节(点370)并终止于点372的末端1032字节之后。写入文件360对应于用户请求以将数据写入文件332中。举例来说,用户可以修改包括在系统文件332中的两份数据文件,得到包括W1和W2的写入文件360。正如上文中的描述,写入文件360可能在存储介质中与文件332分开存储,以致不用更改原始备份数据。逻辑修改系统文件380被用于解释说明,并代表包括用户通过写请求所作的变化(例如写入文件360)的文件332。换句话说,在修改的系统文件380中,W1和W2(用户修改的数据文件)可能被用于替代包括在原始数据文件332的数据部分中的原始数据文件,而无需删除备份数据。
如附图19所示,修改的系统文件与原始系统文件332和写入文件360的逻辑结合相对应。如图所示,原始系统文件数据338开始于原始文件的补偿零位。在补偿64(用参考数字384表示),修改数据的第一部分W1开始,并结束于沿着用参考数字386表示的补偿73有9字节的位置。因此,W1,用户修改的数据文件来自用户写请求可能用于替换原始数据文件,该原始数据文件确定补偿64在原始系统文件332中的位置。如图所示,W1的长度为9字节,因为W1开始于写入文件360的补偿零位(390),并终止于写入文件360的补偿9(392)。通过存储在头366中的信息来确定W1在修改文件(在解释例中补偿64)的开始位置,即,写入文件360和原始文件332之间的相对关系。W2部分也包括在修改的文件380中,起始于补偿1032(文件的原始末端,用参考数字372表示),并逻辑延伸到100字节文件。而且,W2的长度通过头366中的定位信息确定。文件的新末端点用参考数字388表示。
人们将领会到,尽管修改文件380是逻辑新建的并代表原始文件的用户修改版本,用文件360表示的最新写入数据并不是作为原始文件332的一部分真实存储的。而是,正如上文中的讨论,最新写入的数据储存在存储介质的标示写入数据的特别位置。在这种方式下,原始备份数据文件的完整性得以维持,同时允许用户明显地写入安装卷,由于它们可能是初始位置或网络驱动器。
修改的文件380包括头382,该头382包括代表修改文件的文件描述符。参考附图20,解释说明了文件描述符400的实施例。文件描述符400包括标示修改文件380的文件名的名称部分402和标示修改文件380的准许属性的安全部分404。文件描述符400也包括包含了原始文件332的指示符和写入文件360的指示符的众多数据部分,以获取存储在每一份原始文件和写入文件中的数据。通过连续跟踪文件描述符400中给定的指示符的连接列表,得出修改文件380的表达式。
参考附图19和附图20,解释说明了修改文件的文件描述符的一个特殊的实施例。在第一数据部分406,确定第一数据文件的位置的指示符定位,在修改的文件380中,所述文件位于补偿零位字节,如附图19中参考数字408的标示。随后部分410标示数据文件的长度,所述随后部分410的位置由指示符406标出。在解释性实施例中,长度为64字节,可以从附图19中得出(数据在零位补偿点,参考数字408,以及64字节的补偿之间提供,用参考数字384表示)。下一部分412标示下一数据文件在修改文件380中是W1,如附图19所示。因此,标示与W1对应的数据的位置的指示符414存储在最新写入文件360的零位补偿点中(附图19中的参考数字390)。长度部分416标示W1的长度为9字节,也可以在附图19中看到--W1由修改文件380中的补偿64(参考数字384)和补偿73(参考数字386)之间提供。下一部分418标示修改文件380中的下一数据文件是来自原始系统文件332的数据文件。在部分420中的指示符标示下一数据文件在修改文件380中的补偿73定位,如附图19中的参考数字386所示。部分422标示数据文件的长度是959字节,也可以参考附图19。下一部分424标示随后的数据文件是W2。再次,部分426中的指示符标示W2的定位,即,最新写入文件360在补偿9的定位,可以参考附图19。部分428标示W2的长度是100字节,而且下一部分430包括标示W2在修改文件380中是最新数据文件的空位,如附图19所示。因此,文件描述符400包括标示修改文件380的结构和数据位置的“路线图”,该“路线图”包括在修改文件380中。
卷恢复应用程序和方法描述了上述代表连续磁带格式数据以适合的格式随机访问I/O系统,例如NFS或CIFS。连接列表文件描述符,例如文件描述符400,可以用于将连续的磁带格式数据转换为随机访问数据,这是通过记录每一份特殊tar源的数据文件在存储介质的位置,例如,以及每一份数据文件在tar源中的其他数据文件相关的tar源的位置来完成的。另外,依据一个实施方案,卷恢复应用程序可能包括为将数据变为(例如,写)磁带格式(例如tar)的表达所作的准备,以致备份/恢复应用程序可以上文中描述的一般方式访问数据。根据一个实施方案,即时恢复应用程序包括产生虚拟编码磁带的工具,该工具以上文中描述的与文件系统软件相关的方式,用磁带头、垫、数据和文件标记来适当格式化。在另一个实施方案中,卷恢复应用程序与文件系统软件连接以新建如上文中讨论的虚拟编码磁带,所述虚拟编码磁带包括最新写入和修改的文件。
人们将领会到,尽管本发明的各个方面,例如合成的完整备份应用、终端用户恢复应用程序和卷恢复应用程序在本文中的描述主要是依据软件进行的,所述方面和其他方面可以选择在软件、硬件或固件,或任何它们的结合中执行。因此,举例来说,本发明的实施方案可以包括任何编有指令编码(举例来说,众多的指令)的计算机可读介质(例如,计算机存储器、软盘、压缩盘和磁带等等),当在存储系统的处理器上执行时,至少部分实现完成合成的完整备份应用程序和/或终端用户恢复应用程序的功能,如同上文中详细的描述。
一般来说,本发明的实施方案和各个方面包括存储系统和仿真传统的磁带备份系统的方法,但是可以提供增强的功能,举例来说,能够新建合成的备份和允许终端用户浏览和恢复备份文件。然而,人们将领会到,本发明的各个方面可以用于,而不只是计算机数据的备份。因为本发明的存储系统可以用于经济地储存庞大的数据,以及可以相反的顺序在硬盘访问时间内随机访问储存数据,本发明的实施方案可以在传统的备份存储系统之外找到应用。举例来说,本发明的实施方案可以用于存储代表电影和音乐的更多的选择的视频或音频数据,并按照需要实现视频和/或音频。
如此描述本发明的至少一个实施方案的几个方面,人们将领会到,对于本领域内的普通技术人员来说各种改变、修改和改进将是容易发生的。所述改变、修改和改进是用来公开的一部分,在本发明的范围内。相应地,前面的描述和附图只是作为实施例。
权利要求
1.一种方法,其包括如下步骤将数据卷安装到主机上,该数据卷包括至少一份数据文件,所述数据文件与存储在备份存储系统中的至少一份数据文件的最新备份版本相对应;在备份存储系统中存储与所述至少一份数据文件的第二版本相对应的数据,当保存至少一份数据文件的最新备份版本时,所述数据比存储在备份存储系统中的至少一份数据文件的最新备份版本更新。
2.根据权利要求1的方法,进一步包括以下步骤连接所述至少一份数据文件的最新备份版本和所述至少一份数据文件的第二版本。
3.根据权利要求1的方法,进一步包括以下步骤新建数据结构,该数据结构既标示所述至少一份数据文件的最新备份版本,也标示所述至少一份数据文件的第二版本。
4.根据权利要求3的方法,其中所述至少一份数据文件的第二版本是所述至少一份数据文件的最新备份版本的修改版本。
5.根据权利要求1的方法,其中安装数据卷的步骤包括执行NFS安装或CIFS安装之一。
6.根据权利要求1的方法,其中安装数据卷的步骤包括建立包含与所述至少一份数据文件的最新备份版本相关的元数据的文件描述符,所述元数据包括标示所述至少一份数据文件的最新备份版本在备份存储介质中的存储位置的指示符。
7.一种备份存储系统,该系统包括用于存储备份数据集的备份存储介质;以及控制器,该控制器包括至少一个经过配置的处理器以执行实现权利要求1中的方法的一系列指令。
8.如权利要求7所要求保护的备份存储系统,其中所述备份数据集是合成的完整备份数据集。
9.编有众多指令编码的计算机可读介质,当在至少一个处理器上执行时,所述众多指令编码实现权利要求1的方法。
10.如权利要求9所要求保护的计算机可读介质,其中所述处理器包括在备份存储系统中。
11.一种编有众多指令编码的计算机可读介质储存有数据结构,该数据结构包括第一标示工具包,该第一标示工具包唯一地标示与包括至少一份数据文件的备份数据集对应的系统文件;以及至少一个第二标示工具包,该第二标示工具包标示存储介质中的各自的存储位置,所述存储介质储存备份数据集中的至少每一份数据文件的最新版本。
全文摘要
一种在备份存储系统中用于将对应于备份数据集的数据卷安装到主机上的装置和方法。在一个实施例中,该方法包括将数据卷安装到主机上,所述数据卷包括至少一份数据文件,该文件与存储在备份存储系统中的至少一份数据文件的最新备份版本相对应,以及在备份存储系统中存储与所述至少一份数据文件的第二版本相对应的数据,当保存至少一份数据文件的最新备份版本时,所述数据比存储在备份存储系统中的至少一份数据文件的最新备份版本更新。
文档编号G06F12/00GK1997972SQ200480030746
公开日2007年7月11日 申请日期2004年9月30日 优先权日2003年9月30日
发明者米克洛斯·桑多菲 申请人:赛帕顿有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1