专利名称:闪速拷贝管理的制作方法
技术领域:
本发明涉及管理(handle)闪速拷贝(flashcopy)过程的方法和系统。在一个实施例中,该方法可以用于反转级联中的闪速拷贝映射。
背景技术:
闪速拷贝是在各种存储设备上得到支持的特征,允许用户或自动过程对数据的整个逻辑卷做出几乎瞬时的拷贝。在目标盘上做出源盘的拷贝。该拷贝可立即用于读写访问。 闪速拷贝式实现方式的共同特征是反转拷贝的能力。也就是说,用目标盘的内容填充闪速拷贝映射的源盘。对于目标盘后来变成用于进一步闪速拷贝的源盘的级联实现方式,这种特征因一个盘呈现的数据的“颗粒”位于该盘本身“上游”的若干目标/源盘上而变得复杂。 这意味着为了使一个盘保留它呈现的映像,它必须能够访问包括这些数据颗粒的所有盘。
反转闪速拷贝是保证在开始反转的时间点源盘呈现与目标盘相同的映像的过程。 这意味着需要修改源盘的内容,以便保留正确的映像。现在,如果不需要级联中的源盘与目标盘之间的所有目标盘以及目标盘本身,那么,可以简单地通过使所有目标盘离线和反转级联中的源盘和目标盘的顺序来实现反转。尽管这种方案对于一些使用情况足够了,但它极大地限制了闪速拷贝实现方式的灵活性,因为在大多数情况下,用户不愿接受他们的中间闪速拷贝映像的丢失,因为它们可能包括原始源的其它有效备份拷贝。
因此,本发明的目的是改进现有技术。
发明内容
根据本发明的第一方面,提供了一种管理闪速拷贝过程的方法,包括接收针对源盘的闪速拷贝指令;执行源盘到目标盘的闪速拷贝;创建规定从源盘到目标盘的闪速拷贝的映射;如果不存在源盘的初级fdisk,则为源盘创建初级fdisk ;如果不存在目标盘的初级fdisk,则为目标盘创建初级fdisk,或者如果已经存在目标盘的初级fdisk,则将目标盘的现有初级fdisk转换成次级fdisk,并为目标盘创建新的初级fdisk。
根据本发明的第二方面,提供了一种管理闪速拷贝过程的系统,包括用户界面, 设置成接收针对源盘的闪速拷贝指令;以及处理器,设置成执行源盘到目标盘的闪速拷贝; 创建规定从源盘到目标盘的闪速拷贝的映射;如果不存在源盘的初级fdisk,则为源盘创建初级fdisk ;以及如果不存在目标盘的初级fdisk,则为目标盘创建初级fdisk,或者如果已经存在目标盘的初级fdisk,则将目标盘的现有初级fdisk转换成次级fdisk,并为目标盘创建新的初级fdisk。
根据本发明的第三方面,提供了一种管理闪速拷贝过程的位于计算机可读介质上的计算机程序产品,所述产品包括如下指令接收针对源盘的闪速拷贝指令;执行源盘到目标盘的闪速拷贝;创建规定从源盘到目标盘的闪速拷贝的映射;如果不存在源盘的初级 fdisk,则为源盘创建初级fdisk ;以及如果不存在目标盘的初级fdisk,则为目标盘创建初级fdisk,或者如果已经存在目标盘的初级fdisk,则将目标盘的现有初级fdisk转换成次级fdisk,并为目标盘创建新的初级fdisk。
依靠本发明,可以提供支持利用多个源盘和目标盘(支持任何闪速拷贝向回反转到源盘)的级联闪速拷贝的使用的数据结构,而不会丢失在级联内表示的任何闪速拷贝映像。标准IO命令仍然可以应用于任何源盘或目标盘,已经创建的数据结构的性质支持IO 命令的简单管理,导致闪速拷贝通过级联被正确地处理。
所提出的解决方案允许一个盘在同一级联中或在分立的级联中存在许多次。为了反转闪速拷贝映射,用户可以简单地沿着相反方向创建和开始映射。例如,从VDiskl到 VDisk2的映射可以通过创建从VDisk2到VDiskl的新映射来反转。本发明描述了允许两个映射同时有效(active)的方案。这意味着在恢复VDiskl的同时可以保留VDisk2呈现的映像。
这种方案引入了 fdisk的概念,fdisk位于闪速拷贝的内部,并被用于表示级联中的给定闪速拷贝映射的源盘或目标盘。在映射与fdisk之间构建闪速拷贝级联。该方案通过允许用不同的fdisk在多个级联中或同一级联的多个点中表示VDisk而使映射能够被反转。一个fdisk将表示正在向主机呈现的VDisk,而其它fdisk将表示在其它点处保持级联所需的VDisk。在一个实施例中,fdisk是VDisk的一个方面。在这种实现方式中,fdisk 可以是,例如,将VDisk与级联内的位置的上游和下游的映射链接的对象(结构)。
优选的是,该方法进一步包括接收针对特定盘的IO命令,以及根据与特定盘的初级和次级fdisk的存在有关的一组预定规则来处理该IO命令。在一个实施例中,该组预定规则定义在处理该IO命令之前清理次级fdisk,该清理包括将数据从该特定盘拷贝到定义在与次级fdisk链接的映射中的目标盘。当盘接收到IO命令时,无论它们处在级联中的什么地方,该数据结构都可以被用于保留级联中的正确结构。该规则定义IO指令的管理。
现在参照附图,仅仅通过举例的方式描述本发明的实施例,在附图中 图1是一对存储盘的示意图; 图2是级联存储盘的示意图; 图3是随着闪速拷贝而创建的数据结构的示意图; 图4是进一步数据结构的示意图;以及 图5是管理闪速拷贝的方法的流程图。
具体实施例方式图1例示了使用两个盘10的闪速拷贝的概念。盘10可以形成更大的盘阵列的一部分,并且通常形成企业存储解决方案的一部分。盘10可以是与例如商业网站有关的存储解决方案的一部分。如果在任何时间需要对Vdiskl的内容做出备份,则可以将闪速拷贝指令发送给该盘,该闪速拷贝指令定义源盘(Vdiskl)以及作为闪速拷贝的目标的目标盘。闪速拷贝指令创建作为源盘的盘的映像的时间点拷贝。
在图1的例子中,第一闪速拷贝指令的源盘是Vdiskl,目标盘是Vdisk2。闪速拷贝指令启动创建从源盘10到目标盘10的映射12的闪速拷贝过程。这个第一映射在图中标为映射1 (Map 1)。Vdiskl在这个特定时间点的映像现在可在Vdisk2上获得。这就创建了 Vdiskl上的数据的备份,并且允许对VDiskl的数据执行测试和其它管理任务,不会伴随着丢失任何原始数据的风险,因为原始数据被保存在原始源盘上。
当做出闪速拷贝时,它创建如映射12所定义的两个盘10之间的链接。现在可以在后台中跨越拷贝数据,附加要求是对Vdisk2(作为目标盘10)的任何访问都将立即使 Vdiskl的映像的相关部分被跨越拷贝,并且会导致该盘10存储的映像的改变的对Vdiskl 的任何访问也使未变更的数据立即被跨越拷贝。以这种方式,对于外部用户,Vdisk2存储 Vdiskl的时间点拷贝,尽管在上述的环境下数据仅被物理地跨越拷贝。
为了反转闪速拷贝映射,用户或管理员可以简单地沿着相反方向创建和开始映射 12。用户发出规定从新源盘到目标盘的映射的闪速拷贝指令。例如,从VDiskl到VDisk2 的映射12可以通过创建从VDisk2到VDiskl的新映射(映射2)来反转。下面要做更详细描述的本发明的系统描述了允许两个映射12同时有效的方案。这意味着在恢复VDiskl的同时可以保留VDisk2呈现的映像。这对于例如闪速拷贝级联是有价值的。
图2例示了与形成企业存储解决方案的一部分的四个盘10有关的闪速拷贝级联。 该图内的每个映射12代表导致Vdisk 10的时间点拷贝被做出并且从源盘10被传送到目标盘10的闪速拷贝指令。在创建闪速拷贝的级联的过程中,用户在不同时间请求作为先前闪速拷贝的目标的盘10变成以后闪速拷贝的源。可以在已经做出闪速拷贝之后对Vdisk 10上的映像采取行动。
该系统允许盘10在同一级联中或在分立的级联中存在许多次。本发明的方案将扩展到例如更复杂的树图。在本例中,在开始映射4之前,VDiskl包含用户原始数据集,而 VDisk2包含该数据的备份。VDisk3和VDisk4进一步包含已经进行了两次不同模拟的数据的快照。然后,用户决定他们想要VDisk3上的模拟结果并且想把这个数据恢复到VDiskl 上。该方案允许用户在仍然保留VDisk2上的原始数据的未修改备份的同时开始映射4并将修改映像从VDisk3拷贝到VDiskl。
根据本发明的系统实施的这个方案引入了 fdisk的概念,fdisk是闪速拷贝内部的数据结构,并被用于表示级联中的给定闪速拷贝映射的源盘或目标盘10。然后,在映射 12与fdisk之间构建闪速拷贝级联。该方案通过允许用不同的fdisk在多个级联中或同一级联的多个点中表示VDisk 10而使映射12能够被反转。第一 fdisk将表示正在向主机呈现的VDisk,而其它fdisk将表示在其它点上保持级联所需的VDisk。
图3例示了在形成映射1之后,与图1的盘有关,由系统创建的数据结构。每当存在闪速拷贝指令时,就创建fdisk 14。fdisk 14是源盘和目标盘10的逻辑结构,而不是物理结构。在上面的第一例子中,存在从VDiskl到VDisk2的映射Map 1。当开始这个映射12 时,VDisk和fdisk被设置成使得指向VDiskl的IO (输入/输出)命令重定向到FDiskl 1, 而指向VDisk2的命令重定向到FDisk21。fdisk 14将根据通常的级联算法处理IO命令。 然后,使来自fdisk的IO命令重定向到下面的适当VDisk。
在图1的简单结构中,在创建第一映射1的闪速拷贝指令之后,fdisk 14的创建是对付更复杂级联闪速拷贝的基础。创建的每个fdiskl4可以是初级fdisk 14或次级fdisk 14。与为盘10创建fdisk 14有关的方案是,如果不存在源盘10的初级fdisk,则为源盘 10创建初级fdiskl4。另外,如果不存在目标盘10的初级fdisk,则为目标盘10创建初级 fdisk 14,或者如果已经存在目标盘10的初级fdisk,则将目标盘10的现有初级fdisk 14转换成次级fdisk 14,并为目标盘10创建新的初级fdisk 14。这种数据结构支持级联闪速拷贝的管理。
例如,在图1中,在利用映射1创建了闪速拷贝备份之后,用户反转利用实施在映射2中的闪速拷贝的过程。图3的数据结构在这个动作之后将被修改,以便看起来像图4 的数据结构。为了将VDisk2反转成VDiskl,用户创建从VDisk2到VDiskl的映射2。当开始映射2时,为VDiskl创建新的初级fdisk 14,并且将当前初级fdisk 14降级成次级角色。在图中示出了这种情况,其中创建了与VDiskl链接的新FDisk 12,并且将预先存在的 FDisk 11改变成次级fdisk。
当使未来IO命令指向VDiskl时,首先必须“清理”次级fdisk数据,然后与往常一样使IO命令指向FDiskl2。fdisk的清理牵涉到将现有数据从该源盘拷贝到级联中的第一从属映射的目标盘。在本例中,这牵涉到将数据从VDiskl拷贝到VDisk2。这样,可以保留VDisk2呈现的映像。所有未来IO命令都根据一组预定规则来管理,该组预定规则与该特定IO命令所涉及的特定盘的初级和次级fdisk的存在有关。
在图4中的结构中,fdisk可以是通过如下定义的对象 FDisk 11 Vdisk 索引1; 向上映射空; 向下映射映射1 FDisk 12 Vdisk 索引1; 向上映射映射2; 向下映射空 FDisk 21 Vdisk 索引2; 向上映射映射1 向下映射映射2 每个fdisk具有定义它所涉及的vdisk的索引,并且具有对定义级联中的原始闪速拷贝的向上及向下方向的相关映射的链接。
一般说来,每个VDisk具有初级fdisk,并且可以具有次级fdisk。VDisk可以处由其初级和次级fdisk支配的四种状态之一。这些状态是无初级fdisk,无次级fdisk ;初级fdisk有效,无次级fdisk ;初级fdisk有效,次级fdisk有效;以及无初级fdisk,次级 fdisk有效。如果无初级fdisk并且无次级fdisk,那么这意味着没有闪速拷贝级联对特定 VDisk感兴趣,因此所有IO命令都将通过。如果初级fdisk有效但无次级fdisk,那么这意味着应该将这个VDisk的IO命令传递到初级fdisk加以处理。不进行IO前清理。如果初级fdisk有效并且次级fdisk有效,那么这意味着应该将这个VDisk的IO命令传递到初级 fdisk加以处理。在IO命令的任何处理之前,首先应该清理次级fdisk。最后,如果无初级 fdisk但次级fdisk有效,那么,在处理IO命令之前,首先应该清理次级fdisk。一旦清理了次级fdisk,就让IO命令通过。
上文被描述成包括“无初级fdisk,次级fdisk有效”状态。实际上是否可以存在没有初级fdisk的VDisk取决于实现方式。例如,一种实现方式可能允许用户过早地停止映射。这将破坏可能是初级fdisk的目标fdisk。此刻,该实现方式可以将次级fdisk升级成初级fdisk,或者可以让Vdisk没有初级fdisk。由实现者决定哪种手段最合理,但两者都是可行的。
管理闪速拷贝过程以便创建数据结构的方法总结在图5中。该方法首先包括步骤 Si,步骤Sl是接收针对源盘的闪速拷贝指令的步骤。这可以通过适当的用户界面从管理员那里接收到。该方法的其余部分由作为包括各种盘的企业存储系统的一部分或附加在该企业存储系统上的处理功能执行。
第一步骤Sl的后面接着步骤S2,在步骤S2中执行源盘到目标盘的闪速拷贝。下一个步骤是步骤S3,步骤S3包括创建规定从源盘到目标盘的闪速拷贝的映射。以这种方式,执行闪速拷贝,并创建包含特定闪速拷贝的细节的映射。注意,闪速拷贝可以是先前闪速拷贝的相反过程,但在将数据从源盘拷贝到目标盘的意义上来讲,认为这两个动作都是闪速拷贝。
接着执行对源盘检查是否存在初级fdisk的步骤。如果不存在,则该方法转到步骤S4,步骤S4包括为源盘创建初级fdisk,因为不存在初级fdisk。注意,如果对于源盘已经存在fdisk,则无需对该源盘采取任何动作,该方法简单地移到下一个检查。
一旦为源盘完成了 fdisk的创建,如果需要的话,则下一个阶段是对目标盘检查是否存在初级fdisk。如果答案是否定的,则在步骤S5为目标盘创建初级fdisk,因为不存在初级fdisk。如果已经存在初级fdisk,则该方法转到步骤S6,步骤S6包括将目标盘的现有初级fdisk转换成次级fdisk。该方法的最后步骤是为目标盘创建新的初级fdisk的步马聚S7 ο 这样,每当对任何源盘做出闪速拷贝时,创建fdisk和映射的数据结构。优选的是,该方法的步骤S3还包括将创建的映射与每个所创建的初级fdisk链接。这保证了给出将支持通过盘的闪速拷贝级联的数据结构但仍然提供在级联内的不同地方获取数据的足够灵活性,而不需要任何复杂的管理员介入。
该方案还允许任何数量的次级fdisk。与一个盘相关联的fdisk的数量决定可以同时开始映射的规则。由于主IO可以继续前进之前必须完成的重定向到次级fdisk的清理IO引起的额外工作量,所以需要设定灵活性与性能之间的平衡。
如上所述,一旦针对特定盘接收到IO命令,则IO命令的处理符合与特定盘的初级和次级fdisk的存在有关的一组预定规则。有利的是,该组预定规则定义处理该IO命令之前清理次级fdisk,该清理包括将数据从该特定盘拷贝到定义在与次级fdisk链接的映射中的目标盘。
权利要求
1.一种管理闪速拷贝过程的方法,包括 接收针对源盘的闪速拷贝指令;执行源盘到目标盘的闪速拷贝; 创建规定从源盘到目标盘的闪速拷贝的映射; 如果不存在源盘的初级fdisk,则为源盘创建初级fdisk ;以及如果不存在目标盘的初级fdisk,则为目标盘创建初级fdisk,或者如果已经存在目标盘的初级fdisk,则将目标盘的现有初级fdisk转换成次级fdisk,并为目标盘创建新的初级 fdisk。
2.根据权利要求1所述的方法,进一步包括将所述映射与所述或每个所创建的初级 fdisk链接。
3.根据权利要求1或2所述的方法,进一步包括接收针对特定盘的IO命令,以及根据与该特定盘的初级和次级fdisk的存在有关的一组预定规则来处理该IO命令。
4.根据权利要求2或3所述的方法,其中,该组预定规则定义处理该IO命令之前清理次级fdisk,该清理包括将数据从该特定盘拷贝到定义在与次级fdisk链接的映射中的目标盘。
5.一种管理闪速拷贝过程的系统,包括用户界面,设置成接收针对源盘的闪速拷贝指令;以及处理器,设置成执行源盘到目标盘的闪速拷贝;创建规定从源盘到目标盘的闪速拷贝的映射;如果不存在源盘的初级fdisk,则为源盘创建初级fdisk ;以及如果不存在目标盘的初级fdisk,则为目标盘创建初级fdisk,或者如果已经存在目标盘的初级fdisk,则将目标盘的现有初级fdisk转换成次级fdisk,并为目标盘创建新的初级fdisk。
6.根据权利要求5所述的系统,其中所述处理器被进一步设置成将所述映射与所述或每个所创建的初级fdisk链接。
7.根据权利要求5或6所述的系统,其中所述处理器被进一步设置成接收针对特定盘的IO命令,以及根据与该特定盘的初级和次级fdisk的存在有关的一组预定规则来处理该 IO命令。
8.根据权利要求6或7所述的系统,其中,该组预定规则定义处理该IO命令之前清理次级fdisk,该清理包括将数据从该特定盘拷贝到定义在与次级fdisk链接的映射中的目标盘。
9.一种用于管理闪速拷贝过程的位于计算机可读介质上的计算机程序产品,所述产品包括用于执行下述操作的指令接收针对源盘的闪速拷贝指令; 执行源盘到目标盘的闪速拷贝; 创建规定从源盘到目标盘的闪速拷贝的映射; 如果不存在源盘的初级fdisk,则为源盘创建初级fdisk ;以及如果不存在目标盘的初级fdisk,则为目标盘创建初级fdisk,或者如果已经存在目标盘的初级fdisk,则将目标盘的现有初级fdisk转换成次级fdisk,并为目标盘创建新的初级 fdisk。
10.根据权利要求9所述的计算机程序产品,进一步包括将所述映射与所述或每个所创建的初级fdisk链接的指令。
11.根据权利要求9或10所述的计算机程序产品,进一步包括接收针对特定盘的IO命令,以及根据与该特定盘的初级和次级fdisk的存在有关的一组预定规则来处理该IO命令的指令。
12.根据权利要求10或11所述的计算机程序产品,其中,该组预定规则定义处理该IO 命令之前清理次级fdisk,该清理包括将数据从该特定盘拷贝到定义在与次级fdisk链接的映射中的目标盘。
全文摘要
一种管理闪速拷贝过程的方法,包括接收针对源盘的闪速拷贝指令;执行源盘到目标盘的闪速拷贝;创建规定从源盘到目标盘的闪速拷贝的映射;如果不存在源盘的初级fdisk,则为源盘创建初级fdisk;以及如果不存在目标盘的初级fdisk,则为目标盘创建初级fdisk,或者如果已经存在目标盘的初级fdisk,则将目标盘的现有初级fdisk转换成次级fdisk,并为目标盘创建新的初级fdisk。
文档编号G06F11/14GK102187317SQ200980140528
公开日2011年9月14日 申请日期2009年10月20日 优先权日2008年10月30日
发明者J·P·艾格姆巴, C·B·比肯, C·F·福恩特, W·J·斯格尔斯 申请人:国际商业机器公司
转载请注明原文地址:https://www.famiwei.com/read-5650083.html