CN116324732A - 数据存储卷恢复管理 - Google Patents
数据存储卷恢复管理 Download PDFInfo
- Publication number
- CN116324732A CN116324732A CN202180064893.4A CN202180064893A CN116324732A CN 116324732 A CN116324732 A CN 116324732A CN 202180064893 A CN202180064893 A CN 202180064893A CN 116324732 A CN116324732 A CN 116324732A
- Authority
- CN
- China
- Prior art keywords
- volume
- data
- restoration
- virtual
- recovery
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0686—Libraries, e.g. tape libraries, jukebox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种用于恢复数据存储系统中的卷的计算机程序产品、系统和方法。使用目标卷来执行对被存储在存储装置中的数据的卷的虚拟恢复。虚拟恢复包括配置与目标卷相关联的元数据,以将目标卷映射到恢复卷作为恢复卷的虚拟恢复。响应于主机对被存储在恢复卷上的数据的请求,使用目标卷执行恢复卷的数据的物理恢复。物理恢复包括将数据从由虚拟恢复将目标卷映射到的恢复卷传送到目标卷。另外,将所传送的数据重新标记为目标卷数据,而不是恢复卷数据。
Description
背景技术
本发明涉及用于管理数据存储系统中的卷的恢复的计算机程序产品、系统和方法。
各种存储设备已经被用于数据的长期存储。例如,数据可以存储在磁带上。这种磁带的集合通常被称为磁带库,并且使用磁带驱动器将数据写入磁带和从磁带读取数据。磁带可以例如被承载在盒式磁带中,并且在需要时由机器人安装在磁带驱动器中。当安装在磁带驱动器中时,将盒的磁带传送经过磁带驱动器的读/写头,以允许将数据写入盒的磁带或从盒的磁带读取数据。
大型主机(mainframe host)和存储控制器使用磁带协议与长期存储设备通信。在虚拟磁带中,虚拟磁带服务器(VTS)模拟磁带设备。国际商业机器公司的TS7700是一种这样的VTS,其利用磁带驱动器来模拟磁带库。大型主机将TS7700视为磁带库。因此,诸如TS7700的虚拟磁带服务器对于大型主机而言是可见的,并且与大型主机通信,就好像它是磁带库一样。然而,虚拟磁带服务器不是处理物理磁带盒,而是与可以被认为是虚拟磁带卷的逻辑卷一起工作。以与磁带盒相同的方式,每个逻辑卷被分配VOLSER(卷序列号)和标识该卷序列号的特定版本的版本号。
磁带存储设备的磁带库通常包含一系列准备存储数据的空磁带盒。大型主机通过它们的VOLSER对这些磁带卷编目,以跟踪哪些磁带卷可用、哪些磁带卷包含数据以及该数据的内容是什么。结果,当需要特定数据集时,大型机知道从磁带库安装由其VOLSER标识的哪个磁带卷,以便从存储器检索特定数据集。一旦不再需要存储在磁带卷上的数据,就可以将磁带卷置于“擦除”类别中,以便重新使用磁带卷及其相关联的VOLSER。
在已知的磁带存储设备中,存储管理器还通过它们的VOLSER对这些磁带卷进行编目和管理。与大型主机不同,磁带存储设备的存储管理器逻辑不知道由VOLSER标识的磁带卷的内容,但是跟踪具有该VOLSER的特定磁带卷被存储在磁带库中的何处,以及它应当如何管理具有该VOLSER的磁带卷(例如,在其被删除之后将其保留多长时间、维护多少复制、在哪里进行这些复制等)。
单个磁带盒(VOLSER)可以存储大量数据,因此主机通常在写入磁带之前将大量数据捆绑在一起。VOLSER可以包含多个数据集(可能数千个数据集)。即使在大型主机已经回收活动数据并将VOLSER标记为删除之后,诸如TS7700的虚拟带服务器也可以将VOLSER保留由主机用户指定的时间段。这种做法在偶然或恶意活动的情况下使用,其中某人过早地标记VOLSER以在主机中删除。在TS7700中,这被称为类别保留(Category Retention)。用户可以对任何具有数据的卷设置从数小时到数年的保留期。然而,VOLSER中包含的数据将最终被删除。
无论是物理磁带卷还是虚拟磁带服务器的逻辑卷,有时都需要恢复或复原卷。例如,可能已经删除了卷的较旧版本,但是后来发现仍然需要卷的特定版本。为此,可能希望保留较老版本的数据。当其上的所有数据不再有效或者任何活动数据由于回收(RECLAIM)过程而被移动到另一逻辑卷时,发生逻辑卷版本改变。这些卷将被擦除并被取回以便重新用于新数据写入。当数据被附加到逻辑卷版本时,逻辑卷版本也可改变。在这种情况下,继续使用相同的VOLSER,但是版本级别改变。在这些情况的任何一种中,在逻辑卷的较旧版本需要被恢复或复原的情况下,数据的较旧版本可以基于用户需要而保留一定量的时间。
一种已知的恢复(recovery)过程(也称为恢复(restoration)过程)将逻辑卷的较旧版本恢复为具有与被删除的卷相同的VOLSER标识(ID)的卷。然而,如果该VOLSER的卷包含当前有效数据并且还具有由保留策略分配给它的“保持(hold)”属性,则将卷恢复到相同VOLSER将违反保持属性,该保持属性要求在强制保持时段内保持该卷而不进行修改。类似地,如果要恢复的卷的VOLSER已经被分类为LWORM卷(一次逻辑写入、多次读取),则允许该较旧版本被恢复到相同的VOLSER违反了这些严格的保护规则。
另一种已知的方法将卷的较旧版本恢复为不同的临时VOLSER。然而,这些已知的恢复方法要求在认为卷被“恢复”之前将该卷物理地复制或移动到临时卷中。这种物理复制或数据移动通常需要从存储装置读取卷、修改读取的数据、然后写回到存储装置。例如,从正被恢复的卷读取的数据通常通过更新元数据以匹配其正被恢复到的VOLSER来重新标记。因此,描述文件或包含在引用VOLSER的文件内的任何元数据被更新以命名新VOLSER而不是旧VOLSER。然而,修改正被恢复的卷的数据可能违反禁止修改或替换数据的对卷的合法限制。而且,诸如WORM(一次写入、多次读取)的标记为只读的卷的数据在不违反只读限制的情况下不能被修改或替换。
发明内容
提供了一种用于恢复存储装置中的数据的卷的计算机程序产品、系统和方法。使用第二卷执行被存储在存储器中数据的第一卷的虚拟恢复。在一个实施例中,与第二卷相关联的元数据被配置为将第二卷映射到第一卷作为第一卷的虚拟恢复。在另一方面,响应于由主机针对存储在第一卷上的数据的请求,使用第二卷执行第一卷的数据的物理恢复。在一个实施例中,物理恢复包括将数据从第一卷传送到第二卷,第二卷由虚拟恢复映射到第一卷。另外,将所传送的数据重新标记为第二卷数据而不是第一卷数据。
通过上述实施例,推迟访问第一卷的数据,直到主机请求访问该数据。结果,促进了虚拟恢复中的快速和低成本恢复。此外,在第一卷的虚拟和物理恢复期间,可避免与第一卷的恢复相关联的第一卷上的数据的修改。因此,尽管对第一卷的数据的修改有任何限制,仍可实现恢复。
在另一实施例中,从第一卷向第二卷传送数据包括接收主机将第二卷安装在存储驱动器上的请求,并且响应于该请求:将第二卷挂载在存储驱动器上,将第一卷挂载在存储驱动器上,以及复制由针对第二卷的元数据映射到第二卷的第一卷的数据。
根据上述实施例,安装第一卷以访问第一卷的数据被推迟,直到主机请求安装第二卷为止。结果,虚拟恢复促进第一卷的快速和低成本恢复,直到它被安装用于所请求的物理恢复。此外,在第一卷的虚拟和物理恢复期间可以避免与第一卷的恢复相关联的第一卷上的数据的修改,因为在物理恢复期间在第二卷上而不在第一卷上重新标记数据。因此,尽管对第一卷的数据的修改有任何限制,仍可实现恢复。
在另一实施例中,将所传送的数据重新标记为第二卷数据而不是第一卷数据包括在数据被存储在第二卷上时修改从第一卷读取的头部数据,以将从第一卷复制的数据标识为第二卷而不是第一卷的数据,并且使得修改从第一卷读取的头部数据被推迟,直到主机请求对该数据的访问。
利用上述实施例,推迟重新标记数据,直到主机请求安装第二卷为止。结果,虚拟恢复促进第一卷的快速且低成本的恢复,直到为所请求的物理恢复重新标记数据。另外,在第一卷的虚拟和物理恢复期间,可以避免与第一卷的恢复相关联的第一卷上的头部数据的修改。相反,在物理恢复期间,修改第二卷上的报头部数据以重新标记传送到第二卷的用户数据,并且不修改第一卷上的报头部数据。
在另一实施例中,第一卷具有第一卷序列号,并且第二卷具有与第一卷序列号不同的第二序列号。在第一卷的物理恢复期间修改用于存储在第二卷上的头部数据包括当从第一卷读取头部数据和用户数据并且将读取的数据复制到第二卷时,利用第二卷的第二卷序列号替换头部数据中的第一卷的第一序列号。
根据上述实施例,推迟用第二卷的序列号重新标记数据,直到主机请求安装第二卷以请求第一卷的数据。结果,虚拟恢复促进第一卷的快速且低成本的恢复,直到数据被用不同的序列号重新标记以用于所请求的物理恢复。另外,在第一卷的虚拟和物理恢复期间,可以避免与第一卷的恢复相关联的第一卷上的头部数据中的序列号的修改。相反,在物理恢复期间,修改第二卷上的序列号头部数据以重新标记传送到第二卷的用户数据,并且不修改第一卷上的序列号头部数据。
在另一实施例中,在安装第一卷之前将第一卷分类为只读卷,以防止在第一卷的虚拟恢复和物理恢复期间通过第一卷的恢复修改第一卷。
利用上述实施例,第二卷可以被分类为只读的,以确保符合对第二卷的合法或政策限制,因为虚拟恢复和物理恢复两者都可以在不对第二卷的数据进行任何修改的情况下执行。因此,尽管对第一卷的数据的修改有任何限制,仍可实现恢复。
在又一实施例中,在启动第一卷的虚拟恢复之前,将第一卷分类到保留类别中,在该类别中,在指定删除之后将卷保留一段时间。第一卷的虚拟恢复还包括将第一卷重新分类到防止卷修改的保持类别中。响应于在第一卷的物理恢复期间完成从第一卷到第二卷的数据传送,将第一卷从保持类别重新分类回保留类别。
根据上述实施方式,在第一卷的虚拟化恢复和物理恢复二者期间,能够避免因第一卷的恢复而引起的第一卷的修改。因此,第一卷可以被重新分类到保持类别中以确保防止第一卷的修改。因此,尽管对第一卷的数据的修改有任何限制,仍可实现恢复。
在又一实施例中,至少一个策略被分配给第二卷,其中该策略定义用于将卷保持多久和该卷的版本的许可数量中的至少一者的参数。利用该实施例,可以促进虚拟恢复。
在另一实施例中,将第三卷导入到存储器,其中所述导入包括使用具有符合存储器的卷序列号编号惯例的卷序列号的第四卷来执行第三卷的虚拟恢复。第三卷的虚拟恢复包括配置与第四卷相关联的元数据以将第四卷映射到第三卷作为第三卷的虚拟恢复。
通过上述实施例,在导入期间推迟对第三卷的数据的访问,直到主机请求对该数据的访问。因此,促进了快速和低成本的进口。此外,可以避免与第三量的导入相关联的对第三量的数据的修改。因此,尽管对第三量的数据的修改有任何限制,仍可实现导入。
在又一实施例中,删除第二卷,并且使用第三卷执行第一卷的第二虚拟恢复。第二虚拟恢复包括配置与第三卷关联的元数据以将第三卷映射到第一卷作为第一卷的第二虚拟恢复。
在上述实施例中,第一卷在第一卷的第一和第二虚拟恢复的过程中保持不可变。结果,第一卷可以被反复递归地适当恢复,在每次恢复中保持不可变。
在另一实施例中,第一卷存储在耦合到具有主存储装置的存储服务器的辅存储装置中。在第一卷的虚拟恢复期间,第一卷在辅存储装置中保持未安装。
根据上述实施方式,由于安装第一卷来访问第一卷的数据被推迟直到主机请求安装第二卷为止,因此在虚拟恢复期间第一卷在二级存储器中可能保持未被访问,从而避免了与虚拟恢复相关地从第一卷向二级存储器传送数据的费用。
附图说明
图1示出了根据本说明书的采用数据存储卷恢复管理的存储环境的实施例。
图1A示出了例如采用根据本说明书的数据存储卷恢复管理的诸如存储控制器之类的主机的实施例。
图2示出了定义保留策略的策略池的实施例。
图3示出具有对象版本的实际数据的版本对象的实施例。
图4示出具有关于版本对象的元数据的版本元数据的实施例。
图5A图解说明根据本说明书的采用数据存储卷恢复管理的虚拟恢复或恢复过程的操作的实施例。
图5B图解说明根据本说明书的采用数据存储卷恢复管理的物理恢复或恢复过程的操作的实施例。
图6A示出了图5A的虚拟恢复过程的操作的更详细的实施例。
图6B示出了图5B的物理恢复处理的操作的更详细的实施例。
图7A-图7G描述了在图6A-图6B的虚拟和物理恢复处理的各个阶段的VTS的磁带库的目录项的实施例。
图8A是VTS的目录条目的实施例,其描述了用于图5A和图6的虚拟恢复过程的目标临时卷到恢复卷的映射。
图8B是描述用于图5A和图6的虚拟恢复过程的目标临时卷到恢复卷的映射的主机的目录条目的实施例。
图9A描绘从恢复卷读取数据的实施例。
图9B描述了存储在目标专用卷中的数据的实施例。
图10示出了其中可实现附图的组件的计算环境。
具体实施方式
根据本说明书的数据存储卷恢复管理提供了对计算机技术的显著改进。在根据本说明书的数据存储恢复管理的一个方面,数据存储卷的恢复包括虚拟恢复或还原,其配置与卷相关联的元数据以将目标临时卷映射到恢复卷。以这种方式,可以完成虚拟恢复而无需将数据从恢复卷复制或以其他方式传送到目标临时卷。在一些情况下,配置元数据可以在几分之一秒内完成,而在许多情况下,千兆字节数据的复制可以花费大约一小时或更长时间。结果,与各种已知的恢复方法相比,可以使用显著更少的计算或人力资源来显著更快地完成虚拟恢复。此外,可以在不以任何方式修改恢复卷本身的情况下完成虚拟恢复,并且因此根本不安装恢复的卷。结果,恢复卷可以保持不可变以满足恢复卷保持不可变的各种保留策略或合法要求。此外,虚拟恢复允许避免通常与复制或移动数据相关联的巨大成本,只要数据实际上不是恢复之外的目的所需的。
在此可以理解,对恢复卷的数据的访问通常不是立即甚至长期需要的。结果,本文所描述的虚拟恢复可以频繁地满足与卷恢复有关的立即的或甚至长期的需求,其中对恢复卷的数据的实际访问的需求不会出现或尚未出现。然而,在其中对访问恢复卷的数据的需要在卷的虚拟恢复已经完成之后的某个时刻应当变得明显的那些实例中,根据本描述的数据恢复管理还提供第二恢复过程,即,提供对已经完成虚拟恢复过程的恢复卷的数据的迅速访问的物理恢复或恢复过程。
在一个实施例中,物理恢复过程包括在这个阶段将数据从恢复卷复制到可以被称为专用卷而不是临时卷的目标卷。因此,推迟对恢复卷进行任何安装以将数据从恢复卷复制到目标专用卷,直到实际出现对数据的需要以提供有效的“按需”数据传输,从而避免在虚拟恢复过程期间的数据传输。如上所述,消除用于虚拟恢复的数据传输便于快速完成虚拟恢复过程。因此,将耗时且耗费资源的数据传输推迟到实际出现对数据的需要,并且接着实施物理恢复。
在根据本描述的物理恢复过程的另一方面中,当结合物理恢复过程将数据从恢复卷复制到目标专用卷时,在目标专用卷中重新标记所复制的数据,以指示所复制的数据现在属于目标专用卷的VOLSER而不是从其读取的恢复卷的VOLSER。因此,数据的这种重新标记也被推迟直到虚拟恢复过程之后,并且被推迟至在出现访问数据的需要的情况下实现物理恢复时。以这种方式,复制数据的重新标记实际上是物理恢复过程的“按需”数据重新标记,从而消除了虚拟恢复过程期间对数据重新标记的任何需要。这里,同样,可以在不以任何方式修改恢复卷的情况下完成物理恢复。结果,恢复卷可以保持不可变以满足恢复卷保持不可变的各种保留策略或合法要求。
在根据本说明书的数据存储卷恢复管理的另一方面,虚拟恢复过程可以用于快速且高效地从可能具有不同或冲突的卷序列编号方案或惯例的另一源导入卷。在一个实施例中,例如,可以将待导入的卷映射或重新映射到新VOLSER,其符合目标数据存储系统的现有卷序列号惯例。因此,要导入的卷可以被映射或重新映射到新的VOLSER,该新的VOLSER不匹配现有的活动VOLSER,或者与例如目标数据存储系统的主机或VTS的现有VOLSER相冲突。此外,被导入的卷可以被映射或重新映射到符合并由此保持现有卷序列号范围惯例的VOLSER。
可以理解,根据特定应用,要导入到目标VTS的卷的数量例如可以是数百、数千、数百万或更多。所示实施例的虚拟恢复进程允许将大量卷快速导入到目标VTS,而不用安装或以其它方式访问利用虚拟恢复进程导入的任何卷。结果,可以硬化正在导入的卷以维持它们的内容的有效性,因为知道每个导入的卷可以保持不可变,并且仅作为稍后物理恢复的任何未来挂载请求的一部分按需重新标记。例如,出于合法原因,在导入时间的数据状态可能要求它保持不可变以维持工作负荷获取的一致点。所示实施例的虚拟恢复过程允许在没有卷序列(VOLSER)冲突的情况下导入卷,而不需要访问每个实例并且不需要修改源实例。如果需要访问导入卷的数据,则可以如上所述执行导入卷的按需物理恢复。
图1示出了具有一个或多个主机系统和/或存储控制器100的数据存储环境的实施例,所述主机系统和/或存储控制器以回收卷或通过第一网络102向存储服务器104附加到对象的形式为对象或卷提供数据。如本文使用的术语“对象”可以包括卷、数据集、数据库、逻辑驱动器、文件系统和任何其它数据分组。存储服务器104可以生成诸如备份卷或磁带卷之类的对象,以通过第二网络108(其可以相对于存储服务器104是现场的或非现场的)备份在云存储装置106、磁带库110中的一个或多个中,以存储在物理磁带盒上,以及15个存储服务器104的主存储装置112上。此外,版本备份对象可以永久地或暂时地存储在主存储装置112中,以及被传送到云或磁带存储装置。存储服务器104可以为具有唯一序列号的不同版本生成备份对象的版本对象300,所述版本对象例如VOLSER,并且包括标准磁带标记和数据块。
存储服务器104包括处理器114和存储器116,该存储器包括由处理器114执行的程序,以创建诸如磁带格式的对象的版本对象300,以存储在磁带库110、云存储装置106和主存储装置112中的一个或多个中。存储器116包括管理存储服务器104操作的操作系统118和创建和管理对象版本300(例如磁带卷)以存储在磁带库110、远程存储器106和主存储装置112中的一个或多个中的版本管理器120。恢复管理器123管理虚拟恢复进程中和按需物理恢复进程中的卷的恢复,如下面更详细描述的。
参考图1A,主机100包括处理器114h(图1A)和存储器116h,该存储器包括由处理器114h执行的程序,以向存储服务器104提供对象或卷的数据。存储器116h包括管理主机100操作的操作系统118h和向存储服务器104提供对象或卷的数据的版本管理器120h。此外,版本管理器120h向存储服务器104发出命令,以管理存储在磁带库110、远程存储器106和主存储装置112中的一个或多个中的对象版本300,例如磁带卷。版本管理器120h以目录121h的形式维护标识存储在存储服务器104中或由其存储的对象的各种特性的元数据。恢复管理器123h向存储服务器104发出命令,以恢复存储在磁带库110、远程存储器106和主存储装置112中的一个或多个中的对象版本300,例如磁带卷。
返回参考图1,存储服务器104(图1)可以从临时池122获得序列号,例如卷序列号(VOLSER),以用于对象版本300创建并存储在磁带库110、远程存储器106和主存储装置112中的一个或多个中。对象/卷的所有版本将使用相同的序列号或VOLSER。磁带卷序列号或VOLSER用于唯一地标识磁带卷。对于磁带存储,VOLSER被指定在磁带标签中,该标签是包含在磁带上的第一组信息。除了磁带标签之外,存储在磁带卷内部的其它元数据也标识卷的VOLSER。
版本管理器120还可生成具有关于版本对象300的元数据的版本元数据400,该元数据可用于从较高版本号的版本对象300恢复版本对象300的数据。此外,版本管理器120处理来自主机100的命令,以管理存储在磁带库110、远程存储器106和主存储装置112中的一个或多个中的对象版本300,例如磁带卷。存储服务器104的版本管理器120还维护标识存储服务器104中或由其以目录121b的形式存储的对象的各种特性的元数据。
从临时池122获得的序列号或VOLSER可以被分配给策略池200,其中不同的策略池200维护不同的数据保留策略。在创建对象版本300i的实例以写入存储装置、诸如106、112或110时,版本管理器120可以将对象版本300i的指示添加到导出队列124以将对象版本300i导出到存储装置112、110、106。
在一个实施例中,存储服务器104可以包括虚拟磁带服务器,用于管理要卸载到存储装置110、112的对象的版本的创建,例如国际商业机器公司(IBM)TS7700虚拟磁带服务器。虚拟服务器利用连接到所连接的主机/存储控制器100的磁带驱动器来模拟磁带库。存储服务器104可以提供对象的存档,以存储在较低成本的物理磁带库110、云存储装置106和主存储装置112中的一个或多个中。
存储器116中的程序组件,包括118、120、123,在图1中被示为加载到存储器116中并由处理器114执行的程序代码。类似地,存储器116h中的程序组件,包括118h、120h、123h,在图1A中被示为加载到存储器116h中并由处理器114h执行的程序代码。备选地,一些或所有组件功能可在硬件设备中实施,例如在专用集成电路(ASIC)、现场可编程门阵列(FPGA)中实施、或由单独的专用处理器执行。
存储器116、116h可以包括一个或多个易失性或非易失性存储器设备,诸如动态随机存取存储器(DRAM)、相变存储器(PCM)、磁阻随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、SRAM存储设备、DRAM、铁电随机存取存储器(FeTRAM)、基于纳米线的非易失性存储器、以及非易失性直接内联存储器模块(DIMM)、NAND存储设备(例如,闪存、固态驱动器(SSD)存储设备、非易失性RAM等)。
版本管理器120可以通过网络将对象版本300导出到磁带库110、远程存储器106和主存储装置112中的一个或多个。例如,图1描绘了通过第二网络108耦合到远程云存储106的存储服务器104。在备选实施例中,云存储装置106可以是本地的,诸如在与存储服务器104相同的场所上,例如,云存储装置106可以包括由云存储服务提供商提供的云存储系统。云存储106服务提供者的示例包括 驱动、/>云驱动、S3、/>云对象存储系统等(Dropbox是Dropbox公司的注册商标,Google是Google公司的注册商标,Amazon和Amazon云驱动是Amazon技术公司的商标;以及IBM和云对象存储系统是全世界IBM的商标)。
版本管理器120可以使用主存储装置112作为虚拟磁带高速缓存,以存储正在创建的对象版本300,并且在将它们添加到导出队列124以迁移到存储装置106、110、112之前存储它们。在进一步的实施例中,如果没有可用的存储器106、110、112,则主存储装置112可以用于存储对象版本300。
主存储装置112可以包括不同类型或类别的存储设备,诸如磁性硬盘驱动器、由固态电子器件组成的固态存储设备(SSD)、EEPROM(电可擦除可编程只读存储器)、闪存、闪存盘、随机存取存储器(RAM)驱动器、存储类存储器(SCM)等、相变存储器(PCM)、电阻随机存取存储器(RRAM)、自旋转移扭矩存储器(STM-RAM)、导电桥接RAM(CBRAM)、磁性硬盘驱动器、光盘、磁带等。与主存储装置112相比,云存储器106和磁带库110可以被认为是辅存储装置。
主机/存储控制器100用于将卷数据传送到存储服务器104的第一网络102可以包括存储网络,例如一个或多个互连的局域网(LAN)、存储区域网(SAN)、广域网(WAN)、对等网络、无线网络等。第二网络108可包括可由诸如云存储106等远程存储访问的网络,诸如互联网、广域网(WAN)。在备选实施例中,第一网络102和第二网络108可以是相同的网络,并且主存储装置112和磁带库110中的一个或多个也可以是可通过网络访问的远程存储器。
图2示出了策略池200的实例200i的实施例,其中对象序列号(例如VOLSER)被分配给要写入的对象或卷,并且包括标识池的池标识符202、被分配给池的所分配的对象序列号(VOLSER)204、被包括在池中的对象序列号204的对象版本206、以及确定在策略池200中保留对象版本多久的一个或多个保留策略208。
保留策略的示例包括:
-要保留的先前版本的最大数目,包括针对版本的版本元数据400i和版本对象300i数据。
-保留先前版本信息的最大天数,包括针对对象的版本元数据400i和版本对象300i数据。
-保留版本对象300i数据的先前版本的最大数量。
-保留对象的每第k个版本,使得如果版本对象300i的版本号是k加1的倍数,例如,是对象的版本号=1+x*k,其中x是大于零的整数,则针对版本对象300i的数据被保留。
图3示出了根据从主机/存储控制器100发送的对象或卷数据创建的版本对象的实例300i,并且包括:对象序列号,例如VOLSER,被分配给为其创建版本的对象/卷;创建对象版本时的创建时间戳304;对象的版本号306;一个或多个对象版本数据实例308i...308n,用于版本对象300i中来自主机/存储控制器100的版本V1到Vn的对象数据的每个版本,包括最近附加的数据;以及主机尾随元数据(host trailing metadata)312,由创建被发送到存储服务器104的对象版本的主机/存储控制器100添加到对象版本的末尾。主机尾随元数据312可以包括关于对象的结构和格式的信息以及关于在对象中生成数据的主机/存储控制器100的信息。
图4示出了具有关于版本对象300i的元数据的版本元数据400的实例400i,其可与版本对象300i分开维护,并且如果删除先前版本的版本对象300i以节省空间则其被保留。版本元数据400i实例可以包括分配的对象序列号,例如VOLSER,402;策略池404,其中分配了对象和序列号402;版本对象的版本号406;当创建版本对象300i时的创建时间戳408;版本位置410,其指示包括版本号406的数据的较高版本的一个或多个版本对象300j;由版本元数据400i表示的对象300i的对象大小412;结束偏移414,其指示如果版本对象的数据被包括在随后的版本对象300j中,则版本对象在哪里结束,在该随后的版本对象处,版本号406的附加数据结束;以及主机尾随元数据416,具有由提供对象数据的主机/存储控制器100添加的信息并且位于版本对象300i的末端。主机尾随元数据312被保存在版本元数据400i中作为416,因为新数据和改变当被附加时,可以覆写版本号406的主机尾随元数据312。这允许版本对象300i与其原始主机尾随元数据312一起被恢复。
版本元数据400i维护标识数据版本的开始和结束所需的任何其它信息。
版本管理器120维护版本元数据400,直到保留策略确定版本保留期的结束以期满并删除版本元数据400以及具有用于对象的实际数据的版本对象300。版本元数据400可以被用于标识和访问版本元数据400中标识的任何版本,以便从当前版本或更高版本号对象300恢复。因此,如果卷的特定版本已被用户标记为删除,则只要由被分配所删除的卷的该版本的保留策略定义的保留期尚未期满,该卷版本的数据就仍然可被访问以便由如本文所述的物理恢复过程恢复到专用卷中。因此,如果标识卷版本的版本元数据400和具有用于对象的实际数据的版本对象300仍然存在,则可以访问被删除的卷的数据以便通过物理恢复过程恢复到新卷。然而,一旦根据适用的保留策略已经丢弃了标识卷版本的版本元数据400版本元数据400和具有该对象的实际数据的版本对象300,则可能无法恢复所删除的卷。
尽管在此结合作为对象300存储的卷描述了卷恢复管理,其中该卷具有提供存储空间的改进的使用效率的相关联的元数据400,但是可以理解,根据本描述的卷恢复管理可在利用其它数据和元数据存储技术的数据存储系统中使用。例如,根据本说明书的卷恢复管理可用于数据存储系统中,其中卷的每个版本作为单独的单元被整体存储和保留,直到策略保留期到期而被丢弃。
如上所述,根据本说明书的卷恢复管理提供了虚拟恢复过程,该虚拟恢复过程提供了卷的恢复而不需要安装或任何修改恢复卷。此外,物理恢复过程提供被复制到目标专用卷的数据的“按需”重新标记,直到恢复卷的数据被实际访问。
图5A描述了在该示例中用于被虚拟地恢复到目标临时卷VolP的恢复卷VolR的虚拟恢复过程的一个实施例。图5A的虚拟恢复(recovery)过程在此也称为虚拟恢复(restoration)过程。图6A描述了图5A中描述的虚拟恢复过程的更详细的实施例。如结合图5A和图6A更详细地解释的,图5A的虚拟恢复过程包括映射过程504(图5A),其将目标临时卷VolP映射到恢复卷VolR。在根据本说明书的卷恢复的一个方面中,在完成图5A中所示的虚拟恢复时,只要主机100不需要访问恢复卷VolR的数据,就可以认为卷VolR的恢复完成。
通过比较,图5B示出了在主机100需要实际访问恢复卷VolR的数据以用于除了恢复之外的目的情况下根据本描述的物理恢复处理的一个示例。图5B的物理恢复(recovery)过程在本文也称为物理恢复(restoration)过程。如下面更详细地解释的,响应于主机100对存储在恢复卷VolR上的用户数据的请求,使用已经由图5A的虚拟恢复过程映射到恢复卷VolR的目标临时卷VolP来执行恢复卷VolR的物理恢复(图5B)。物理恢复包括从恢复卷VolR按需复制数据(如箭头514所示)到目标专用卷VolP,其中目标临时卷VolP由图5A的虚拟恢复映射到所述恢复卷VolR,并且物理恢复还包括按需修改数据头部(如箭头518所示)以将复制的数据重新标记为VolP数据而不是VolR数据。以这种方式,根据需要推迟对来自恢复卷的数据的访问和复制,即,直到主机请求对数据的访问。此外,数据重新标记也是按需过程,其中头部修改也被推迟,直到主机请求访问数据。除了磁带标签之外,存储在磁带卷内部的其它元数据标识卷的VOLSER。因此,为了由于VOLSER改变而重新标记来自磁带卷的数据,作为重新标记过程的一部分,引用VOLSER的文件内的任何和所有文件名和元数据也被更新。结果,从恢复卷VolR读取的用于存储在卷内的目标专用卷VolP中的直接引用源卷序列号(VOLSER)的任何已知元数据被更新,以便存储在目标卷中作为物理恢复的一部分。
在一个实施例中,通过配置由主机维护的、并且与目标专用卷VolP相关联的元数据,使得主机100将目标专用卷VolP当作恢复卷VolR,来实现图5A的虚拟恢复过程的映射过程504。另外,在一旦完成图5A的虚拟恢复过程主机100以后应当需要实际访问恢复卷VolR内的数据的情况下,存储系统的VTS配置由VTS维护的、并且与目标临时卷VolP相关联的元数据,以指向恢复卷VolR。
根据本描述的卷恢复的一个方面,可以理解,只要主机100不需要访问恢复卷VolR内的数据,图5A中所示的虚拟恢复过程就消除了实际上将数据从恢复卷VolR传送到临时卷VolP的需要,直到主机100实际上需要访问恢复卷R的数据以用于应用目的而不是仅仅用于恢复目的。因此,目标临时卷VolP和恢复卷VolR在图5A中被描绘为未安装的,因为实际数据传送对于图5A的虚拟恢复过程不是必需的。因为图5A的虚拟恢复过程针对配置与目标临时卷VolP相关联的元数据而不是将数据从恢复卷VolR复制到目标临时VolP,所以与从卷VolR到卷VolP的实际数据传送相比,图5A的虚拟恢复过程可以快速地完成。
通过比较,存在先前已知的恢复方法,其要求在被认为“恢复”之前,将要恢复的卷物理地复制或移动到临时卷中。必须移动(或复制)数据具有若干缺点:移动(或复制)数据可能是耗时的,因为磁带卷可能相当大(通常大小为4GB或更大)。而且,如果该数据是除了在极端情况下之外可能永远不被访问的档案数据,则需要花费时间来复制数据并将其存储到新VOLSER。通常,用户还将监视该过程以确保其完成,因此如果单个、大的量花费一小时来处理,则有人监视该过程以完成。移动(复制)数据还需要系统资源,例如存储器、CPU和磁盘利用率。如果由VTS或由物理磁带库实现,则还需要使用磁带设备。这些带装置将被束缚在做这项工作而不是更重要的生产工作。如果数据仅驻留在读取时招致增加的成本的系统(诸如云存储系统)上,则必须读取该数据可能是昂贵的。
更进一步,在某些情况下,存档实例可以被看作合法持有,并且使得修改或替换不是合法允许的,而是被视为“只读”。可以阻止先前已知的恢复方法的环境的其它示例包括具有严格保留的卷或诸如WORM(一次写入、多次读取)的介质策略。
通过比较,根据本说明书的虚拟恢复为用户提供了在没有任何物理数据移动的情况下将卷的较旧版本恢复到临时卷的能力。代替移动实际数据,仅需要改变将新临时卷映射到卷的旧版本的元数据。修改卷的元数据通常仅需要几秒来完成,并且与通常用于对大卷的实际数据复制的资源相比,可能仅需要可忽略数量的资源。此外,如果将恢复卷存储在通过读取操作进行收费的诸如云系统的系统中,则根据本说明书的虚拟恢复可以消除增加的成本。由于可以将物理地复制数据并修改卷头部数据的物理恢复推迟到主机实际需要该数据为止,并因此推迟到主机安装该卷为止,因此如果主机从未需要实际读取该数据,则可以在恢复过程中完全避免读取该数据的云收费。
图6A的框602-622从主机100的角度描述了图5A的虚拟恢复过程的更详细的示例。图6B的框630和650描述了从主机100的角度来看的图5B的物理恢复过程的更详细的例子。
在图6A的例子中,主机100的恢复管理器123h通过向VTS存储系统的磁带库发出(图6A的框602)命令(如由标记为“命令”的箭头604表示的)来启动虚拟恢复(图5A),其中该命令请求卷的恢复。在一个实施例中,该命令指示主机100需要恢复多少卷以及可以从什么临时类别取得目标卷。这样的命令或请求可以手动地发出或通过诸如管理接口之类的适当接口自动地发出。在一个实施例中,请求可以是诸如
LIBRARY REQUEST(库请求),库名,RECOVER(恢复),NUM,N,C
其中命令的名称是“LIBRARY REQUEST”并且参数“库名”标识命令所针对的目标库,参数“RECOVER”标识要采取的动作,参数“NUM、N”标识要恢复多少卷,参数“C”标识可以从其采取目标临时卷的临时类别。因此,该请求
LIBRARY REQUEST,库名,RECOVER,NUM,1,0002请求使用临时类别0002作为目标类别恢复单个逻辑卷。可以理解,取决于特定应用,可以使用其它命令或请求格式名称和参数。
在所示的实施例中,从诸如VTS(虚拟磁带服务器)104之类的存储服务器104的磁带库的角度来看,图6A的框702-726描述了图5A的虚拟恢复过程的一个示例,而从存储系统的VTS存储服务器104的磁带库的角度来看,图6B的框738-760描述了图5B的物理恢复过程的一个示例。在图6A的例子中,响应于框602(图6A)的命令604的请求,启动从指定的临时类别获得指定数目的卷的虚拟恢复过程,VTS 104的恢复管理器123接收(框702,图6A)该命令,并从所标识的临时类别中选择(框702,图6A)特定的一个或多个卷,并将它们放置在特殊保持类别中。
图7A以表格形式描述了由存储设备的VTS 104的磁带库在适当的数据库中维护的元数据,该数据库在这里被称为磁带库目录。图7A的例子描述了针对三个卷的三个条目,卷序列号L00000、版本V1、卷序列号L00000、版本V2和被分类为在临时类别0002中的临时卷S99999。尽管为了简单起见,VTS目录被描述为具有三个条目,但是可以理解,VTS磁带库目录可以具有数千或更多的条目,这取决于特定的应用。
响应于该命令
LIBRARY REQUEST,库名,RECOVER,NUM,1,0002从主机,VTS 104的恢复管理器123可以选择(图6A的框702)例如图5A中描述的虚拟恢复过程的一般临时类别0002的临时卷S99999(图7A)。如果是,则VTS 104从一般临时类别0002中选择临时卷S99999,并将该卷临时放置(图6A的框710)在诸如类别Y000的特殊保持类别中,例如,如图7B所示。另外,VTS104的恢复管理器123向主机发出如箭头712所示的响应,通知主机100的恢复管理器123h响应于主机发出的请求,已经从指定的临时类别0002获得具有卷序列号S99999的临时卷。
在接收到(图6A的框606)所请求的临时卷的标识为具有卷序列号S99999之后,主机100的恢复管理器123h向VTS 104发出(图6A的框610)由箭头612所示的另一命令,请求将具有卷序列号S99999的目标临时卷置于专用类别中,以确保其不被其它主机或其它主机处理用于另一目的。如下所述,具有卷序列号S99999的临时卷将被用作由卷VolP(图5A)表示的目标临时卷,用于图5A中所示的虚拟恢复过程。响应于命令612,VTS 104的恢复管理器123将具有卷序列号S99999的临时卷放置(图6A的框718)在诸如图7C所示的类别C000的专用类别中。
在已经为其自身的私人使用保留了具有卷序列号S99999的临时卷之后,主机100的恢复管理器123h向VTS 104发出(图6A的框614)由箭头616表示的命令,以将一个或多个保留策略分配给具有卷序列号S99999的临时卷。这些策略定义了例如在卷可以被丢弃之前要保留多久。
例如,主机100可以使用已知命令,诸如现有的MVS LIBRARY LMPOLICY命令,以将策略分配(图6A的框614)给将在恢复中使用的“n”个(现在是专用的)所请求的卷。在该示例中,使用LIBRARY LMPOLICY命令来利用以下参数向临时卷S99999分配保留策略:LIBRARYLMPOLICY,S99999,SG=SGRECOVER,MC=MCRECOVER,SC=SCRECOVER,DC=DCRECOVER。
在VTS 104的磁带库处建立的策略可以是用于其它数据的现有策略、或者可以是用于恢复目的新策略。
响应于策略分配命令616的接收,VTS 104将命令616指示的一个或多个策略分配(框718)到具有卷序列号S99999的临时卷。在图7D中将对具有卷序列号S99999的临时卷的策略分配表示为具有被分配给卷类别C000的卷序列号S99999的临时卷。以这种方式,将策略动作与VTS的磁带库处的指定策略名称相关联(图6A的框718)。
在保留了具有卷序列号S99999的临时卷以供其自身的专用使用并且已经将适当的保留策略分配给该临时卷之后,主机100的恢复管理器123h向VTS 104发出(图6A的框618)恢复命令,如箭头620所示。在本文被称为MVS LIBRARY RECOVER的恢复命令标识了被选择要恢复的卷和被选择作为目标临时卷的卷。例如,MVS LIBRARY RECOVER命令可以具有如下指定的参数:
LIBRARY REQUEST,库名,RECOVER,S99999,L00000,V2。
因此,在该例子中,恢复命令620将在该例子中在VTS目录的第三条目(图7D)中表示的专用临时卷S99999标识为目标临时卷。因此,在该示例中,恢复命令620已经将专用临时卷S99999选择为图5A的虚拟恢复过程中的目标临时卷VolP。
在该示例中,恢复命令620还将恢复卷标识为卷序列号L00000、版本V2,其被分类在如图7D的VTS磁带库目录的第二条目所表示的卷类别C000中。因此,在该示例中,已经选择恢复卷L00000、版本V2作为图5A的虚拟恢复过程中的恢复卷VolR。
在一些实施例中,图5A的虚拟恢复过程可以由用户通过适当的用户界面来启动。一旦启动,在一个实施例中,主机100可以自动地发出图6A的命令。在其它实施例中,结合图6A描述的一个或多个命令可由用户通过主机的适当用户接口从主机100手动发出。
响应于由主机100发出的标识用于虚拟恢复进程(图5A)的恢复卷VolR和目标临时卷VolP的恢复命令620,VTS 104的恢复管理器123实现(图6A的框720)图5A中描述的虚拟恢复进程,以使用目标临时卷VolP虚拟地恢复卷VolR。在虚拟恢复过程的一个实施例中,VTS104将恢复卷VolR(在该例子中,卷L00000、V2)的状态从如图7C所示的VTS磁带库目录的先前保留状态改变(框722,图6A)到如图7D所示的VTS磁带库目录的保持状态。
在这个例子中,在保持状态中,将恢复卷VolR标记为只读(图6A的框722),以确保保留任何先前的属性,并且恢复卷VolR不被恢复进程修改,即,恢复卷VolR是不可变的。目标临时卷VolP(在该示例中为卷S99999)也可以被视为不可变或读/写卷,这取决于客户偏好。
因此,作为图5A的虚拟恢复的一部分,主机100可以完全绕过用于虚拟恢复过程的恢复卷VolR或专用目标临时卷VolP的任何安装,从而在虚拟恢复过程期间保留存储服务器的磁带或其他存储驱动器空闲以用于其他用途。只要主机100没有遇到访问恢复卷VolR的数据的实际需要,恢复卷VolR和目标临时卷VolP都可以保持不被安装。然而,如果需要访问恢复卷VolR的数据,则可以如下所述实现图5B的物理恢复。
在虚拟恢复过程的另一方面,并且还响应于恢复命令620的接收(图6A的框722),VTS 104的恢复管理器123将恢复卷VolR(在该例子中,卷L00000、V2)与用于虚拟恢复过程的目标临时卷VolP(在该例子中,卷S99999、版本V1)相关联(图6A的框726)。在一个实施例中,VTS 104将恢复卷VolR和目标临时卷VolP相关联包括将目标临时卷VolP映射到恢复卷VolR,如图5A中标记为“映射”的箭头504所示。对于所示的实施例,可以通过改变目标临时卷VolP的元数据(在该示例中为S99999)以指向存储在恢复卷VolR上的数据(在该示例中为L00000、V2)来实现映射。例如,VTS 104的磁带库目录条目形式的元数据可以如图8A的表格所表示的映射目录条目中所描述的那样被配置,以将目标临时卷VolP映射到恢复卷VolR,从而由图8A的VTS映射目录条目所表示的、并且与目标临时卷VolP相关联的元数据指向恢复卷VolR。
如结合诸如图5B中所描绘的物理恢复更详细地解释的,如果主机100在虚拟恢复完成之后需要访问恢复卷VolR的数据,则如图5A和图8A中所指示的目标临时卷VolP到恢复卷VolR的映射可在稍后的物理恢复中用于定位和读取恢复卷VolP的数据。然而,所示实施例的虚拟恢复本身不要求安装和读取或写入恢复卷VolR或目标临时卷VolP。相反,通过配置与卷VolR和卷VolP相关联的元数据而不需要安装任何一个卷,来实现如图5A中的箭头504和图8A的VTS目录条目所表示的映射(图5A)。因此,可以在不从诸如物理磁带驱动器或云的任何后端存储设备读取的情况下实现虚拟恢复。此外,不需要修改存储在卷上的数据内的任何头部信息来完成虚拟恢复。
相比之下,在各种已知的恢复方法中,恢复需要从外部存储设备读取恢复卷,所读取的数据被修改以指示不同的VOLSER,并被写回到存储设备。相反,如上所述,在图5A、6A和8A的虚拟恢复中,存储在恢复卷VolR(在该示例中为L00000V2)上的数据可以保持未被存取,并且因此可以在整个虚拟恢复中保持未被安装、未被读取并且未被写入。
主机100已经向VTS 104发出(图6A的框618)恢复命令,如箭头620所示,标识选择要恢复的卷VolR和选择作为目标临时卷的卷VolP,主机100的恢复管理器123h还将恢复卷VolR(在该例子中为卷L00000、V2)与目标临时卷VolP(在该例子中为卷S99999、版本V1)相关联(框622,图6A)以用于虚拟恢复过程。在一个实施例中,主机100将恢复卷VolR和目标临时卷VolP相关联包括将目标临时卷VolP映射到恢复卷VolR。将目标临时卷VolP映射到恢复卷VolR的主机100也是由图5A中标记为“映射”的箭头504表示的映射的组件。
在所示的实施例中,主机100的映射可以通过改变目标临时卷VolP的元数据(在该示例中为S99999)以引用目标临时卷VolP来完成,就好像它是恢复卷VolR(在该示例中为L00000)一样。例如,主机100的映射目录条目形式的元数据可以如图8B的表格所表示的主机目录条目中所描述的那样被配置,以引用目标临时卷VolP,就好像它已经包含了当前存储在恢复卷VolR中的数据一样。在一个实施例中,对恢复卷VolR(在该示例中为卷L00000)的VOLSER的引用被目标临时卷VolP的VOLSER替换(在该示例中为S99999)。因此,如果主机需要例如定位当前存储在恢复的卷VolR内的数据集,则对恢复的卷VolR的引用被对目标临时卷VolP的引用所替换,如图8B所示。尽管在所示实施例中映射元数据被描述为目录条目,但是可以理解,例如取决于特定应用,这样的映射元数据可以是诸如应用内的数据结构等其它形式。
如结合诸如图5B中所描绘的物理恢复更详细地解释的,如图5A、图8A和图8B中所指示的目标临时卷VolP到恢复卷VolR的映射可以在稍后的物理恢复中使用,以便如果主机100需要在虚拟恢复完成之后访问恢复卷VolR的数据,则主机100安装目标临时卷VolP。然而,如上所述,所示实施例的虚拟恢复本身不要求安装或读取或写入恢复卷VolR或目标临时卷VolP。相反,由图5A中的箭头504表示的映射(图5A),以及由图8A的VTS映射目录条目和图8B的主机映射目录条目表示的映射,分别由VTS 104和主机100配置与卷VolR和卷VolP相关联的元数据来完成,而不需要安装任何一个卷。因此,可以在不从诸如物理磁带驱动器或云的任何后端存储设备读取的情况下实现虚拟恢复。此外,不需要修改存储在卷上的数据内的任何头部信息来完成虚拟恢复。
相比之下,在各种已知的恢复方法中,恢复需要从外部存储设备读取恢复卷,所读取的数据被修改以指示不同的VOLSER,并被写回到存储设备。相反,如上所述,在图5A、图6A、图8A和图8B的虚拟恢复中,存储在恢复卷VolR(在该示例中为L00000 V2)上的数据可以保持不被访问,并且因此可以在整个虚拟恢复中保持不被读取和不被写入(不可变)。
如上所述,图5B示出了在主机100需要实际访问恢复卷VolR的数据以用于除了恢复之外的目的情况下根据本说明书的物理恢复处理的一个示例。图6B描述了图5A的物理恢复过程的更详细的示例。在这个实施例中,如果主机100确定(框630,图6B)它需要实际访问已经由如上所述的虚拟恢复过程映射到(图8B)目标临时卷VolR的恢复卷VolR的数据,就好像它包含在目标卷VolP中一样,则主机100的恢复管理器123h向VTS 104发出(框634,图6B)命令,以安装由主机100映射到恢复VolR的目标临时卷VolP。在这一点上,目标临时卷VolP被称为目标专用卷VolP,而不是临时卷。以这种方式,主机100将目标专用卷VolP(在该示例中为S99999)当作好像它是如上所述的恢复卷VolR(在该示例中为L00000、V2)。在图6B中,由标记为“命令”的箭头636表示发往VTS 104的安装目标专用卷VolP的命令,并且该命令使用针对恢复卷VolR的目标专用卷VolP来启动图5B的物理恢复处理。
响应于主机100命令636安装目标专用卷VolP,VTS 104的恢复管理器123安装(框738,图6B)目标专用卷VolP(在该例子中为S99999),而且安装(框738,图6B)目标临时卷VolP在上述虚拟恢复过程中被VTS 104映射到的恢复卷VolR(在该例子中为L00000、V2)。在该例子中,目标临时卷VolP已经被VTS 104映射,将与目标专用卷VolP相关联的元数据配置为指向恢复卷VolR。VTS 104还更新VTS磁带库目录,以指示目标专用卷VolP的“安装”状态,如图7E所示。
使用目标专用卷VolP(在该示例中为S99999)到恢复卷VolR(在该示例中为L00000、V2)的映射,所安装的恢复卷VolR的数据由恢复管理器123访问并复制(框742)到标记为“复制数据”的箭头514(图5B)所表示的目标专用卷VolP。图9A以示意形式示出从所安装的恢复卷VolR读取的数据的示例,该示例包括具有将数据的源标识为恢复卷VolR的元数据的头部902。头部902可以包括描述从恢复卷VolR读取的数据的其它特性的其它元数据,这取决于特定应用。
从恢复卷VolR读取的数据的其余部分(在该示例中为L00000、V2)在图9A中被称为非头部数据904,并包括存储在恢复卷VolR上的用户数据,且可包括其它类型的数据,这取决于特定应用。如图9B所示并且如标记为“复制数据”的箭头514(图5B)所表示的,访问非头部数据904并将其从所安装的恢复卷VolR复制(图6B的框742)到目标专用卷VolP(在该示例中为S99999)。
当非头部数据904被复制到目标专用卷VolP(在该示例中为S99999)时,从恢复卷VolR读取的头部数据902被与数据904一起存储在目标专用卷VolP上的替换头部906(图9B)替换(图6B的框746),如图9B所示并且如图5B中标记为“修改头部”的箭头518(图5B)所示。以这种方式,当从恢复卷VolR读取的数据被存储在目标专用卷VolP上时,该数据被重新标记,以在随后从卷VolP读取该数据时将数据的源指示为目标专用卷VolP(在该示例中为S99999)。现在可以在所有使用中将恢复的卷作为卷序列号S99999来访问。
此外,推迟从恢复卷VolR访问和复制数据,直到主机请求访问数据。此外,数据源重新标记也是按需过程,其中,还推迟针对目标专用卷VolP的复制操作的头部修改,直到主机100通过请求安装目标专用卷VolP来请求访问恢复卷VolR的数据为止。在该实施例中,恢复卷VolR可以在物理恢复以及如上所述的虚拟恢复的过程中保持不可变,即不改变(图6B的框748)。因此,如果将来需要从外部存储设备云或磁带读取,则恢复卷VolR仍可以用作源。
在完成(图6B的框752)将数据从恢复卷VolR复制和重新标记为目标卷VolP时,VTS104的恢复管理器123向主机100报告(图6B的框754)恢复卷VolR到目标卷VolP的物理恢复(在该例子中为S99999)完成,如由标记为“报告”的箭头756(图6B)所表示的。数据复制和重新标记的完成可以被称为“安装完成”。另外,VTS 104更新VTS磁带库目录,以指示目标卷VolP的活动状态,如图7F所示。
作为响应,在这个实施例中,主机100的恢复管理器123h验证(图6B的框644)目标卷VolP的数据,并向VTS 104发出命令,如标记为“命令”的箭头650所示,以释放(图6B的框648)恢复卷VolR上的保持状态。作为响应,VTS 104更新VTS磁带库目录中的恢复卷VolR的状态,以释放“保持”状态并恢复“保留”状态,如图7G所示。
在所示实施例中,一旦完成了从恢复卷VolR(在该示例中为L00000 V2)到目标专用卷VolP(在该示例中为S99999,V1)的数据的虚拟恢复,主机就不需要跟踪专用卷VolP到恢复卷VolR的任何映射。只要主机知道,数据就完全恢复到S99999中。如果主机想要在这一点读取数据,则它将仅仅像任何其它卷一样执行目标专用卷VolP的常规库安装(在所示实施例中称为“LUM”)以读取恢复数据。如果物理恢复还没有发生,则保持映射信息的VTS 104继续复制数据,并将用于物理恢复的首标从恢复卷VolR修改到目标专用卷VolP,如结合图5B所述。
在根据本说明书的数据存储卷恢复管理的另一方面,图5A和6A的虚拟恢复过程可以用于快速和高效地导入来自可能具有不同或冲突的卷序列号方案或惯例的另一源的卷。在一个实施例中,诸如卷VolR(图5A)的要导入的每个卷可以被映射或重新映射(如图6A中的箭头504所示)到新的目标专用卷VolP,其中每个这样的卷VolP具有符合例如目标数据存储系统的主机100或存储服务器104的现有卷序列号惯例的VOLSER。因此,要导入的卷VolR(图5A)中的每一个可以被映射或重新映射到新的VOLSER,该新的VOLSER不匹配现有的活动VOLSER或者与例如目标数据存储系统的主机或存储服务器的现有VOLSER冲突。另外,被导入的卷VolR可以被映射或重新映射到符合并由此保持现有卷序列号范围惯例的目标专用卷VolP的VOLSER。
可以理解,根据特定应用,要导入到目标VTS的卷的数量例如可以是数百、数千、数百万或更多。所示实施例的虚拟恢复过程允许将大量卷快速导入到目标VTS,而无需安装或以其它方式访问使用虚拟恢复过程导入的任何卷。结果,被导入的卷可以被硬化以维持它们的内容的有效性,知道每个导入的卷可以保持不可变,并且仅作为稍后物理恢复的任何未来召回请求的一部分按需重新标记。例如,出于合法原因,导入时间的数据状态可能要求它保持不可变以维持工作负荷获取的一致点。所示实施例的虚拟恢复过程允许在没有卷序列(VOLSER)冲突的情况下导入卷,而不需要访问每个实例并且不需要修改源实例。如果需要访问导入的卷的数据,则可如上结合图5B和图6B所述执行导入的卷的按需物理恢复。
在又一方面,根据本说明书的存储卷恢复可以递归地应用,以便按需多次恢复卷,因为恢复的卷可以保持不可变,并因此不被所示实施例的恢复过程改变。因此,在如上所述将恢复的卷VolR恢复到目标专用卷VolP之后,如果删除VolP并且主机随后再次请求恢复卷VolP或恢复的卷VolR,则可以重复上述虚拟恢复过程,例如将恢复的卷VolR恢复到新的目标临时卷,诸如目标卷VolP1。新的目标卷VolP1可在虚拟恢复中直接映射到恢复卷VolR而不是被删除的卷VolP,因为在该示例中恢复卷VolR是不可变的,因此仍然包含恢复数据作为第二虚拟恢复的时间。如果需要,随后可以执行物理恢复,将数据从恢复卷VolR转移和重新标记到新目标卷VolP1,如上结合第一目标卷VolP所述。
如果目标卷VolP1然后被删除,并且主机随后再次请求恢复卷VolP1或恢复的卷VolR,则可再次重复以上结合目标卷VolP和VolP1讨论的虚拟恢复过程,例如将恢复的卷VolR恢复到诸如目标卷VolP2的又一新的目标临时卷。因此,新的目标卷VolP2可在虚拟恢复中直接映射到恢复卷VolR而不是被删除的卷VolP1,因为在该示例中恢复卷VolR是不可变的,因此从第三虚拟恢复开始仍包含恢复数据。如果需要,可以执行物理恢复,将数据从恢复的卷VolR传送和重新标记到最近的新目标卷VolP2,如上结合较早的目标卷VolP和VolP1所述。因此,根据本说明书的卷恢复管理允许卷被无限期地恢复并且无限期地保持不可变。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如互联网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,例如Java、Smalltalk、C++等,以及常规的过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
附图的计算组件可以在一个或多个计算机系统中实现,诸如图10所示的计算机系统1002。计算机系统/服务器1002可以在由计算机系统执行的诸如程序模块的计算机系统可执行指令的一般上下文中描述。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统/服务器1002可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
如图10所示,计算机系统/服务器1002以通用计算设备的形式示出。计算机系统/服务器1002的组件可以包括但不限于一个或多个处理器或处理单元1004、系统存储器1006、以及将包括系统存储器1006在内的各种系统组件耦合至处理器1004的总线1008。总线1008表示若干类型的总线结构中的任何一种总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线。
计算机系统/服务器1002通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统/服务器1002访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器1006可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1010和/或高速缓冲存储器1012。计算机系统/服务器1002还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统1013可被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如CD-ROM、DVD-ROM或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口连接到总线1008。如下面将进一步描绘和描述的,存储器1006可以包括至少一个程序产品,该程序产品具有一组(例如,至少一个)程序模块,该程序模块被配置成执行本发明的实施例的功能。
具有一组(至少一个)程序模块1016的程序/实用程序1014,以及操作系统、一个或多个应用程序、其它程序模块和程序数据,可作为示例而非限制存储在存储器1006中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。计算机1002的组件可以实现为程序模块1016,其通常执行如这里描述的本发明的实施例的功能和/或方法。图1的系统可以在一个或多个计算机系统1002中实现,其中如果它们在多个计算机系统1002中实现,则计算机系统可以通过网络通信。
计算机系统/服务器1002还可以与一个或多个外部设备1018通信,诸如键盘、定点设备、显示器1020等;一个或多个设备,其使得用户能够与计算机系统/服务器1002交互;和/或使计算机系统/服务器1002能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(I/O)接口1022发生。此外,计算机系统/服务器1002可以经由网络适配器1024与一个或多个网络通信,所述网络诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,互联网)。如图所示,网络适配器1024经由总线1008与计算机系统/服务器1002的其它组件通信。应当理解,尽管未示出,但是可以结合计算机系统/服务器1002使用其他硬件和/或软件组件。示例包括但不限于微代码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器、以及数据存档存储系统等。
术语“一实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”表示“本发明的一个或多个(但不是全部)实施例”,除非另有明确说明。
术语“包括”、“包含”、“具有”及其变体表示“包括但不限于”,除非另有明确说明。
除非另外明确规定,否则列举的项目列表并不意味着任何或所有项目是互斥的。
术语“一”、“一个”和“该”表示“一个或多个”,除非另有明确说明。
除非另外明确指出,否则彼此通信的设备不需要彼此连续通信。另外,彼此通信的设备可以直接通信或通过一个或多个中间物间接通信。
具有彼此通信的若干组件的实施例的描述并不暗示需要所有此类组件。相反,描述了各种可选组件以说明本发明的各种可能的实施例。
当在此描述单个设备或产品时,很明显,可以使用多于一个的设备/产品(无论它们是否协作)来代替单个设备/产品。类似地,在这里描述了多于一个设备或产品(无论它们是否协作)的情况下,将容易明白的是,可以使用单个设备/产品来代替多于一个设备或产品,或者可以使用不同数量的设备/产品来代替所示数量的设备或程序。设备的功能和/或特征可以替代地由一个或多个未明确描述为具有这样的功能/特征的其他设备来体现。因此,本发明的其它实施例不需要包括该设备本身。
为了说明和描述的目的,已经给出了本发明的各种实施例的上述描述。其不是穷举的,也不是要将本发明限制为所公开的精确形式。根据上述教导,许多修改和变化是可能的。本发明的范围不是由该详细描述来限定,而是由所附权利要求来限定。上述说明、示例和数据提供了对本发明的组成的制造和使用的完整描述。由于在不脱离本发明的精神和范围的情况下可以做出本发明的许多实施例,因此本发明在于所附权利要求书。
Claims (25)
1.一种计算机程序产品,用于恢复被存储在存储装置中的数据的卷,其中所述计算机程序产品包括具有程序指令的计算机可读存储介质,所述程序指令由处理器可执行以引起操作,所述操作包括:
使用第二卷执行被存储在所述存储装置中的数据的第一卷的第一虚拟恢复,包括配置与所述第二卷相关联的元数据以将所述第二卷映射到所述第一卷作为所述第一卷的虚拟恢复;以及
响应于由主机针对被存储在所述第一卷上的数据的请求,使用所述第二卷执行所述第一卷的数据的物理恢复,包括将数据从所述第一卷传送到所述第二卷,所述第二卷通过所述虚拟恢复被映射到所述第一卷,以及将所传送的数据重新标记为第二卷数据而不是第一卷数据,使得访问所述第一卷的数据被推迟,直到由所述主机请求对所述数据的访问,并且其中在所述第一卷的虚拟恢复和物理恢复期间,与所述第一卷的恢复相关联的所述第一卷上的数据的修改被避免。
2.根据权利要求1所述的计算机程序产品,其中将数据从所述第一卷传送到所述第二卷包括响应于接收到由所述主机对将所述第二卷安装在存储驱动器上的请求并且响应于所述请求:
将所述第二卷安装在存储驱动器上;
将所述第一卷安装在存储驱动器上;以及
复制由针对所述第二卷的所述元数据映射到所述第二卷的所述第一卷的数据,使得与使用所述第二卷恢复所述第一卷相关联的从所述第一卷复制数据被推迟,直到所述第二卷的所述物理恢复。
3.根据权利要求2所述的计算机程序产品,其中将所传送的数据重新标记为第二卷数据而不是第一卷数据包括:在数据被存储在所述第二卷上时修改从所述第一卷被读取的头部数据,以将从所述第一卷被复制的数据标识为针对所述第二卷而不是所述第一卷的数据,并且使得修改从所述第一卷被读取的头部数据被推迟,直到由所述主机请求对所述数据的访问。
4.根据权利要求3所述的计算机程序产品,其中所述第一卷具有第一卷序列号,并且所述第二卷具有与所述第一卷序列号不同的第二序列号,并且其中在所述第一卷的所述物理恢复期间修改用于存储在所述第二卷上的头部数据包括:当头部数据和用户数据从所述第一卷被读取并且所读取的数据被复制到所述第二卷时,利用所述第二卷的所述第二卷序列号替换头部数据中的所述第一卷的所述第一序列号。
5.根据权利要求2所述的计算机程序产品,其中所述操作还包括:在安装所述第一卷之前将所述第一卷分类为只读卷,以在所述第一卷的所述虚拟恢复和所述物理恢复二者期间防止通过所述第一卷的所述恢复而修改所述第一卷。
6.根据权利要求1所述的计算机程序产品,其中在所述第一卷的所述虚拟恢复的启动之前,所述第一卷被分类在保留类别中,在所述保留类别中卷在被指定以用于删除之后被保留一段时间,被存储在存储装置中的数据的所述第一卷的所述虚拟恢复还包括:将所述第一卷重新分类在保持类别中,在所述保持类别中卷的修改被防止,并且还响应于在所述第一卷的所述物理恢复期间完成将数据从所述第一卷传送到所述第二卷,将所述第一卷从所述保持类别重新分类回所述保留类别,并且其中在所述第一卷的所述虚拟恢复和所述物理恢复二者期间,由所述第一卷的所述恢复对所述第一卷的修改被避免。
7.根据权利要求1所述的计算机程序产品,其中所述操作还包括:向所述第二卷分配至少一个策略,其中所述策略定义用于将卷保存多久和所述卷的版本的许可数量中的至少一者的参数。
8.根据权利要求1所述的计算机程序产品,其中所述操作还包括:将第三卷导入所述存储装置,包括使用具有卷序列号的第四卷来执行所述第三卷的虚拟恢复,所述卷序列号符合所述存储装置的卷序列编号惯例,所述第三卷的所述虚拟恢复包括配置与所述第四卷相关联的元数据以将所述第四卷映射到所述第三卷作为所述第三卷的虚拟恢复。
9.根据权利要求1所述的计算机程序产品,其中所述操作还包括:
删除所述第二卷;以及
使用第三卷执行所述第一卷的第二虚拟恢复,包括配置与所述第三卷相关联的元数据以将所述第三卷映射到所述第一卷作为所述第一卷的第二虚拟恢复,其中所述第一卷在所述第一卷的所述第一虚拟恢复和所述第二虚拟恢复的过程中保持不可变。
10.根据权利要求1所述的计算机程序产品,其中所述第一卷被存储在被耦合到具有主存储装置的存储服务器的辅存储装置中,并且其中贯穿所述第一卷的所述虚拟恢复,所述第一卷保持未被安装在所述辅存储装置中。
11.一种用于与主机一起使用并且用于恢复数据的卷的系统,包括:
存储装置,其具有数据的多个卷;
处理器;以及
计算机可读存储介质,具有程序指令,所述程序指令在由所述处理器执行时引起操作,所述操作包括:
使用第二卷执行被存储在所述存储装置中的数据的第一卷的第一虚拟恢复,包括配置与所述第二卷相关联的元数据以将所述第二卷映射到所述第一卷作为所述第一卷的虚拟恢复;以及
响应于由主机针对被存储在第一卷上的数据的请求,使用所述第二卷执行所述第一卷的数据的物理恢复,包括将数据从所述第一卷传送到所述第二卷,所述第二卷通过所述虚拟恢复被映射到所述第一卷,以及将所传送的数据重新标记为第二卷数据而不是第一卷数据,使得访问所述第一卷的数据被推迟,直到由所述主机请求对所述数据的访问,并且其中在所述第一卷的虚拟恢复和物理恢复期间,与所述第一卷的恢复相关联的所述第一卷上的数据的修改被避免。
12.根据权利要求11所述的系统,其中所述存储装置包括存储驱动器,并且其中将数据从所述第一卷传送到所述第二卷包括响应于接收到由所述主机对将所述第二卷安装在存储驱动器上的请求并且响应于所述请求:
将所述第二卷安装在存储驱动器上;
将所述第一卷安装在存储驱动器上;以及
复制由针对所述第二卷的所述元数据映射到所述第二卷的所述第一卷的数据,使得与使用第二卷恢复所述第一卷相关联的从所述第一卷复制数据被推迟,直到所述第二卷的所述物理恢复。
13.根据权利要求12所述的系统,其中将所传送的数据重新标记为第二卷数据而不是第一卷数据包括:当数据被存储在所述第二卷上时修改从所述第一卷被读取的头部数据,以将从所述第一卷被复制的数据标识为针对所述第二卷而不是所述第一卷的数据,并且使得修改从所述第一卷被读取的头部数据被推迟,直到由所述主机请求对所述数据的访问。
14.根据权利要求13所述的系统,其中所述第一卷具有第一卷序列号,并且所述第二卷具有与所述第一卷序列号不同的第二序列号,并且其中在所述第一卷的所述物理恢复期间修改用于存储在所述第二卷上的头部数据包括:当头部数据和用户数据从所述第一卷被读取并且所读取的数据被复制到所述第二卷时,利用所述第二卷的所述第二卷序列号替换头部数据中的所述第一卷的所述第一序列号。
15.根据权利要求12所述的系统,其中所述操作还包括:在安装所述第一卷之前将所述第一卷分类为只读卷,以在所述第一卷的所述虚拟恢复和所述物理恢复二者期间防止通过所述第一卷的所述恢复而修改所述第一卷。
16.根据权利要求11所述的系统,其中在所述第一卷的所述虚拟恢复的启动之前,所述第一卷被分类在保留类别中,在所述保留类别中卷在被指定以用于删除之后被保留一段时间,被存储在存储装置中的数据的所述第一卷的所述虚拟恢复还包括:将所述第一卷重新分类在保持类别中,在所述保持类别中卷的修改被防止,并且还响应于在所述第一卷的所述物理恢复期间完成将数据从所述第一卷传送到所述第二卷,将所述第一卷从所述保持类别重新分类回所述保留类别,并且其中在所述第一卷的所述虚拟恢复和所述物理恢复二者期间,由所述第一卷的所述恢复对所述第一卷的修改被避免。
17.根据权利要求11所述的系统,其中所述操作还包括:向所述第二卷分配至少一个策略,其中所述策略定义用于将卷保存多久和所述卷的版本的许可数量中的至少一者的参数。
18.根据权利要求11所述的系统,其中所述操作还包括:将第三卷导入所述存储装置,包括使用具有卷序列号的第四卷来执行所述第三卷的虚拟恢复,所述卷序列号符合所述存储装置的卷序列编号惯例,所述第三卷的所述虚拟恢复包括配置与所述第四卷相关联的元数据以将所述第四卷映射到所述第三卷作为所述第三卷的虚拟恢复。
19.根据权利要求11所述的系统,其中所述操作还包括:
删除所述第二卷;以及
使用第三卷执行所述第一卷的第二虚拟恢复,包括配置与所述第三卷相关联的元数据以将所述第三卷映射到所述第一卷作为所述第一卷的第二虚拟恢复,其中所述第一卷在所述第一卷的所述第一虚拟恢复和所述第二虚拟恢复的过程中保持不可变。
20.根据权利要求11所述的系统,其中所述存储装置包括具有主存储装置和辅存储装置的存储服务器,并且其中所述第一卷被存储在所述辅存储装置中,并且其中贯穿所述第一卷的所述虚拟恢复,所述第一卷保持未被安装在所述辅存储装置中。
21.一种方法,包括:
使用第二卷执行被存储在存储装置中的数据的第一卷的第一虚拟恢复,包括配置与所述第二卷相关联的元数据以将所述第二卷映射到所述第一卷作为所述第一卷的虚拟恢复;以及
响应于由主机针对被存储在所述第一卷上的数据的请求,使用所述第二卷执行所述第一卷的数据的物理恢复,包括将数据从所述第一卷传送到所述第二卷,所述第二卷通过所述虚拟恢复被映射到所述第一卷,以及将所传送的数据重新标记为第二卷数据而不是第一卷数据,使得访问所述第一卷的数据被推迟,直到由所述主机请求对所述数据的访问,并且其中在所述第一卷的虚拟恢复和物理恢复期间与所述第一卷的恢复相关联的所述第一卷上的数据的修改被避免。
22.根据权利要求21所述的方法,其中将所述数据从所述第一卷传送到所述第二卷包括响应于接收到由所述主机对将所述第二卷安装在存储驱动器上的请求并且响应于所述请求:
将所述第二卷安装在存储驱动器上;
将所述第一卷安装在存储驱动器上;以及
复制由针对所述第二卷的所述元数据映射到所述第二卷的所述第一卷的数据,使得与使用所述第二卷恢复所述第一卷相关联的从所述第一卷复制数据被推迟,直到所述第二卷的所述物理恢复,其中所述第一卷被存储在被耦合到具有主存储装置的存储服务器的辅存储装置中,并且其中贯穿所述第一卷的所述虚拟恢复,所述第一卷保持未被安装在所述辅存储装置中;其中将所传送的数据重新标记为第二卷数据而不是第一卷数据包括:当数据被存储在所述第二卷上时修改从所述第一卷被读取的头部数据,以将从所述第一卷被复制的数据标识为针对所述第二卷而不是所述第一卷的数据,并且使得修改从所述第一卷被读取的头部数据被推迟,直到由所述主机请求对所述数据的访问;以及
其中所述第一卷具有第一卷序列号,并且所述第二卷具有与所述第一卷序列号不同的第二序列号,并且其中在所述第一卷的所述物理恢复期间修改用于存储在所述第二卷上的头部数据包括:当头部数据和用户数据从所述第一卷被读取并且所读取的数据被复制到所述第二卷时,利用所述第二卷的所述第二卷序列号替换头部数据中的所述第一卷的所述第一序列号。
23.根据权利要求22所述的方法,还包括:在安装所述第一卷之前将所述第一卷分类为只读卷,以在所述第一卷的所述虚拟恢复和物理恢复二者期间防止通过所述第一卷的所述恢复而修改所述第一卷;
其中在所述第一卷的所述虚拟恢复的启动之前,所述第一卷被分类在保留类别中,在所述保留类别中,卷在被指定以用于删除之后被保留一段时间,被存储在存储装置中的数据的所述第一卷的所述虚拟恢复还包括:将所述第一卷重新分类在保持类别中,在所述保持类别中卷的修改被防止,并且还响应于在所述第一卷的所述物理恢复期间完成将数据从所述第一卷传送到所述第二卷,将所述第一卷从所述保持类别重新分类回所述保留类别,并且其中在所述第一卷的所述虚拟恢复和所述物理恢复二者期间,由所述第一卷的所述恢复对所述第一卷的修改被避免;并且
其中所述方法还包括:向所述第二卷分配至少一个策略,其中所述策略定义用于将卷保存多久和所述卷的版本的许可数量中的至少一者的参数。
24.根据权利要求21所述的方法,还包括:将第三卷导入所述存储装置,包括使用具有卷序列号的第四卷来执行所述第三卷的虚拟恢复,所述卷序列号符合所述存储装置的卷序列编号惯例,所述第三卷的所述虚拟恢复包括配置与所述第四卷相关联的元数据以将所述第四卷映射到所述第三卷作为所述第三卷的虚拟恢复。
25.根据权利要求21所述的方法,还包括:
删除所述第二卷;以及
使用第三卷执行所述第一卷的第二虚拟恢复,包括配置与所述第三卷相关联的元数据以将所述第三卷映射到所述第一卷作为所述第一卷的第二虚拟恢复,其中所述第一卷在所述第一卷的所述第一虚拟恢复和所述第二虚拟恢复的过程中保持不可变。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/031,276 US11461193B2 (en) | 2020-09-24 | 2020-09-24 | Data storage volume recovery management |
US17/031,276 | 2020-09-24 | ||
PCT/CN2021/118734 WO2022063020A1 (en) | 2020-09-24 | 2021-09-16 | Data storage volume recovery management |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116324732A true CN116324732A (zh) | 2023-06-23 |
Family
ID=80740420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180064893.4A Pending CN116324732A (zh) | 2020-09-24 | 2021-09-16 | 数据存储卷恢复管理 |
Country Status (8)
Country | Link |
---|---|
US (2) | US11461193B2 (zh) |
JP (1) | JP2023542287A (zh) |
KR (1) | KR20230056707A (zh) |
CN (1) | CN116324732A (zh) |
AU (1) | AU2021348394B2 (zh) |
DE (1) | DE112021004991T5 (zh) |
GB (1) | GB2614675A (zh) |
WO (1) | WO2022063020A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461193B2 (en) | 2020-09-24 | 2022-10-04 | International Business Machines Corporation | Data storage volume recovery management |
US11983430B2 (en) * | 2022-08-01 | 2024-05-14 | International Business Machines Corporation | Replicating data to a plurality of replication devices through a tape device |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6703228B1 (en) * | 1998-09-25 | 2004-03-09 | Massachusetts Institute Of Technology | Methods and products related to genotyping and DNA analysis |
US7630986B1 (en) * | 1999-10-27 | 2009-12-08 | Pinpoint, Incorporated | Secure data interchange |
US6513101B1 (en) * | 2000-01-04 | 2003-01-28 | International Business Machines Corporation | Expiring host selected scratch logical volumes in an automated data storage library |
WO2002017207A2 (en) * | 2000-08-23 | 2002-02-28 | Arexis Ab | System and method of storing genetic information |
AU3118602A (en) * | 2000-10-18 | 2002-04-29 | Genomic Health Inc | Genomic profile information systems and methods |
AU2002212344B2 (en) * | 2000-10-20 | 2007-05-17 | Virco Bvba | Establishment of biological cut-off values for predicting resistance to therapy |
US8898021B2 (en) * | 2001-02-02 | 2014-11-25 | Mark W. Perlin | Method and system for DNA mixture analysis |
US7783665B1 (en) * | 2002-03-27 | 2010-08-24 | Parallels Holdings, Ltd. | Effective file-sharing among virtual environments |
US20050152905A1 (en) * | 2002-08-22 | 2005-07-14 | Omoigui Osemwota S. | Method of biochemical treatment of persistent pain |
US6985916B2 (en) * | 2002-08-29 | 2006-01-10 | International Business Machines Corporation | Method, system, and article of manufacture for returning physical volumes |
US7020755B2 (en) | 2002-08-29 | 2006-03-28 | International Business Machines Corporation | Method and apparatus for read-only recovery in a dual copy storage system |
US6954831B2 (en) * | 2002-08-29 | 2005-10-11 | International Business Machines Corporation | Method, system, and article of manufacture for borrowing physical volumes |
US20070166728A1 (en) * | 2005-07-22 | 2007-07-19 | Alphagenics, Inc. | Genetic profile imaging and data-sharing device and methodology for socially relevant traits |
US20070198485A1 (en) * | 2005-09-14 | 2007-08-23 | Jorey Ramer | Mobile search service discovery |
US20080009268A1 (en) * | 2005-09-14 | 2008-01-10 | Jorey Ramer | Authorized mobile content search results |
US20080015968A1 (en) * | 2005-10-14 | 2008-01-17 | Leviathan Entertainment, Llc | Fee-Based Priority Queuing for Insurance Claim Processing |
US20070299851A1 (en) * | 2006-06-02 | 2007-12-27 | University Of Louisville Research Foundation | Interoperable public and proprietary web accessible database and data brokerage |
US20080131887A1 (en) * | 2006-11-30 | 2008-06-05 | Stephan Dietrich A | Genetic Analysis Systems and Methods |
US20080228700A1 (en) * | 2007-03-16 | 2008-09-18 | Expanse Networks, Inc. | Attribute Combination Discovery |
US7818396B2 (en) * | 2007-06-21 | 2010-10-19 | Microsoft Corporation | Aggregating and searching profile data from multiple services |
US8738871B1 (en) * | 2007-06-29 | 2014-05-27 | Symantec Corporation | Method and apparatus for mapping virtual drives |
US20090043752A1 (en) * | 2007-08-08 | 2009-02-12 | Expanse Networks, Inc. | Predicting Side Effect Attributes |
US8010896B2 (en) * | 2007-09-13 | 2011-08-30 | International Business Machines Corporation | Using profiling when a shared document is changed in a content management system |
CA2700975A1 (en) * | 2007-09-26 | 2009-04-02 | Navigenics, Inc. | Methods and systems for genomic analysis using ancestral data |
US8589437B1 (en) * | 2007-10-15 | 2013-11-19 | 23Andme, Inc. | De-identification and sharing of genetic data |
WO2009051766A1 (en) * | 2007-10-15 | 2009-04-23 | 23Andme, Inc. | Family inheritance |
GB2478065A (en) * | 2008-08-08 | 2011-08-24 | Navigenics Inc | Method and systems for personalized action plans |
JP2012502398A (ja) * | 2008-09-12 | 2012-01-26 | ナビジェニクス インコーポレイティド | 複数の環境的リスク因子及び遺伝的リスク因子を組み込む方法及びシステム |
EP3276526A1 (en) * | 2008-12-31 | 2018-01-31 | 23Andme, Inc. | Finding relatives in a database |
US8595430B2 (en) * | 2010-09-30 | 2013-11-26 | International Business Machines Corporation | Managing a virtual tape library domain and providing ownership of scratch erased volumes to VTL nodes |
US10152492B1 (en) | 2012-03-30 | 2018-12-11 | EMC IP Holding Company LLC | Extended recycle bin for versioning |
US10013166B2 (en) * | 2012-12-20 | 2018-07-03 | Amazon Technologies, Inc. | Virtual tape library system |
GB2524433B (en) * | 2013-01-25 | 2020-11-25 | Hitachi Ltd | Storage system and data management method |
CN103336728A (zh) | 2013-05-08 | 2013-10-02 | 上海爱数软件有限公司 | 一种磁盘数据恢复方法 |
CN104216796B (zh) | 2013-06-04 | 2018-02-09 | 北京联想核芯科技有限公司 | 一种数据备份、恢复方法及电子设备 |
US9552370B1 (en) * | 2013-06-27 | 2017-01-24 | EMC IP Holding Company LLC | Signaling impending out of storage condition from a virtual tape drive |
US9606930B2 (en) * | 2014-08-05 | 2017-03-28 | International Business Machines Corporation | Tape-managed partition support for effective workload allocation and space management |
US9514010B2 (en) * | 2014-09-19 | 2016-12-06 | Netapp, Inc | Cluster-wide service agents |
US10776210B2 (en) * | 2016-09-30 | 2020-09-15 | Hewlett Packard Enterprise Development Lp | Restoration of content of a volume |
US10621047B2 (en) | 2017-04-06 | 2020-04-14 | International Business Machines Corporation | Volume group structure recovery in a virtualized server recovery environment |
CN108038026B (zh) | 2017-11-17 | 2021-11-30 | 中国科学院信息工程研究所 | 一种基于闪存的数据快速恢复方法与系统 |
US10852981B2 (en) * | 2018-05-04 | 2020-12-01 | EMC IP Holding Company LLC | System for migrating virtual tape volumes between filesystems |
US10521132B1 (en) * | 2018-06-17 | 2019-12-31 | International Business Machines Corporation | Dynamic scratch pool management on a virtual tape system |
US11221989B2 (en) | 2018-07-31 | 2022-01-11 | International Business Machines Corporation | Tape image reclaim in hierarchical storage systems |
US11468014B2 (en) * | 2018-08-09 | 2022-10-11 | Netapp Inc. | Resynchronization to a filesystem synchronous replication relationship endpoint |
US11086558B2 (en) * | 2018-11-01 | 2021-08-10 | EMC IP Holding Company LLC | Storage system with storage volume undelete functionality |
US11366682B1 (en) * | 2019-10-22 | 2022-06-21 | Amazon Technologies, Inc. | Automatic snapshotting for recovery of instances with local storage |
US11886392B2 (en) | 2020-09-21 | 2024-01-30 | International Business Machines Corporation | Managing versions of objects resulting from appending data for space efficiency |
US11461193B2 (en) | 2020-09-24 | 2022-10-04 | International Business Machines Corporation | Data storage volume recovery management |
-
2020
- 2020-09-24 US US17/031,276 patent/US11461193B2/en active Active
-
2021
- 2021-09-16 KR KR1020237008807A patent/KR20230056707A/ko active Search and Examination
- 2021-09-16 GB GB2305748.2A patent/GB2614675A/en active Pending
- 2021-09-16 AU AU2021348394A patent/AU2021348394B2/en active Active
- 2021-09-16 CN CN202180064893.4A patent/CN116324732A/zh active Pending
- 2021-09-16 DE DE112021004991.7T patent/DE112021004991T5/de active Pending
- 2021-09-16 WO PCT/CN2021/118734 patent/WO2022063020A1/en active Application Filing
- 2021-09-16 JP JP2023515642A patent/JP2023542287A/ja active Pending
-
2022
- 2022-09-02 US US17/902,541 patent/US12026069B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220413973A1 (en) | 2022-12-29 |
KR20230056707A (ko) | 2023-04-27 |
AU2021348394B2 (en) | 2023-08-17 |
JP2023542287A (ja) | 2023-10-06 |
WO2022063020A1 (en) | 2022-03-31 |
AU2021348394A1 (en) | 2023-03-23 |
GB2614675A (en) | 2023-07-12 |
US12026069B2 (en) | 2024-07-02 |
DE112021004991T5 (de) | 2023-07-06 |
GB202305748D0 (en) | 2023-05-31 |
US20220091944A1 (en) | 2022-03-24 |
US11461193B2 (en) | 2022-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7660834B2 (en) | Maintaining an aggregate including active files in a storage pool | |
US9104627B2 (en) | Reusing snapshots in a network data management protocol backup operation | |
US8290996B2 (en) | Data sharing for file clones using reverse ditto references | |
US9009443B2 (en) | System and method for optimized reclamation processing in a virtual tape library system | |
US8615534B2 (en) | Migration of metadata and storage management of data in a first storage environment to a second storage environment | |
US7953945B2 (en) | System and method for providing a backup/restore interface for third party HSM clients | |
US7634516B2 (en) | Maintaining an aggregate including active files in a storage pool in a random access medium | |
US11327924B2 (en) | Archiving data sets in a volume in a primary storage in a volume image copy of the volume in a secondary storage | |
US12026069B2 (en) | Data storage volume recovery management | |
US11886392B2 (en) | Managing versions of objects resulting from appending data for space efficiency | |
US9122689B1 (en) | Recovering performance of a file system post-migration | |
US9665436B2 (en) | Creation and management of logical volume snapshots under hierarchical storage system | |
US20060059188A1 (en) | Operation environment associating data migration method | |
US8495315B1 (en) | Method and apparatus for supporting compound disposition for data images | |
CN117951094A (zh) | 存储空间的回收方法、文件系统、介质和计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |