对在数据复制环境中的存储功能的基于策略的管理

申请号 CN201380014291.3 申请日 2013-03-04 公开(公告)号 CN104169890A 公开(公告)日 2014-11-26
申请人 国际商业机器公司; 发明人 N·M·克莱顿; L·J·冈迪; J·R·帕弗扎; B·A·彼得森; A·E·桑切斯; D·M·沙克尔福德; W·K·斯坦利; J·G·汤普森;
摘要 公开了一种用于管理在数据复制环境中的存储功能的方法。在一个 实施例 中,这样的方法包括连续地监视对在次地点的存储配置的改变。在检测到对在次地点的存储配置的改变时,该方法向主地点传输描述改变的远程元数据并且在主地点存储远程元数据。该方法然后在主地点发起被镜像到次地点的存储管理功能。为了执行存储管理功能,该方法读取在主地点的远程元数据以确定在次地点的存储配置。该方法然后以考虑在次地点的存储配置的方式在主地点执行存储管理功能。这里也公开了并且要求保护一种对应的装置、系统和计算机可读介质。
权利要求

1.一种用于管理在包括主地点和次地点的数据复制环境中的存储功能的方法,所述方法包括:
连续地监视对在所述次地点的存储配置的改变;
在检测到对在所述次地点的所述存储配置的改变时,向所述主地点传输描述所述改变的远程元数据;
在所述主地点存储所述远程元数据;
在所述主地点发起被镜像到所述次地点的存储管理功能;
读取在所述主地点的所述远程元数据以确定在所述次地点的所述存储配置;以及以考虑在所述次地点的所述存储配置的方式在所述主地点执行所述存储管理功能。
2.根据权利要求1所述的方法,还包括读取在所述主地点的本地元数据以确定所述主地点的存储配置。
3.根据权利要求2所述的方法,其中执行所述存储管理功能包括以除了在所述次地点的所述存储配置之外还考虑在所述主地点的所述存储配置的方式执行所述存储管理功能。
4.根据权利要求1所述的方法,其中所述存储管理功能是时间点拷贝功能。
5.根据权利要求4所述的方法,其中考虑在所述次地点的所述存储配置包括验证与所述时间点拷贝功能关联的源和目标位于在所述次地点的同一存储系统中。
6.根据权利要求4所述的方法,其中考虑在所述次地点的所述存储配置包括验证在所述主地点的目标和在所述次地点的对应目标是同一一致性组的一部分。
7.根据权利要求1所述的方法,其中在所述主地点存储所述远程元数据包括在所述主地点的主机系统和存储系统中的至少一个系统上存储所述远程元数据。
8.根据权利要求7所述的方法,其中读取在所述主地点的所述远程元数据包括由在所述主地点的所述主机系统读取在所述存储系统和所述主机系统中的至少一个系统上的所述远程元数据。
9.一种计算机可读存储介质,存储用于管理在包括主地点和次地点的数据复制环境中的存储功能的计算机可用程序代码,所述计算机可用程序代码包括:
用于连续地监视对在所述次地点的存储配置的改变的计算机可用程序代码;
用于在检测到对在所述次地点的所述存储配置的改变时向所述主地点传输描述所述改变的远程元数据的计算机可用程序代码;
用于在所述主地点存储所述远程元数据的计算机可用程序代码;
用于在所述主地点发起被镜像到所述次地点的存储管理功能的计算机可用程序代码;
用于读取在所述主地点的所述远程元数据以确定在所述次地点的所述存储配置的计算机可用程序代码;以及
用于以考虑在所述次地点的所述存储配置的方式在所述主地点执行所述存储管理功能的计算机可用程序代码。
10.根据权利要求9所述的计算机可读存储介质,还包括用于读取在所述主地点的本地元数据以确定所述主地点的存储配置的计算机可用程序代码。
11.根据权利要求10所述的计算机可读存储介质,其中执行所述存储管理功能包括以除了在所述次地点的所述存储配置之外还考虑在所述主地点的所述存储配置的方式执行所述存储管理功能。
12.根据权利要求9所述的计算机可读存储介质,其中所述存储管理功能是时间点拷贝功能。
13.根据权利要求12所述的计算机可读存储介质,其中考虑在所述次地点的所述存储配置包括验证与所述时间点拷贝功能关联的源和目标位于在所述次地点的同一存储系统中。
14.根据权利要求12所述的计算机可读存储介质,其中考虑在所述次地点的所述存储配置包括验证在所述次地点的源和在所述次地点的目标是同一一致性组的一部分。
15.根据权利要求9所述的计算机可读存储介质,其中在所述主地点存储所述远程元数据包括在所述主地点的存储系统和主机系统中的至少一个系统上存储所述远程元数据。
16.根据权利要求15所述的计算机可读存储介质,其中读取在所述主地点的所述远程元数据包括由在所述主地点的所述主机系统读取在所述主地点的所述存储系统和所述主机系统中的至少一个系统上的所述远程元数据。
17.一种用于管理在包括主地点和次地点的数据复制环境中的存储功能的装置,所述装置包括:
至少一个处理器;
至少一个存储器设备,所述至少一个存储器设备耦合到所述至少一个处理器并且存储指令,所述指令可由所述至少一个处理器执行以使所述至少一个处理器:
连续地监视对在所述次地点的存储配置的改变;
在检测到对在所述次地点的所述存储配置的改变时向所述主地点传输描述所述改变的远程元数据;
在所述主地点存储所述远程元数据;
在所述主地点发起被镜像到所述次地点的存储管理功能;
读取在所述主地点的所述远程元数据以确定在所述次地点的所述存储配置;以及以考虑在所述次地点的所述存储配置的方式在所述主地点执行所述存储管理功能。
18.根据权利要求17所述的装置,其中所述指令还使所述至少一个处理器读取在所述主地点的本地元数据以确定所述主地点的存储配置。
19.根据权利要求18所述的装置,其中执行所述存储管理功能包括以除了在所述次地点的所述存储配置之外还考虑在所述主地点的所述存储配置的方式执行所述存储管理功能。
20.根据权利要求17所述的装置,其中所述存储管理功能是时间点拷贝功能。
21.根据权利要求20所述的装置,其中考虑在所述次地点的所述存储配置包括验证与所述时间点拷贝功能关联的源和目标位于在所述次地点的同一存储系统中。
22.根据权利要求20所述的装置,其中考虑在所述次地点的所述存储配置包括验证在所述次地点的源和在所述次地点的目标是同一一致性组的一部分。
23.根据权利要求17所述的装置,其中在所述主地点存储所述远程元数据包括在所述主地点的存储系统和主机系统中的至少一个系统上存储所述远程元数据。
24.一种用于管理在包括主地点和次地点的数据复制环境中的存储功能的系统,所述系统包括:
次主机系统,用于连续地监视对在所述次地点的存储配置的改变;
所述次主机系统还被配置用于在检测到对在所述次地点的所述存储配置的改变时向所述主地点传输描述所述改变的远程元数据;
在所述主地点的存储系统,用于存储所述远程元数据;
主主机系统,用于在所述主地点发起被镜像到所述次地点的存储管理功能;
所述主主机系统还被配置用于读取在所述主地点的所述远程元数据以确定在所述次地点的所述存储配置;以及
所述主主机系统还被配置用于以考虑在所述次地点的所述存储配置的方式在所述主地点执行所述存储管理功能。

说明书全文

对在数据复制环境中的存储功能的基于策略的管理

技术领域

[0001] 本发明涉及数据复制环境,并且更特别地涉及用于管理在数据复制环境中的存储功能的系统和方法。

背景技术

[0002] 在数据复制环境(比如对等远程拷贝(“PPRC”)或者扩展式远程拷贝(“XRC”)环境中,数据被从主存储设备被镜像到次存储设备以维持数据的两个一致拷贝。主存储设备和次存储设备可以位于可能相互远离数百或者甚至数千英里的不同地点。在主存储设备出故障的情况下,I/O可以被重定向到次存储设备,由此实现连续操作。在主存储设备被修复时,I/O可以恢复到主存储系统。
[0003] 在管理在主地点的存储时,需要仔细以保证在主地点被发起的任何操作(即,存储功能)可以被成功镜像到次地点。例如,在目标卷在主地点被分配为接收时间点拷贝(例如,使用FlashCopy(快速拷贝)功能)时,需要仔细以保证在次地点的对应目标卷可以接收时间点拷贝。例如,如果时间点拷贝功能要求源卷和目标卷二者在相同存储系统上驻留并且在主地点为满足这一要求的源卷和目标卷发起时间点拷贝操作,则需要用于验证在次地点的对应源卷和目标卷也满足这一要求的技术。为了在主地点做出这一确定,需要关于在次地点的存储配置的信息。这样的信息可能在主地点不容易可用或者可能难以从主地点访问而未降低性能。
[0004] 鉴于前述,需要的是用于使远程存储配置信息在主地点可用以便有效地管理被镜像到次地点的存储功能的系统和方法。这样的系统和方法将理想地在主地点实现考虑在次地点的存储配置的基于策略的决定。

发明内容

[0005] 技术问题
[0006] 已经响应于当前现有技术状态并且特别地响应于在本领域中的尚未被当前可用的系统和方法完全解决的问题和需要而开发了本发明。因而,已经开发了本发明以提供用于管理在数据复制环境中的存储功能的系统和方法。本发明的特征和优点将从以下描述和所附权利要求变得更完全清楚或者可以通过实践如下文阐述的本发明而被学习。
[0007] 问题的解决方案
[0008] 与前文一致,这里公开了一种用于管理在数据复制环境中的存储功能的方法。在一个实施例中,这样的方法包括连续地监视对在次地点的存储配置的改变。在检测到对在次地点的存储配置的改变时,该方法向主地点传输描述改变的远程元数据并且在主地点存储远程元数据。该方法然后可以在主地点发起被镜像到次地点的存储管理功能。为了执行存储管理功能,该方法读取在主地点的远程元数据以确定在次地点的存储配置。该方法然后可以用考虑在次地点的存储配置的方式在主地点执行存储管理功能。
[0009] 这里也公开了并且要求保护一种对应的装置、系统和计算机可读介质。
[0010] 为了将容易地理解本发明的优点,将通过参照在附图中图示的具体实施例来呈现以上简要描述的本发明的更特定的描述。应理解这些附图仅描绘本发明的典型实施例并且因此不会被视为限制它的范围,将通过使用附图用附加特性和细节描述和说明本发明。

附图说明

[0011] 图1是示出了数据复制环境(比如XRC环境)的一个示例的高级框图
[0012] 图2是示出了用于使远程元数据在主地点可用的配置更新模和读取模块的高级框图。
[0013] 图3是示出了在主地点的存储管理器如何可以使用远程元数据以做出存储管理决定的高级框图。
[0014] 图4是示出了用于在分配时间验证远程卷仍然有资格参与请求的存储功能的验证模块的高级框图。
[0015] 图5是示出了根据本发明的更一般的系统的高级框图。
[0016] 图6是示出了用于用作主存储系统或者次存储系统的存储系统的一个示例的高级框图。

具体实施方式

[0017] 将容易理解,可以在广泛多种不同配置中布置和设计如这里一般描述和在附图中图示的本发明的部件。因此,如在附图中代表的本发明的实施例的以下更具体描述并未旨在于限制如要求保护的本发明的范围,而是仅代表根据本发明的当前设想的实施例的某些示例。将通过参照附图最好地理解当前描述的实施例,其中相似部分通篇由相似标号指明。
[0018] 如本领域技术人员将认识到的那样,本发明可以被体现为一种装置、系统、方法或者计算机程序产品。另外,本发明可以采用硬件实施例、配置用于操作硬件的软件实施例(包括固件、常驻软件、微代码等)或者组合这里可以被通称为“模块”或者“系统”的软件和硬件方面的实施例的形式。另外,本发明可以采用在任何有形表达介质中体现的计算机可读存储介质的形式,该有形表达介质具有在其中存储的计算机可用程序代码。
[0019] 可以利用一个或者多个计算机可用或者计算机可读存储介质的任何组合以存储计算机程序产品。计算机可用或者计算机可读存储介质可以例如是但不限于电子、磁、光、电磁、红外线或者半导体系统、装置或者设备。计算机可读存储介质的更多具体示例(非穷举罗列)可以包括以下示例:具有一个或者多个接线的电连接、便携计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携紧致盘只读存储器(CDROM)、光存储设备或者磁存储设备。在本文的上下文中,计算机可用或者计算机可读存储介质可以是任何可以包含、存储或者传送用于由或者结合指令执行系统、装置或者设备使用的程序的介质。
[0020] 可以用一个或者多个编程语言的任何组合编写用于实现本发明的操作的计算机程序代码,该一个或者多个编程语言包括面向对象的编程语言(比如Java、Smalltalk、C++等)和常规过程编程语言(比如“C”编程语言或者相似编程语言)。也可以用低级编程语言(比如汇编语言)编写用于实施本发明的计算机程序代码。
[0021] 以下可以参照根据本发明的实施例的方法、装置、系统和计算机程序产品的流程图图示和/或框图描述本发明。将理解,流程图图示和/或框图的每个块以及在流程图图示和/或框图中的块组合可以由计算机程序指令或者代码实施。可以向通用计算机、专用计算机或者其它可编程数据处理装置的处理器提供这些计算机程序指令以产生机器,从而经由计算机或者其它可编程数据处理装置的处理器执行的指令产生用于实施在流程图和/或框图的一个或者多个块中指定的功能/动作的装置。
[0022] 这些计算机程序指令也可以被存储于计算机可读存储介质中,该计算机可读存储介质可以指引计算机或者其它可编程数据处理装置以特定方式工作,从而使得在计算机可读存储介质中存储的指令产生包括指令装置的制造品,这些指令装置实施在流程图和/或框图的一个或者多个块中指定的功能/动作。也可以向计算机或者其它可编程数据处理装置上加载计算机程序指令以使系列操作步骤在计算机或者其它可编程装置上被执行以产生计算机实施的过程,从而在计算机或者其它可编程装置上执行的指令提供用于实施在流程图和/或框图的一个或者多个块中指定的功能/动作的过程。
[0023] 参照图1,图示了数据复制系统100的一个实施例。在某些实施例中,数据复制系统100是异步数据复制系统100(比如IBM的扩展式远程拷贝(XRC)),但是这里公开的系统和方法可以被扩展成其它类型的异步和同步数据复制系统。如所示,数据复制系统100包括位于主地点102a和次地点102b的各种部件。主地点102a可以包括用作主生产系统的部件,而次地点102b可以包括备份在主地点102a的部件的部件。在故障在主地点102a出现的情况下,I/O可以被重定向到次地点102b,由此实现连续操作。在修复了在主地点102a的故障时,I/O可以恢复到主地点102a。将I/O从主地点102a重定向到次地点102b的过程可以被称为“故障转移”。将I/O重定向到主地点102a的过程可以称为“故障恢复”。
[0024] 如所示,主地点102a包括主主机系统104a和一个或者多个主存储系统106a。次地点102b包括次主机系统104b和一个或者多个次存储系统106b。在XRC环境中,数据从在主存储系统106a上的一个或者多个卷被异步地镜像到在次存储系统106b上的一个或者多个卷。在主地点102a的存储管理器110a(例如,DFSMS)可以管理在主存储系统106a上的卷。相似地,在次地点102b的存储管理器110b(例如,DFSMS)可以管理在次存储系统106b上的卷。在次地点102b的存储管理器110b可以包括用于如在XRC系统中出现的那样将数据从主卷112a、116a镜像(即,拷贝)到次卷112b、116b的功能。为了实现这一点,在次地点102b的存储管理器110b可以用它具有对主存储系统106a和次存储系统106b二者的访问这样的方式来被连接。
[0025] 在一些情况下,在主地点102a被发起的某些存储功能可能需要被镜像(即重复)到次地点102b。例如,在主地点102a执行的时间点拷贝操作可能需要在次地点102b被重复以提供数据一致性。为了实现这一点,存储管理器110a可能需要验证存储功能可以在发起存储功能之前在次地点102b被成功地重复。
[0026] 在某些实施例中,拷贝模块108(实施时间点拷贝功能(比如快速拷贝))可以被配置用于通过向存储管理器110a提交空间请求来在主地点102a发起时间点拷贝功能。存储管理器110a转而可以标识可以接收时间点拷贝的一个或者多个候选主目标卷116a。这些可以包括目标卷116a,这些目标卷116a在与源卷112a相同的存储系统中和/或是与源卷112a相同的镜像(即一致性组)的部分。存储管理器110a可以通过分析本地元数据114a来标识候选目标卷116a,该本地元数据114a描述主存储系统106a的软件和硬件配置。
[0027] 除了发现在主地点102a的合格候选目标卷116a之外,存储管理器110a还需要验证在主地点102a被执行的任何时间点拷贝操作可以在次地点102b被重复。为了实现这一点,存储管理器110a需要验证标识的候选主目标卷116a具有可以参与时间点拷贝操作的对应次目标卷116b。例如,存储管理器110a可能需要验证参与时间点拷贝操作的任何次目标卷116a在与次源卷112b相同的存储系统中和/或是与次源卷112b相同的镜像的部分。
[0028] 存储管理器110a可以通过向次地点102b查询描述远程存储配置的远程元数据114b来做出这一确定。然而,这一方式可能遭受到与在主地点102a与次地点102b之间的往返距离成比例的对于每个查询的性能惩罚。另外,可能需要针对每个请求的时间点拷贝操作为每个候选卷116a处理查询。因此,如果有N个请求的时间点拷贝操作、K个候选卷
116a和往返距离d,则可能产生至少为2×d×N×K的延迟。这一方式也可能具有关于远程存储配置的一些信息可能并未通过查询而可访问这样的缺点。
[0029] 备选地,远程存储配置(即,远程元数据114b)可以被存储于在主地点102a的文件中。这可以使存储管理器110a能够简单地通过读取和分析本地文件来做出考虑远程元数据114b的决定。然而,在文件中的数据可能在存储配置改变在次地点102b被做出时快速变成过期。基于过期远程元数据114b做出决定可能在次地点102b破坏数据或者产生不一致数据。例如,在主地点102b执行不能在次地点102b被重复的时间点拷贝操作将产生不一致数据。
[0030] 参照图2,在根据本发明的某些实施例中,配置更新模块200可以在次地点102b被提供为使远程元数据114b在主地点102a可用。在某些实施例中,配置更新模块200是存储管理器110b的部件,因为存储管理器110b可以被配置用于访问主存储系统106a和次存储系统106b二者。备选地,配置更新模块200可以被实施为分离模块。配置更新模块200可以被配置用于连续地监视对在次地点102b的存储配置的改变。在检测到对存储配置的改变时,配置更新模块200可以从次存储系统106b读取远程元数据114b并且向主存储系统106a写入远程元数据114b。
[0031] 在某些实施例中,空间在主存储系统106a的存储器中被保留用于存储远程元数据114b。在某些实施例中,空间在主存储系统106a的易失性存储器(例如,高速缓存)和持久存储器(非易失性存储或者“NVS”)二者中被保留。将与图6关联地更具体地描述高速缓存和NVS。在主存储系统106a中的存储器也可以存储描述主存储系统106a的存储配置的本地元数据114a。在检测到对远程元数据114b的改变时,配置更新模块200可以例如使用特殊更新命令向在主存储系统106a上的保留的空间写入远程元数据114b。以这一方式,描述远程存储配置的远程元数据114b在主地点102a被连续地保持最新。
[0032] 每当本地或者远程元数据114a、114b在主存储系统106a上被更新时,消息可以被发送到主主机系统104a以向主主机系统104a通知存储配置已经改变。在主机系统104a中或者与主机系统104a关联的读取模块202然后可以读取远程元数据114b并且在主主机系统104a的公共地可访问的存储器中存储它。一旦这一元数据被读取到在主机系统104上的公共地可访问的存储器中,它就可以被在主机系统104a上运行的应用快速和高效地访问,因为这消除对于每当需要本地元数据114a或者远程元数据114b时对查询主存储系统106a的需要。本地元数据114a和远程元数据114b可以被存储管理器110a用来做出影响主地点102a和次地点102b二者的基于策略的决定。例如,在选择目标卷116a以接收时间点拷贝时,存储管理器110a可以不仅基于本地存储配置而且还基于远程存储配置选择目标卷116a。
[0033] 例如,参照图3,假设在主存储系统106a上的目标卷300a、300c、300e各自是将作为时间点拷贝操作的目标的候选。这些目标卷300a、300c、300e中的每个目标卷具有与在次存储系统106b上的对应的目标卷300b、300d、300f的镜像关系。在次存储系统106b上的目标卷中的一些目标卷300b、300f可能没有资格从源卷112b接收时间点拷贝。例如,目标卷中的一些目标卷300b、300f可以在与次源卷112b不同的存储系统106b上驻留和/或属于与源卷112b不同的一致性组。
[0034] 通过使远程元数据114b可用于在主地点102a的存储管理器110a,存储管理器110a将能够确定在主地点102a和次地点102b的目标卷116b的哪些对有资格参与时间点拷贝操作。例如,如在图3中所示,通过检查本地元数据114a和远程元数据114b,存储管理器110a可以确定仅在主地点102a的目标卷300c和在次地点102b的对应的目标卷300d是用于与对应的源卷112a、112b一起参与时间点拷贝操作的有效候选。
[0035] 在图2和图3中所示的技术允许存储管理器110a具有更完整的配置信息以便做出策略决定而未遭受到与直接地查询次地点102b关联的性能退化并且没有在依赖于人工过程时固有的不准确。更具体而言,在主主机系统104a上的公共地可访问存储中合并远程元数据114b可以将访问时间从毫秒(用于查询次地点102b)减少至微秒(用于读取在主机系统104a上的公共地可访问存储)。
[0036] 参照图4,在许多情况下,大量时间可能在存储管理器110a选择目标卷300c、300d的时间与目标卷300c、300d被实际分配用于接收时间点拷贝的时间之间流过。在这一时间段期间,在主地点102a或者次地点120b的存储配置可能以使目标卷300c、300d无资格参与时间点拷贝操作的方式改变。
[0037] 在某些实施例中,验证模块400可以在存储控制器106a中被提供用于验证由存储管理器110a选择的一对目标卷300c、300d在执行分配时仍然有资格参与时间点拷贝操作。验证模块400可以使用在主存储系统106a上存储的本地元数据114a和远程元数据114b来执行这一验证。这可以提供用于如果存储配置自从存储管理器110a做出它的分配决定起已经改变则拒绝请求的时间点拷贝操作的最后机会机制。如果拒绝时间点拷贝操作,则存储管理器110a可以重新分析位于主地点102a的本地元数据114a和远程元数据114d以发现新的一对有资格的目标卷116a、116b。
[0038] 参照图5,已经示出了在具体硬件部件(比如具体主机系统和存储系统)中实施与图1至图4关联地描述的各种特征或者功能。然而,特征或者功能不限于在所示的硬件部件中的实现方式。例如,可以在存储系统106a、106b中实施或者跨越主机系统104a、104b和存储系统106a、106b分布在主机系统104a、104b中示出的一些特征和功能(即,拷贝模块108、存储管理器110a、110b、配置更新模块200、读取模块202和验证模块400的特征或者功能)。可以在主机系统104a、104b中实施或者跨越主机系统104a、104b和存储系统106a、
106b分布在存储系统106a、106b中示出的其它特征或者功能。
[0039] 相似地,可以在次地点102b实施在主地点102a示出的某些特征或者功能并且反之亦然。因此,描述的特征或者功能未必需要被实施于它们被图示的位置。可以用各种不同方式设计数据复制系统100,并且可以根据设计用不同方式和在不同位置实施公开的特征和功能。图5示出了各种模块和部件而未将它们连结到具体硬件部件。
[0040] 虽然这里已经特别参照了将时间点拷贝从主地点102a镜像到次地点102b,但是这里公开的系统和方法不限于时间点拷贝功能。这里公开的系统和方法适用于可能需要从主地点102a被镜像到次地点102b的广泛多种不同存储功能或者在主地点102a被执行的需要考虑在次地点102b的存储配置的存储功能。在任何这样的情况下,这里公开的系统和方法可以用来使远程元数据114b在主地点102a可用。因此,这里公开的系统和方法可以适用于广泛多种不同存储功能而不是仅时间点拷贝。
[0041] 参照图6,图示了包含存储驱动604(例如,硬盘驱动和/或固态驱动)的阵列的存储系统106的一个实施例。示出了存储系统106的内部部件,因为可以在这样的存储系统106内实施根据本发明的各种特征和功能,但是特征和功能也可以适用于其它存储系统。如所示,存储系统106包括存储控制器600、一个或者多个交换机602和一个或者多个存储驱动604,比如硬盘驱动和/或固态驱动(比如基于闪存的驱动)。存储控制器600可以使一个或者多个主机104(例如,开放系统和/或大型机服务器104)能够访问在一个或者多个存储驱动604中的数据。
[0042] 在选择的实施例中,存储控制器600包括一个或者多个服务器606。存储控制器600也可以包括用于将存储控制器600分别连接到主机设备104和存储驱动604的主机适配器608和设备适配器610。多个服务器606a、606b提供冗余性以保证数据总是可用于连接的主机104。因此,在一个服务器606a出故障时,另一服务器606b可以拾取出故障的服务器606a的I/O负荷以保证I/O能够在主机104与存储驱动604之间继续。这一过程可以称为“故障转移”。
[0043] 在选择的实施例中,每个服务器606可以包括一个或者多个处理器612和存储器614。存储器614可以包括易失性存储器(例如,RAM)以及非易失性存储器(例如,ROM、EPROM、EEPROM、闪存等)。易失性和非易失性存储器可以在某些实施例中存储在处理器612上运行的并且用来访问在存储驱动604中的数据的软件模块。服务器606可以主控这些软件模块的至少一个实例。这些软件模块可以管理对在存储驱动604中的逻辑卷的所有读取请求和写入请求。
[0044] 在选择的实施例中,存储器614包括高速缓存618,比如DRAM高速缓存618。无论主机106(例如,开放系统或者大型机服务器106)何时执行读取操作,执行读取的服务器606可以在再次需要数据的情况下从存储驱动604取读该数据并且在它的高速缓存618中保存该数据。如果主机104再次请求数据,则服务器606可以从高速缓存618取读数据而不是从存储驱动604取读数据,从而节省时间和资源二者。相似地,在主机104执行写入时,接收写入请求的服务器106可以在它的高速缓存618中存储写入,并且在以后时间将写入离台(destage)到存储驱动604。在写入在高速缓存618中被存储时,写入也可以被存储于相反服务器606的非易失性存储(NVS)620中,从而使得写入可以在第一服务器606出故障的情况下被相反服务器606恢复。
[0045] 如先前提到的那样,在某些实施例中,本地元数据114a和远程元数据114b可以被存储于存储控制器600的易失性和非易失性存储器614中。例如,本地元数据114a和远程元数据114b可以被存储于高速缓存618和非易失性存储(NVS)620二者中。在(由于故障或者其它事件)而丢失在高速缓存618中的本地元数据114a和/或远程元数据114b的情况下,可以从NVS 620恢复本地元数据114a和/或远程元数据114b。
[0046] 具有与在图6中所示的架构相似的架构的存储系统106的一个示例是IBM TM TMDS8000 企业存储系统。DS8000 是被设计为支持连续操作的提供盘和固态存储的高性能、TM
高容量存储控制器。然而,这里公开的方法不限于IBM DS8000 企业存储系统106,而是可以被实施于任何可比较或者类似存储系统中而无论与该系统关联的制造商、产品名称或者部件或者部件名称如何。可以从本发明的一个或者多个实施例受益的任何存储系统被视为TM
落入本发明的范围内。因此,IBM DS8000 仅通过示例而被呈现而未旨在于限制。
[0047] 在各图中的流程图和框图图示了根据本发明的各种实施例的系统、方法和计算机可读介质的可能实现方式的架构、功能和操作。就这一点而言,在流程图和/或框图中的每个块可以代表代码模块、段或者部分,该代码模块、段或者部分包括用于实施指定的逻辑功能的一个或者多个可执行指令。也应当指出,在一些备选实现方式中,在块中指出的功能可以按照与各图中指出的顺序不同的顺序出现。例如,事实上根据涉及到的功能可以基本上并行地执行接连示出的两个块或者有时可以按照相反顺序执行块。也将指出,框图和/或流程图图示的每个块以及在框图和/或流程图图示中的块组合可以由执行指定的功能或者动作的基于专用硬件的系统实施或者由专用硬件和计算机指令的组合实施。
QQ群二维码
意见反馈