首页> 中国专利> 对在数据复制环境中的存储功能的基于策略的管理

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

摘要

公开了一种用于管理在数据复制环境中的存储功能的方法。在一个实施例中,这样的方法包括连续地监视对在次地点的存储配置的改变。在检测到对在次地点的存储配置的改变时,该方法向主地点传输描述改变的远程元数据并且在主地点存储远程元数据。该方法然后在主地点发起被镜像到次地点的存储管理功能。为了执行存储管理功能,该方法读取在主地点的远程元数据以确定在次地点的存储配置。该方法然后以考虑在次地点的存储配置的方式在主地点执行存储管理功能。这里也公开了并且要求保护一种对应的装置、系统和计算机可读介质。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-31

    授权

    授权

  • 2014-12-24

    实质审查的生效 IPC(主分类):G06F12/00 申请日:20130304

    实质审查的生效

  • 2014-11-26

    公开

    公开

说明书

技术领域

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

背景技术

在数据复制环境(比如对等远程拷贝(“PPRC”)或者扩展式远 程拷贝(“XRC”)环境中,数据被从主存储设备被镜像到次存储设 备以维持数据的两个一致拷贝。主存储设备和次存储设备可以位于 可能相互远离数百或者甚至数千英里的不同地点。在主存储设备出 故障的情况下,I/O可以被重定向到次存储设备,由此实现连续操作。 在主存储设备被修复时,I/O可以恢复到主存储系统。

在管理在主地点的存储时,需要仔细以保证在主地点被发起的 任何操作(即,存储功能)可以被成功镜像到次地点。例如,在目 标卷在主地点被分配为接收时间点拷贝(例如,使用FlashCopy(快 速拷贝)功能)时,需要仔细以保证在次地点的对应目标卷可以接 收时间点拷贝。例如,如果时间点拷贝功能要求源卷和目标卷二者 在相同存储系统上驻留并且在主地点为满足这一要求的源卷和目标 卷发起时间点拷贝操作,则需要用于验证在次地点的对应源卷和目 标卷也满足这一要求的技术。为了在主地点做出这一确定,需要关 于在次地点的存储配置的信息。这样的信息可能在主地点不容易可 用或者可能难以从主地点访问而未降低性能。

鉴于前述,需要的是用于使远程存储配置信息在主地点可用以 便有效地管理被镜像到次地点的存储功能的系统和方法。这样的系 统和方法将理想地在主地点实现考虑在次地点的存储配置的基于策 略的决定。

发明内容

技术问题

已经响应于当前现有技术状态并且特别地响应于在本领域中的 尚未被当前可用的系统和方法完全解决的问题和需要而开发了本发 明。因而,已经开发了本发明以提供用于管理在数据复制环境中的 存储功能的系统和方法。本发明的特征和优点将从以下描述和所附 权利要求变得更完全清楚或者可以通过实践如下文阐述的本发明而 被学习。

问题的解决方案

与前文一致,这里公开了一种用于管理在数据复制环境中的存 储功能的方法。在一个实施例中,这样的方法包括连续地监视对在 次地点的存储配置的改变。在检测到对在次地点的存储配置的改变 时,该方法向主地点传输描述改变的远程元数据并且在主地点存储 远程元数据。该方法然后可以在主地点发起被镜像到次地点的存储 管理功能。为了执行存储管理功能,该方法读取在主地点的远程元 数据以确定在次地点的存储配置。该方法然后可以用考虑在次地点 的存储配置的方式在主地点执行存储管理功能。

这里也公开了并且要求保护一种对应的装置、系统和计算机可 读介质。

为了将容易地理解本发明的优点,将通过参照在附图中图示的 具体实施例来呈现以上简要描述的本发明的更特定的描述。应理解 这些附图仅描绘本发明的典型实施例并且因此不会被视为限制它的 范围,将通过使用附图用附加特性和细节描述和说明本发明。

附图说明

图1是示出了数据复制环境(比如XRC环境)的一个示例 的高级框图。

图2是示出了用于使远程元数据在主地点可用的配置更新 模块和读取模块的高级框图。

图3是示出了在主地点的存储管理器如何可以使用远程元 数据以做出存储管理决定的高级框图。

图4是示出了用于在分配时间验证远程卷仍然有资格参与 请求的存储功能的验证模块的高级框图。

图5是示出了根据本发明的更一般的系统的高级框图。

图6是示出了用于用作主存储系统或者次存储系统的存储 系统的一个示例的高级框图。

具体实施方式

将容易理解,可以在广泛多种不同配置中布置和设计如这里一 般描述和在附图中图示的本发明的部件。因此,如在附图中代表的 本发明的实施例的以下更具体描述并未旨在于限制如要求保护的本 发明的范围,而是仅代表根据本发明的当前设想的实施例的某些示 例。将通过参照附图最好地理解当前描述的实施例,其中相似部分 通篇由相似标号指明。

如本领域技术人员将认识到的那样,本发明可以被体现为一种 装置、系统、方法或者计算机程序产品。另外,本发明可以采用硬 件实施例、配置用于操作硬件的软件实施例(包括固件、常驻软件、 微代码等)或者组合这里可以被通称为“模块”或者“系统”的软件和硬 件方面的实施例的形式。另外,本发明可以采用在任何有形表达介 质中体现的计算机可读存储介质的形式,该有形表达介质具有在其 中存储的计算机可用程序代码。

可以利用一个或者多个计算机可用或者计算机可读存储介质的 任何组合以存储计算机程序产品。计算机可用或者计算机可读存储 介质可以例如是但不限于电子、磁、光、电磁、红外线或者半导体 系统、装置或者设备。计算机可读存储介质的更多具体示例(非穷 举罗列)可以包括以下示例:具有一个或者多个接线的电连接、便 携计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、 可擦除可编程只读存储器(EPROM或者闪存)、光纤、便携紧致盘 只读存储器(CDROM)、光存储设备或者磁存储设备。在本文的上 下文中,计算机可用或者计算机可读存储介质可以是任何可以包含、 存储或者传送用于由或者结合指令执行系统、装置或者设备使用的 程序的介质。

可以用一个或者多个编程语言的任何组合编写用于实现本发明 的操作的计算机程序代码,该一个或者多个编程语言包括面向对象 的编程语言(比如Java、Smalltalk、C++等)和常规过程编程语言(比 如“C”编程语言或者相似编程语言)。也可以用低级编程语言(比如 汇编语言)编写用于实施本发明的计算机程序代码。

以下可以参照根据本发明的实施例的方法、装置、系统和计算 机程序产品的流程图图示和/或框图描述本发明。将理解,流程图图 示和/或框图的每个块以及在流程图图示和/或框图中的块组合可以 由计算机程序指令或者代码实施。可以向通用计算机、专用计算机 或者其它可编程数据处理装置的处理器提供这些计算机程序指令以 产生机器,从而经由计算机或者其它可编程数据处理装置的处理器 执行的指令产生用于实施在流程图和/或框图的一个或者多个块中指 定的功能/动作的装置。

这些计算机程序指令也可以被存储于计算机可读存储介质中, 该计算机可读存储介质可以指引计算机或者其它可编程数据处理装 置以特定方式工作,从而使得在计算机可读存储介质中存储的指令 产生包括指令装置的制造品,这些指令装置实施在流程图和/或框图 的一个或者多个块中指定的功能/动作。也可以向计算机或者其它可 编程数据处理装置上加载计算机程序指令以使系列操作步骤在计算 机或者其它可编程装置上被执行以产生计算机实施的过程,从而在 计算机或者其它可编程装置上执行的指令提供用于实施在流程图和/ 或框图的一个或者多个块中指定的功能/动作的过程。

参照图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的过程可以称为“故障恢复”。

如所示,主地点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二者的访问这样的 方式来被连接。

在一些情况下,在主地点102a被发起的某些存储功能可能需要 被镜像(即重复)到次地点102b。例如,在主地点102a执行的时间 点拷贝操作可能需要在次地点102b被重复以提供数据一致性。为了 实现这一点,存储管理器110a可能需要验证存储功能可以在发起存 储功能之前在次地点102b被成功地重复。

在某些实施例中,拷贝模块108(实施时间点拷贝功能(比如快 速拷贝))可以被配置用于通过向存储管理器110a提交空间请求来 在主地点102a发起时间点拷贝功能。存储管理器110a转而可以标 识可以接收时间点拷贝的一个或者多个候选主目标卷116a。这些可 以包括目标卷116a,这些目标卷116a在与源卷112a相同的存储系 统中和/或是与源卷112a相同的镜像(即一致性组)的部分。存储管 理器110a可以通过分析本地元数据114a来标识候选目标卷116a, 该本地元数据114a描述主存储系统106a的软件和硬件配置。

除了发现在主地点102a的合格候选目标卷116a之外,存储管理 器110a还需要验证在主地点102a被执行的任何时间点拷贝操作可 以在次地点102b被重复。为了实现这一点,存储管理器110a需要 验证标识的候选主目标卷116a具有可以参与时间点拷贝操作的对应 次目标卷116b。例如,存储管理器110a可能需要验证参与时间点拷 贝操作的任何次目标卷116a在与次源卷112b相同的存储系统中和/ 或是与次源卷112b相同的镜像的部分。

存储管理器110a可以通过向次地点102b查询描述远程存储配置 的远程元数据114b来做出这一确定。然而,这一方式可能遭受到与 在主地点102a与次地点102b之间的往返距离成比例的对于每个查 询的性能惩罚。另外,可能需要针对每个请求的时间点拷贝操作为 每个候选卷116a处理查询。因此,如果有N个请求的时间点拷贝操 作、K个候选卷116a和往返距离d,则可能产生至少为2×d×N×K的 延迟。这一方式也可能具有关于远程存储配置的一些信息可能并未 通过查询而可访问这样的缺点。

备选地,远程存储配置(即,远程元数据114b)可以被存储于 在主地点102a的文件中。这可以使存储管理器110a能够简单地通 过读取和分析本地文件来做出考虑远程元数据114b的决定。然而, 在文件中的数据可能在存储配置改变在次地点102b被做出时快速变 成过期。基于过期远程元数据114b做出决定可能在次地点102b破 坏数据或者产生不一致数据。例如,在主地点102b执行不能在次地 点102b被重复的时间点拷贝操作将产生不一致数据。

参照图2,在根据本发明的某些实施例中,配置更新模块200可 以在次地点102b被提供为使远程元数据114b在主地点102a可用。 在某些实施例中,配置更新模块200是存储管理器110b的部件,因 为存储管理器110b可以被配置用于访问主存储系统106a和次存储 系统106b二者。备选地,配置更新模块200可以被实施为分离模块。 配置更新模块200可以被配置用于连续地监视对在次地点102b的存 储配置的改变。在检测到对存储配置的改变时,配置更新模块200 可以从次存储系统106b读取远程元数据114b并且向主存储系统 106a写入远程元数据114b。

在某些实施例中,空间在主存储系统106a的存储器中被保留用 于存储远程元数据114b。在某些实施例中,空间在主存储系统106a 的易失性存储器(例如,高速缓存)和持久存储器(非易失性存储 或者“NVS”)二者中被保留。将与图6关联地更具体地描述高速缓存 和NVS。在主存储系统106a中的存储器也可以存储描述主存储系统 106a的存储配置的本地元数据114a。在检测到对远程元数据114b 的改变时,配置更新模块200可以例如使用特殊更新命令向在主存 储系统106a上的保留的空间写入远程元数据114b。以这一方式,描 述远程存储配置的远程元数据114b在主地点102a被连续地保持最 新。

每当本地或者远程元数据114a、114b在主存储系统106a上被更 新时,消息可以被发送到主主机系统104a以向主主机系统104a通 知存储配置已经改变。在主机系统104a中或者与主机系统104a关 联的读取模块202然后可以读取远程元数据114b并且在主主机系统 104a的公共地可访问的存储器中存储它。一旦这一元数据被读取到 在主机系统104上的公共地可访问的存储器中,它就可以被在主机 系统104a上运行的应用快速和高效地访问,因为这消除对于每当需 要本地元数据114a或者远程元数据114b时对查询主存储系统106a 的需要。本地元数据114a和远程元数据114b可以被存储管理器110a 用来做出影响主地点102a和次地点102b二者的基于策略的决定。 例如,在选择目标卷116a以接收时间点拷贝时,存储管理器110a 可以不仅基于本地存储配置而且还基于远程存储配置选择目标卷 116a。

例如,参照图3,假设在主存储系统106a上的目标卷300a、300c、 300e各自是将作为时间点拷贝操作的目标的候选。这些目标卷300a、 300c、300e中的每个目标卷具有与在次存储系统106b上的对应的目 标卷300b、300d、300f的镜像关系。在次存储系统106b上的目标卷 中的一些目标卷300b、300f可能没有资格从源卷112b接收时间点拷 贝。例如,目标卷中的一些目标卷300b、300f可以在与次源卷112b 不同的存储系统106b上驻留和/或属于与源卷112b不同的一致性组。

通过使远程元数据114b可用于在主地点102a的存储管理器 110a,存储管理器110a将能够确定在主地点102a和次地点102b的 目标卷116b的哪些对有资格参与时间点拷贝操作。例如,如在图3 中所示,通过检查本地元数据114a和远程元数据114b,存储管理器 110a可以确定仅在主地点102a的目标卷300c和在次地点102b的对 应的目标卷300d是用于与对应的源卷112a、112b一起参与时间点 拷贝操作的有效候选。

在图2和图3中所示的技术允许存储管理器110a具有更完整的 配置信息以便做出策略决定而未遭受到与直接地查询次地点102b关 联的性能退化并且没有在依赖于人工过程时固有的不准确。更具体 而言,在主主机系统104a上的公共地可访问存储中合并远程元数据 114b可以将访问时间从毫秒(用于查询次地点102b)减少至微秒(用 于读取在主机系统104a上的公共地可访问存储)。

参照图4,在许多情况下,大量时间可能在存储管理器110a选 择目标卷300c、300d的时间与目标卷300c、300d被实际分配用于 接收时间点拷贝的时间之间流过。在这一时间段期间,在主地点102a 或者次地点120b的存储配置可能以使目标卷300c、300d无资格参 与时间点拷贝操作的方式改变。

在某些实施例中,验证模块400可以在存储控制器106a中被提 供用于验证由存储管理器110a选择的一对目标卷300c、300d在执 行分配时仍然有资格参与时间点拷贝操作。验证模块400可以使用 在主存储系统106a上存储的本地元数据114a和远程元数据114b来 执行这一验证。这可以提供用于如果存储配置自从存储管理器110a 做出它的分配决定起已经改变则拒绝请求的时间点拷贝操作的最后 机会机制。如果拒绝时间点拷贝操作,则存储管理器110a可以重新 分析位于主地点102a的本地元数据114a和远程元数据114d以发现 新的一对有资格的目标卷116a、116b。

参照图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中示出的其它特征 或者功能。

相似地,可以在次地点102b实施在主地点102a示出的某些特征 或者功能并且反之亦然。因此,描述的特征或者功能未必需要被实 施于它们被图示的位置。可以用各种不同方式设计数据复制系统 100,并且可以根据设计用不同方式和在不同位置实施公开的特征和 功能。图5示出了各种模块和部件而未将它们连结到具体硬件部件。

虽然这里已经特别参照了将时间点拷贝从主地点102a镜像到次 地点102b,但是这里公开的系统和方法不限于时间点拷贝功能。这 里公开的系统和方法适用于可能需要从主地点102a被镜像到次地点 102b的广泛多种不同存储功能或者在主地点102a被执行的需要考虑 在次地点102b的存储配置的存储功能。在任何这样的情况下,这里 公开的系统和方法可以用来使远程元数据114b在主地点102a可用。 因此,这里公开的系统和方法可以适用于广泛多种不同存储功能而 不是仅时间点拷贝。

参照图6,图示了包含存储驱动604(例如,硬盘驱动和/或固态 驱动)的阵列的存储系统106的一个实施例。示出了存储系统106 的内部部件,因为可以在这样的存储系统106内实施根据本发明的 各种特征和功能,但是特征和功能也可以适用于其它存储系统。如 所示,存储系统106包括存储控制器600、一个或者多个交换机602 和一个或者多个存储驱动604,比如硬盘驱动和/或固态驱动(比如 基于闪存的驱动)。存储控制器600可以使一个或者多个主机104 (例如,开放系统和/或大型机服务器104)能够访问在一个或者多 个存储驱动604中的数据。

在选择的实施例中,存储控制器600包括一个或者多个服务器 606。存储控制器600也可以包括用于将存储控制器600分别连接到 主机设备104和存储驱动604的主机适配器608和设备适配器610。 多个服务器606a、606b提供冗余性以保证数据总是可用于连接的主 机104。因此,在一个服务器606a出故障时,另一服务器606b可以 拾取出故障的服务器606a的I/O负荷以保证I/O能够在主机104与 存储驱动604之间继续。这一过程可以称为“故障转移”。

在选择的实施例中,每个服务器606可以包括一个或者多个处 理器612和存储器614。存储器614可以包括易失性存储器(例如, RAM)以及非易失性存储器(例如,ROM、EPROM、EEPROM、闪 存等)。易失性和非易失性存储器可以在某些实施例中存储在处理 器612上运行的并且用来访问在存储驱动604中的数据的软件模块。 服务器606可以主控这些软件模块的至少一个实例。这些软件模块 可以管理对在存储驱动604中的逻辑卷的所有读取请求和写入请求。

在选择的实施例中,存储器614包括高速缓存618,比如DRAM 高速缓存618。无论主机106(例如,开放系统或者大型机服务器106) 何时执行读取操作,执行读取的服务器606可以在再次需要数据的 情况下从存储驱动604取读该数据并且在它的高速缓存618中保存 该数据。如果主机104再次请求数据,则服务器606可以从高速缓 存618取读数据而不是从存储驱动604取读数据,从而节省时间和 资源二者。相似地,在主机104执行写入时,接收写入请求的服务 器106可以在它的高速缓存618中存储写入,并且在以后时间将写 入离台(destage)到存储驱动604。在写入在高速缓存618中被存储 时,写入也可以被存储于相反服务器606的非易失性存储(NVS) 620中,从而使得写入可以在第一服务器606出故障的情况下被相反 服务器606恢复。

如先前提到的那样,在某些实施例中,本地元数据114a和远程 元数据114b可以被存储于存储控制器600的易失性和非易失性存储 器614中。例如,本地元数据114a和远程元数据114b可以被存储 于高速缓存618和非易失性存储(NVS)620二者中。在(由于故障 或者其它事件)而丢失在高速缓存618中的本地元数据114a和/或远 程元数据114b的情况下,可以从NVS 620恢复本地元数据114a和/ 或远程元数据114b。

具有与在图6中所示的架构相似的架构的存储系统106的一个 示例是IBM DS8000TM企业存储系统。DS8000TM是被设计为支持连 续操作的提供盘和固态存储的高性能、高容量存储控制器。然而, 这里公开的方法不限于IBM DS8000TM企业存储系统106,而是可以 被实施于任何可比较或者类似存储系统中而无论与该系统关联的制 造商、产品名称或者部件或者部件名称如何。可以从本发明的一个 或者多个实施例受益的任何存储系统被视为落入本发明的范围内。 因此,IBM DS8000TM仅通过示例而被呈现而未旨在于限制。

在各图中的流程图和框图图示了根据本发明的各种实施例的系 统、方法和计算机可读介质的可能实现方式的架构、功能和操作。 就这一点而言,在流程图和/或框图中的每个块可以代表代码模块、 段或者部分,该代码模块、段或者部分包括用于实施指定的逻辑功 能的一个或者多个可执行指令。也应当指出,在一些备选实现方式 中,在块中指出的功能可以按照与各图中指出的顺序不同的顺序出 现。例如,事实上根据涉及到的功能可以基本上并行地执行接连示 出的两个块或者有时可以按照相反顺序执行块。也将指出,框图和/ 或流程图图示的每个块以及在框图和/或流程图图示中的块组合可以 由执行指定的功能或者动作的基于专用硬件的系统实施或者由专用 硬件和计算机指令的组合实施。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号