把存储单元和相关元数据复制到存储器的方法和系统的制作方法

文档序号:6560111阅读:116来源:国知局
专利名称:把存储单元和相关元数据复制到存储器的方法和系统的制作方法
技术领域
本发明涉及把文件集和相关元数据复制到存储器的方法、系统和程序。
背景技术
在分布式文件系统中,客户机共享对分布式存储装置上的存储位置寻址的全局名称空间。中央服务器为客户机管理分布式文件名称空间。例如,由多个服务器设备构成的元数据服务器集群可为客户机保持保存在不同的存储池中的分布式文件系统的全局名称空间。全局名称空间被组织成文件集,所述文件集包括对于文件操作来说,客户机可访问的文件系统目录和文件夹。在客户机上,全局名称空间表现为由在客户机上运行的操作系统提供的分级文件目录。当访问用户数据时,客户机会访问由元数据服务器保持的文件元数据。在国际商用机器公司(“IBM”)出版物“IBM Total StorageIntroducing the SAN FileSystem”(文件编号SG24-7057-02(2004年12月))中描述了使用元数据服务器的分布式文件系统的其它细节。
为了在存储系统中备份和复制数据,通过首先暂停对待复制数据的所有操作,以确保从及时点(point-in-time)起,数据是一致的,随后在完成所有数据的复制之后,恢复对操作被暂停的数据的处理,包括待复制的用户数据的文件集和文件集的元数据的存储位置可被复制。文件集可作为卷级复制或者文件级及时点复制的一部分被复制,以致只有指定的文件或数据块受到及时点复制操作。
这种技术的缺陷在于在复制操作期间,经历复制处理的数据不可用,复制操作可能要相当长的时间来完成,对于要求用户数据的连续可用性的企业系统来说,该缺陷尤其严重。
复制用户数据的另一种复制选择是进行FlashCopy操作。FlashCopy是IBM的注册商标。FlashCopy操作涉及创建指示待复制的源数据和目标数据之间的关系的数据结构,随后在通过创建所述数据结构确定了所述关系之后,在实际复制数据之前,允许对基础数据的访问。FlashCopy操作可指定对卷进行及时点复制操作。

发明内容
提供一种把存储单元和相关元数据复制到存储器(storage)的方法、系统和程序。用户数据存储位置包括用户数据,元数据存储位置包括用户数据的元数据。执行第一种复制操作,以便把具有用户数据的至少一个指定存储单元复制成所述至少一个指定存储单元的至少一个副本。执行第二种复制操作,以便把被复制的至少一个指定存储单元的元数据复制成复制的至少一个文件集的元数据的副本。
在另一实施例中,通过产生指示至少一个存储单元中的数据块以提供所述至少一个存储单元的及时点副本的复制数据结构,并把数据块复制到在第一复制数据结构中指示的至少一个存储单元的副本,执行第一种复制操作,以便把用户数据存储位置中的至少一个存储单元复制成所述至少一个存储单元的副本。执行第二种复制操作,以便把被复制的至少一个存储单元的元数据复制成所述复制的至少一个存储单元的元数据的副本,从而提供元数据的及时点副本,并把包含该元数据的数据块复制成在第二复制数据结构中指示的元数据的副本。


图1图解说明其中实现实施例的网络计算环境。
图2图解说明存储系统的一个实施例。
图3图解说明用户存储系统的一个实施例。
图4图解说明系统存储系统的一个实施例。
图5图解说明网络计算环境中复制文件集和元数据的操作的一个实施例。
图6图解说明系统存储子系统的另一实施例。
图7图解说明网络计算环境中复制文件集和元数据的操作的另一
具体实施例方式
在下面的说明中,参考了附图,附图构成所述说明的一部分,并且图解说明本发明的几个实施例。显然也可利用其它实施例,并且在不脱离本发明的范围的情况下可做出结构和操作上的变化。
图1图解说明根据实施例的分布式文件系统计算环境。元数据集群2包括多个元数据引擎4a、4b...4n,元数据引擎4a、4b...4n包括管理参考保存在用户数据存储系统8b...8n中的文件的全局名称空间的元数据服务器程序6a、6b...6n。元数据集群2管理客户机10a、10b...10n对在全局名称空间中定义的文件集的访问。每个客户机10a、10b...10n包括客户机虚拟文件系统12a、12b...12n,客户机虚拟文件系统12a、12b...12n使客户机10a、10b...10n与全局名称空间中客户机可访问的那些文件集进行接口(interface)。元数据集群2,客户机10a、10b...10n,和存储系统8a、8b...8n通过网络14通信。变量“n”表示任意数目的部件,并且当和不同的部件一起使用时,可具有不同的值。
元数据引擎4a、4b...4n可包含服务器级系统。可分配每个元数据引擎4a、4b...4n处理全局名称空间中的特定文件集,以致全局名称空间的工作负载分布在元数据引擎4a、4b...4n上。对于客户机10a、10b...10n,文件集表现为分级文件系统中的标准目录和文件夹。元数据服务器6a、6b...6n执行全局名称空间管理操作,并把包含客户机10a、10b...10n访问的文件集的有关信息的文件元数据和文件集的系统元数据保存在系统存储系统8a中。在备选实施例中,元数据服务器和客户机系统可位于相同的计算机设备上。
客户机虚拟文件系统12a、12b...12n安装客户机10a、10b...10n可访问的文件集。
图2把存储系统8a、8b...8n图解表示成包括一个或多个存储子系统30,存储子系统30管理对在存储装置32中配置的卷的访问。在一个实施例中,每个存储系统8a、8b...8n包括一个独立的存储子系统30和存储装置32。在另一实施例中,可在一个存储子系统30和存储装置32中实现多个存储系统8a、8b...8n,或者可用具有附加的存储装置的一个或多个存储子系统实现一个存储系统8a、8b...8n。存储子系统30可包括存储服务器或企业存储服务器,例如IBMEnterprise Storage Server(IBM和企业存储服务器是IBM的注册商标)。分配给存储系统8a、8b...8n的存储设备32可包含本领域中已知的存储系统,例如直接存取存储装置(DASD),简单磁盘捆绑(JBOD),独立磁盘冗余阵列(RAID),虚拟化装置,磁带存储器,光盘存储器,或者本领域中已知的任何其它存储系统。
在一些实施例中,用户存储系统8b...8n把用户数据保存在由元数据集群2管理的文件集中。客户机10a、10...10n包括本领域中已知的计算设备,例如工作站、桌上型计算机、服务器、大型机、手持式计算机、电话机等。网络14包括本领域中已知的网络,例如局域网(LAN)、存储区域网(SAN)、广域网(WAN)、InfiniBand、无线网络等。元数据服务器6a、6b...6n实现全局名称空间16,全局名称空间16实现由映射到用户存储系统8b...8n中的存储位置的多个文件集构成的分布式文件系统。如前所述,用户存储系统8b、8n包含与网络14连接的存储系统和装置,以便把文件集保存在全局名称空间16中。
图3图解说明具有存储子系统30b和用户存储装置32b的用户存储系统8b的一个实施例,用户存储装置32b包括具有用户数据文件集52a的源卷54a,数据文件集52a被复制到包括用户数据文件集的副本52b的目标卷54b,作为复制操作的一部分。其它用户存储系统8n也可具有经历复制操作的数据文件集。在一个实施例中,在用户存储系统8b...8n内复制用户数据文件集52b,而不通过客户机10a、10b...10n或者元数据集群2在网络14内传送数据。在一个备选实施例中,文件集的副本52b可以在和被复制的文件集52a不同的用户数据存储系统8b...8n中。管理其中保持源卷54a的存储装置32b的存储子系统30b还可保持指示源卷54a和目标卷54b中经历及时点复制操作的数据块的复制数据结构56。在创建复制数据结构56之后,存储子系统30随后可开始在存储系统8b内把源卷54a中的数据块复制到目标卷54b,而不通过客户机10a、10b...10n或者元数据集群2在网络14内复制数据。通过首先把请求所针对的数据块从源卷54a复制到目标卷54b,处理对源卷54a或目标卷54b中的在复制数据结构56中指示为未被复制的数据块的任何后续更新。在数据已被复制到目标卷b之后,复制的源卷54a和目标卷54b数据可被就地(in place)更新和重写,和“正常的”写操作的情况一样。此外,为了访问在复制数据结构56中指出的在目标卷54b的数据,在可访问该数据之前,数据块必须已从源卷54a复制到目标卷54b。从而,对还未用来自源卷54a的数据更新的目标卷54b数据块的读请求可触发复制操作,以便在复制之后允许访问。一旦数据已从源位置复制到目标位置,那么由复制数据结构56建立的复制数据的及时点关系就结束,以致在源卷的文件集和在目标卷的文件集的副本可被就地更新和重写。在复制数据之前创建复制数据结构的这种即时复制操作的一个例子是IBMFlashCopy操作。在FlashCopy中,创建源卷和目标卷的位图数据结构,以指示源卷和目标卷中服从该复制关系的还未被复制的数据块。为复制操作指定的存储单元可包括整个逻辑卷,指定的文件,例如非连续文件,存储器中的存储块或者本领域中已知的存储器的其它适当单位。
在上述实施例中,在用于卷级复制的卷级指定复制操作。在备选实施例中,可相对于不同的源和目标存储单元进行复制操作。经历上述复制操作并在复制数据结构中指出的存储单元除了是卷之外,还可包含一组指定文件,存储器中的一系列存储块,分区等。
图4图解说明(文件集52a的)元数据60a如何被复制到元数据的副本60b,以致元数据的副本60b提供文件系统元数据,从而使客户机10a、10b...10n能够访问文件集的副本52b。在一个实施例中,元数据60a被复制成系统存储系统8a中的元数据副本60b,而不通过客户机10a、10b...10n或元数据集群2在网络14内传送元数据。在一个实施例中,复制的元数据60a可以只是系统池8a中的卷中的数据的子集,该卷中的其它数据可提供未经历图3的复制操作的卷中的文件集的元数据。此外,在一个实施例中,元数据60a可被复制成系统存储系统8a中的元数据副本60b,而不通过客户机10a、10b...10n在网络14内传送该元数据。
图5图解说明由图1中的组件执行的把源卷54a中的文件集52a复制到目标卷54b(图3)的操作。如上所述,虽然关于卷级复制说明复制操作,不过可对其它存储单元级,例如存储器中的一系列的存储块进行复制操作。控制开始于方框100,一个客户机10a、10b...10n发起复制用户数据文件集52a和对应的元数据60a的操作。执行客户机10a、10b...10n请求的系统(它可包括接收客户机请求的元数据服务器6a、6b...6n或者虚拟文件系统12a、12b...12n)确定(在方框102)用户存储装置32b中包括所请求的文件集52a的存储位置和系统存储装置32a中具有待复制的文件集52a的元数据60a的元数据存储位置。一个或多个元数据服务器6a、6b...6n停止(在方框104)对待复制的文件集52a(或者其它存储单元)的输入/输出(I/O)请求。在一个实施例中,通过联系图1中访问正被复制的文件集52a的每个系统(例如客户机或元数据引擎),元数据服务器6a、6b...6n可停止(quiesce)I/O。此外,具有待复制的文件集52a的更新的任意系统(例如,客户机10a、10b...10n或元数据引擎4a、4b...4n)将把它们的更新转出(destage)到存储子系统30b,以便从发起客户机复制请求的及时点起,使待复制的文件集52a一致。管理对具有待复制的元数据60a的系统存储装置30a的访问的元数据服务器6a...6n可停止(在方框106)对正被复制的文件集52a的元数据60a的I/O请求。
处理客户机请求的元数据服务器6a、6b...6n或者客户机虚拟文件系统12a、12b...12n向用户数据存储子系统30b提交(在方框108)第一命令,执行复制在确定的用户数据存储位置的所请求文件集52a的第一种复制操作,和向元数据存储子系统30a提交第二命令,执行复制所请求文件集52a的元数据60a的第二种复制操作。如上所述,文件集可在任意用户存储系统8b...8n中。在一个实施例中,作为第一复制操作的一部分,复制用户数据的第一命令可包括对卷或指定文件集的复制操作。复制元数据的第二命令可包括复制包含元数据60a的一系列存储块的操作。
存储子系统30b执行(在方框110)进行第一种复制操作的第一命令,从而通过进行方框112和114的操作,把文件集52a复制成文件集副本52b。在方框112,存储子系统30b产生指示待复制的文件集52a(它们在复制命令中指出)中的数据块的复制数据结构,从而提供文件集52a的及时点副本。在第一命令是卷级FlashCopy命令的一个实施例中,复制数据结构56可包含在FlashCopy操作中使用的源卷位图和目标卷位图。另一方面,复制数据结构56可识别数据块。存储子系统30b随后发起(在方框114)把在复制数据结构56中指出的数据块复制到文件集副本52b的操作。
管理对具有元数据60a的系统存储装置32a的访问的存储子系统30a可执行第二命令,从而进行(在方框116)第二种复制操作,以便把用户数据的复制文件集52a的元数据60a复制成在元数据存储位置的至少一个元数据副本60b。
在复制操作完成,产生及时点复制之后,在数据块已被复制到文件集副本52b之前,元数据服务器6a...6n启动(在方框120)对文件集52a、52b的I/O访问。从而,在实际复制完数据之前,系统可认识到复制操作已结束,数据可在稍后或在后台操作中被复制完。在物理地把元数据60a复制成元数据副本60b之后,存储子系统30a启动(在方框122)对元数据的I/O访问。元数据副本60b被用于向客户机10a、10b...10n提供在用户数据存储系统8b...8n中实现的文件系统的综览。虚拟文件系统12a、12b...12n利用复制的元数据向客户机10a、10b...10n提供对在全局名称空间16中实现的文件系统的访问。
在图5的实施例中,利用不同类型的复制操作复制文件集50a和元数据60a。利用在实际复制数据之前,最初创建识别经历复制操作的文件集52a中的数据块的数据结构56的虚拟复制技术复制文件集50a,以致在创建复制数据结构56之后,并在复制数据之前,可允许对文件集52a的访问。这使文件集52a不可用的时间降至最小。此外,利用一种不同的复制操作,例如由元数据服务器组织的逐块复制,复制元数据60a,因为在一些实施例中,待复制的元数据60a的数量明显小于对应的文件集50a,从而在复制元数据的时候,不工作时间可能不大,不会拖延对元数据的访问。
此外,在涉及卷级复制的一个实施例中,包括文件集52a的整个源卷54a被复制。在这样的一个实施例中,源卷54a不包括不经历复制操作的任何文件集52a。在一个实施例中,复制的元数据60a可包括卷的子集,因为包含元数据60a的卷包括不经历复制操作的文件集的元数据。在这样的实施例中,第二种复制操作只从包括被复制的文件集52a的元数据的卷中复制包含元数据60a,而不包含同一卷中未经历复制操作的文件集的元数据的一系列存储块。
图6图解说明其中元数据的元数据服务器6a、6b...6n可产生复制数据结构58,从而进行及时点复制,而不复制实际的元数据,以致在创建复制数据结构58之后,并在复制元数据60a之前,对元数据60a的访问可返回的实施例。在一个实施例中,复制数据结构58指示只有正被复制的元数据60a才服从该关系,除了正被复制的那些元数据外,与元数据60a在同一卷中的文件集的元数据未在复制数据结构58中指出,不和元数据60a一起经历复制处理。
图7图解说明了由图1中的组件执行的复制文件集52a和相关元数据60a的操作的一个备选实施例。控制始于方框200,一个客户机10a、10b...10n发起复制用户数据文件集52a和对应元数据60a的操作。执行客户机10a、10b...10n请求的系统(它可包括接收客户机请求的元数据服务器6a、6b...6n或者虚拟文件系统12a、12b...12n)确定(在方框202)用户存储装置32b中包括所请求的文件集52a的存储位置和系统存储装置32a中具有待复制的文件集52a的元数据60a的元数据存储位置。元数据服务器6a、6b...6n停止(在方框204)对待复制的文件集52a的输入/输出(I/O)请求。在一个实施例中,通过联系访问待停止的文件集52a的每个客户机10a、10b...10n,元数据服务器6a、6b...6n可停止I/O。此外,具有待复制的文件集52a的更新的任意系统(例如,客户机10a、10b...10n或元数据引擎4a、4b...4n)将把它们的更新转出到存储子系统30b,以便从发起客户机复制请求的及时点起,使待复制的文件集52a一致。元数据服务器6a、6b...6n还停止(在方框206)对待复制的元数据的输入/输出(I/O)请求。在一个实施例中,通过联系图1中能够访问待停止的元数据60a的每个系统,元数据服务器6a、6b...6n可停止I/O。此外,具有待复制的元数据60a的更新的任何系统(例如客户机10a、10b...10n或元数据引擎4a、4b...4n)将把它们的更新转出到存储子系统30b,以便从发起客户机复制请求的及时点起,使待复制的文件集60a一致。
处理客户机请求的元数据服务器6a、6b...6n或者客户机虚拟文件系统12a、12b...12n向存储子系统30b发送(在方框208)第一命令,执行复制在确定的用户数据存储位置的所请求文件集52a(或者其它存储单元)的第一种复制操作,和向元数据存储子系统30a发送第二命令,执行复制所请求文件集52a的元数据60a(元数据块的列表)的第二种复制操作。存储子系统30b执行第一命令,从而实现(在方框210)把文件集52a复制成文件集副本52b的第一复制操作。在一个实施例中,第一复制操作可产生(在方框212)指示待复制的文件集52a中的数据块的文件复制数据结构56(图3),以提供文件集52a的及时点副本。在第一命令是卷级FlashCopy命令的一个实施例中,复制数据结构56可包含在FlashCopy操作中使用的源卷位图和目标卷位图。存储子系统30b随后发起(在方框214)把在复制数据结构56中指示的数据块复制到文件集副本52b的操作。
存储子系统30a执行第二命令,从而实现(在方框216)把元数据60a复制成元数据副本60b的第二复制操作。存储子系统20a产生(在方框218)指示待复制的元数据60a的数据块的复制数据结构58(图6),从而提供元数据60a的及时点副本,它可包含比包括待复制的元数据60a的卷中的所有数据块少的数据块。在一个实施例中,复制数据结构58可包含在FlashCopy操作中使用的源卷位图和目标卷位图。存储子系统30a随后发起(在方框220)把在复制数据结构58中指示的数据块复制到元数据副本60b的操作。在数据块被复制到文件集副本52b之前,存储子系统30b启动(在方框222)对文件集52a、52b的I/O访问,在数据块被复制到元数据副本60b之前,存储子系统30b启动(在方框224)对元数据60a和元数据副本60b的I/O访问。
在图7的实施例中,相同的虚拟复制操作,例如FlashCopy被用于复制待复制的文件集54a和元数据60a,以致在建立复制数据结构56、58之后,并在实际复制数据之前,图1中的系统可以访问文件集54a和元数据60a。
另外的实施例细节通过利用标准的编程和/或工程技术来产生软件、固件、硬件或者它们的任意组合,所描述的操作可被实现成一种方法、设备或制造产品。这里使用的术语“制造产品”指的是在有形介质中实现的代码或逻辑,这种有形介质可包括硬件逻辑(例如集成电路芯片,可编程门阵列(PGA),专用集成电路(ASIC)等)或者计算机可读介质,比如磁性存储介质(例如硬盘驱动器、软盘、磁带等),光学存储器(CD-ROM、光盘等),易失性和非易失性记忆装置(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等)。计算机可读介质中的代码由处理器访问和执行。其中代码或逻辑被编码的计算机可读介质还可包含通过空间或传输介质,比如光纤、铜导线等传播的传输信号。其中代码或逻辑被编码的传输信号还可包含无线信号、卫星传输、无线电波、红外信号、蓝牙等。其中代码或逻辑被编码的传输信号能够由发射站发射并由接收站接收,在传输信号中编码的代码或逻辑可被解码并保存在接收和发射站或设备的硬件或计算机可读介质中。另外,“制造产品”可包括其中包含、处理和执行所述代码的硬件和软件组件的组合。当然,本领域的技术人员会认识到可对这种构造进行许多修改,而不脱离本发明的范围,并且制造产品可包含本领域中已知的任何信息承载介质。
在所描述的实施例中,通过创建复制数据结构,创建用户数据的及时点副本。在备选的及时点复制实施例中,可产生和上述复制管理信息不同类型的数据结构或信息来管理复制操作。
术语“实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”意味着“本发明的一个或多个(但不是全部)实施例”,除非另有说明。
术语“包括”、“包含”、“具有”和它们的变型意味着“包括但不限于”,除非另有说明。
术语“一个”和“这个”意味着“一个或多个”,除非另有说明。
相互通信的设备不必一直相互通信,除非另有说明。另外,相互通信的设备可直接通信或者通过一个或多个中间物间接通信。
具有相互通信的几个组件的一个实施例的描述并不意味着所有这些组件都需要。相反,描述了各种可选组件,以举例说明本发明的各种可能实施例。
此外,虽然顺序描述了过程步骤,方法步骤,算法等,不过这样的过程,方法,算法等可被配置成按照其它顺序工作。换句话说,可描述的步骤的任何顺序或次序并不一定表示要求按照该顺序执行所述步骤。实际上可按照任何顺序执行这里描述的过程的步骤。一些步骤可同时执行。
当这里描述单一设备或产品时,显然代替单一设备/产品,可以使用一个以上的设备/产品(无论它们是否协作)。类似地,在这里描述一个以上的设备或产品(无论它们是否协作)的情况下,显然代替所述一个以上设备或产品,可以使用单一设备/产品。
另一方面,设备的功能和/或特征可由一个或多个未被明确描述成具有这种功能/特征的其它设备具体体现。从而,本发明的其它实施例不必包括设备本身。
变量“n”表示部件的整数数目的实例,当和不同的部件一起使用时可以取不同的值,例如56n和86n可分别表示相同或不同数目的现场(field)信息和现场授权的实例。
在一些实施例中,文件集和元数据保存在独立的存储系统中,系统通过网络传送复制文件集和元数据的命令。在一个备选实施例中,文件集和元数据可保存在相同的存储系统中,复制命令可由还直接管理包括待复制的文件集和元数据的存储装置的系统中的程序发起。
图5和7的例证操作表示了按照一定顺序发生的一些事件。在备选实施例中,一些操作可按照不同的顺序执行,被修改或除去。可向上述逻辑增加步骤,并且仍然符合描述的实施例。此外,这里描述的操作可顺序发生,或者一些操作可并行处理。此外,操作可由单个处理单元或者由分布式处理单元执行。
出于举例说明的目的,给出了本发明的各个实施例的上述说明。上述说明并不是详尽的,也不打算把本发明局限于公开的具体形式。鉴于上述教导,许多修改和变化是可能的。本发明的范围不受该详细说明限制,而是由附加的权利要求限定。上述说明,例子和数据提供了本发明的组成物的制造和使用的完整描述。由于在不脱离本发明的精神和范围的情况下,可做出本发明的许多实施例,因此本发明由附加的权利要求限定。
权利要求
1.一种方法,包括把用户数据保持在用户数据存储位置;把用户数据的元数据保持在元数据存储位置;执行第一种复制操作,以便把具有用户数据的至少一个指定存储单元复制成所述至少一个指定存储单元的至少一个副本;和执行第二种复制操作,以便把被复制的至少一个指定存储单元的元数据复制成复制的至少一个文件集的元数据的副本。
2.按照权利要求1所述的方法,其中在用户数据存储系统中实现用户数据存储位置,在元数据存储系统中实现元数据存储位置,其中元数据存储系统和用户数据存储系统与网络连接,其中客户机系统与网络连接,还包括由一个客户机系统发出复制所述至少一个指定存储单元的请求;和响应于客户机系统请求,把第一命令发出到用户数据存储系统,以便执行第一种复制操作;和响应于客户机系统请求,把第二命令发出到元数据存储系统,以便执行第二种复制操作。
3.按照权利要求2的方法,还包括由客户机系统访问位于元数据服务器的元数据,以确定所述至少一个指定存储单元在存储系统中的用户数据存储位置;由客户机系统使用访问的元数据通过网络从存储系统访问所述至少一个指定的存储单元;由客户机系统通过网络访问在元数据服务器的所述复制的至少一个存储单元的元数据的副本,以确定复制的至少一个存储单元在存储系统的存储位置;和由客户机系统使用访问的复制的至少一个文件存储单元的元数据的副本,通过网络从存储系统访问所述至少一个存储单元的副本。
4.按照权利要求1所述的方法,其中第一种复制操作包括产生指示所述至少一个指定存储单元中的数据块,从而提供所述至少一个指定存储单元的及时点副本的复制数据结构;和把在复制数据结构中指示的数据块复制到所述至少一个指定存储单元的副本。
5.按照权利要求4所述的方法,还包括停止对所述至少一个指定存储单元的输入/输出(I/O)请求;和在数据块被复制到所述至少一个指定存储单元的副本之前,响应于产生指针,启动对所述至少一个指定存储单元的I/O访问。
6.按照权利要求1所述的方法,其中第二种复制操作包括停止对被复制的所述至少一个指定存储单元的元数据的输入/输出(I/O)请求;把元数据复制成元数据的副本;和响应于把元数据复制成元数据的副本,启动对元数据的I/O访问。
7.一种方法,包括把用户数据保持在用户数据存储位置;把用户数据的元数据保持在元数据存储位置;通过产生指示至少一个存储单元中的数据块以提供所述至少一个存储单元的及时点副本的复制数据结构,并把数据块复制到在第一复制数据结构中指示的至少一个存储单元的副本,执行第一种复制操作,以便把用户数据存储位置中的至少一个存储单元复制成所述至少一个存储单元的副本;执行第二种复制操作,以便把被复制的至少一个存储单元的元数据复制成所述复制的至少一个存储单元的元数据的副本,从而提供元数据的及时点副本,并把包含该元数据的数据块复制成在第二复制数据结构中指示的元数据的副本。
8.按照权利要求7所述的方法,其中第一种复制操作中涉及的所述至少一个存储单元包含源卷,所述至少一个存储单元的副本包含目标用户数据卷,其中在所述源卷中,不存在未包括在正被复制的至少一个文件集中的文件集,其中第二种复制操作从一个元数据卷中的元数据的第一子集中复制元数据,并且其中元数据卷中的元数据的第二子集包括用户数据存储位置中未经历第一种复制操作的至少一个文件集的元数据。
9.一种与包括用户数据的用户数据存储位置和包括用户数据的元数据的元数据存储位置通信的系统,包括处理器;由处理器执行以便完成操作的代码,所述操作包括发起第一种复制操作,以便把具有用户数据的至少一个指定存储单元复制成所述至少一个指定存储单元的至少一个副本;和发起第二种复制操作,以便把被复制的至少一个指定存储单元的元数据复制成复制的至少一个文件集的元数据的副本。
10.按照权利要求9所述的系统,其中在用户数据存储系统中实现用户数据存储位置,在元数据存储系统中实现元数据存储位置,其中元数据存储系统和用户数据存储系统与网络连接,其中客户机系统与网络连接,还包括从客户机系统接收复制所述至少一个指定存储单元的请求;和响应于客户机系统请求,把第一命令发出到用户数据存储系统,以便执行第一种复制操作;和响应于客户机系统请求,把第二命令发出到元数据存储系统,以便执行第二种复制操作。
11.按照权利要求所述9的系统,其中所述系统包括使用元数据和元数据副本访问用户数据和用户数据副本的客户机系统,或者与客户机通信的元数据服务器,其中所述请求接收自客户机。
12.按照权利要求9所述的系统,其中第一种复制操作包括产生指示所述至少一个指定存储单元中的数据块,从而提供所述至少一个指定存储单元的及时点副本的复制数据结构;和把在复制数据结构中指示的数据块复制成所述至少一个指定存储单元的副本。
13.按照权利要求9所述的系统,其中第二种复制操作包括停止对被复制的所述至少一个指定存储单元的元数据的输入/输出(I/O)请求;把元数据复制成元数据的副本;和响应于把元数据复制成元数据的副本,启动对元数据的I/O访问。
14.一种包括与具有用户数据的用户数据存储位置和具有用户数据的元数据的元数据存储位置通信的代码的制造产品,其中所述代码导致操作被执行,所述操作包括执行第一种复制操作,以便把具有用户数据的至少一个指定存储单元复制成所述至少一个指定存储单元的至少一个副本;和执行第二种复制操作,以便把被复制的至少一个指定存储单元的元数据复制成复制的至少一个文件集的元数据的副本。
15.按照权利要求14所述的制造产品,其中在用户数据存储系统中实现用户数据存储位置,在元数据存储系统中实现元数据存储位置,其中元数据存储系统和用户数据存储系统与网络连接,其中客户机系统与网络连接,其中所述操作还包括从客户机系统接收复制所述至少一个指定存储单元的请求;和响应于客户机系统请求,把第一命令发出到用户数据存储系统,以便执行第一种复制操作;和响应于客户机系统请求,把第二命令发出到元数据存储系统,以便执行第二种复制操作。
16.按照权利要求14所述的制造产品,其中第一种复制操作包括产生指示所述至少一个指定存储单元中的数据块,从而提供所述至少一个指定存储单元的及时点副本的复制数据结构;和把在复制数据结构中指示的数据块复制成所述至少一个指定存储单元的副本。
17.按照权利要求16所述的制造产品,其中所述操作还包括停止对所述至少一个指定存储单元的输入/输出(I/O)请求;和在数据块被复制到所述至少一个指定存储单元的副本之前,响应于产生指针,启动对所述至少一个指定存储单元的I/O访问。
18.按照权利要求14所述的制造产品,其中第二种复制操作包括停止对被复制的所述至少一个指定存储单元的元数据的输入/输出(I/O)请求;把元数据复制成元数据的副本;和响应于把元数据复制成元数据的副本,启动对元数据的I/O访问。
19.一种包括与具有用户数据的用户数据存储位置和具有用户数据的元数据的元数据存储位置通信的代码的制造产品,其中所述代码导致操作被执行,所述操作包括通过产生指示至少一个存储单元中的数据块以提供所述至少一个存储单元的及时点副本的复制数据结构,并把数据块复制到在第一复制数据结构中指示的至少一个存储单元的副本,执行第一种复制操作,以便把用户数据存储位置中的至少一个存储单元复制成所述至少一个存储单元的副本;执行第二种复制操作,以便把被复制的至少一个存储单元的元数据复制成所述复制的至少一个存储单元的元数据的副本,从而提供元数据的及时点副本,并把包含该元数据的数据块复制成在第二复制数据结构中指示的元数据的副本。
20.按照权利要求19所述的制造产品,其中第一种复制操作中涉及的所述至少一个存储单元包含源卷,所述至少一个存储单元的副本包含目标用户数据卷,其中在所述源卷中,不存在未包括在正被复制的至少一个文件集中的文件集,其中第二种复制操作从一个元数据卷中的元数据的第一子集中复制元数据,并且其中元数据卷中的元数据的第二子集包括用户数据存储位置中未经历第一种复制操作的至少一个文件集的元数据。
全文摘要
提供一种把存储单元和相关元数据复制到存储器的方法、系统和程序。用户数据存储位置包括用户数据,元数据存储位置包括用户数据的元数据。执行第一种复制操作,以便把具有用户数据的至少一个指定存储单元复制成所述至少一个指定存储单元的至少一个副本。执行第二种复制操作,以便把被复制的至少一个指定存储单元的元数据复制成复制的至少一个文件集的元数据的副本。
文档编号G06F11/14GK1916862SQ200610102000
公开日2007年2月21日 申请日期2006年7月18日 优先权日2005年8月15日
发明者斯蒂芬·F·考瑞尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1