数据的远程副本的验证.pdf

上传人:Y94****206 文档编号:1033139 上传时间:2018-03-27 格式:PDF 页数:9 大小:394.03KB
返回 下载 相关 举报
摘要
申请专利号:

CN200880130176.1

申请日:

2008.07.02

公开号:

CN102084350A

公开日:

2011.06.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 15/16申请日:20080702|||公开

IPC分类号:

G06F15/16

主分类号:

G06F15/16

申请人:

惠普开发有限公司

发明人:

T. E. 布鲁宁三世

地址:

美国德克萨斯州

优先权:

专利代理机构:

中国专利代理(香港)有限公司 72001

代理人:

李娜;王洪斌

PDF下载: PDF下载
内容摘要

通过在远程第二存储系统处存储在第一存储系统中存储的数据的镜像副本,来执行该数据的同步镜像。创建存储在第一存储系统中的数据的第一快照以及创建第二存储系统中的镜像副本的第二快照。计算第一快照的第一签名和第二快照的第二签名,以及比较第一和第二签名以验证第一存储系统中的数据是否等同于第二存储系统中的镜像副本。

权利要求书

1: 一种方法, 包括 : 通过在远程第二存储系统处存储在第一存储系统中存储的数据的镜像副本, 来执行该 数据的同步镜像 ; 创建存储在第一存储系统中的数据的第一快照和第二存储系统中的镜像副本的第二 快照 ; 计算第一快照的第一签名和第二快照的第二签名 ; 以及 比较第一签名和第二签名以验证第一存储系统中的数据是否等同于第二存储系统中 的镜像副本。
2: 如权利要求 1 所述的方法, 其中比较第一和第二签名包括以下中的一个 : (1) 比较 第一和第二校验和 ; 以及 (2) 比较哈希值。
3: 如权利要求 1 所述的方法, 其中以同步方式创建第一和第二快照。
4: 如权利要求 1 所述的方法, 其中执行同步镜像包括 : 由第一存储系统接收来自于客户端系统的修改第一存储系统中的数据的请求 ; 响应于该请求, 第一存储系统向第二存储系统发送用于更新该数据的请求的指示 ; 由第一存储系统接收来自于第二存储系统的对该指示的确认 ; 以及 在第一存储系统向该客户端系统发送对该请求的处理的确认之前, 第一存储系统等待 来自于第二存储系统的确认。
5: 如权利要求 1 所述的方法, 其中创建第一快照和第二快照响应于接收到用于证实 存储在第一存储系统中的数据等同于第二存储系统中的镜像副本的验证请求。
6: 如权利要求 5 所述的方法, 还包括 : 在接收到该验证请求之后, 在创建第一快照和第二快照之前, 使存储在第一存储系统 中的数据静止。
7: 如权利要求 6 所述的方法, 还包括 : 在使第一存储系统中的数据静止之后, 在创建第一快照和第二快照之前完成在运送中 的任何写请求。
8: 第一存储系统, 包括 : 用于存储数据的至少一个存储设备 ; 处理器, 其用于 : 通过使得在远程第二存储系统处创建存储在该至少一个存储设备中的数据的镜像副 本, 来执行该数据的同步镜像 ; 响应于验证该镜像副本等同于该数据的请求, 创建存储在该至少一个存储设备中的数 据的第一快照 ; 使得在第二存储系统中创建该镜像副本的第二快照 ; 计算第一快照的第一签名 ; 从第二存储系统接收第二快照的第二签名 ; 以及 比较第一签名和第二签名以验证该至少一个存储设备中的数据是否等同于第二存储 系统中的镜像副本。
9: 如权利要求 8 所述的第一存储系统, 其中该处理器还 : 在接收到用于验证的请求之后并且在创建第一快照之前, 使该至少一个存储设备中的 2 数据存储静止。
10: 如权利要求 8 所述的第一存储系统, 其中该处理器还 : 使第一快照和第二快照的 创建同步。
11: 如权利要求 8 所述的第一存储系统, 其中第一签名和第二签名分别包括第一校验 和以及第二校验和。
12: 如权利要求 8 所述的第一存储系统, 其中第一签名和第二签名分别包括第一哈希 值和第二哈希值。
13: 如权利要求 8 所述的第一存储系统, 其中第一快照是该数据的时间点表示, 其中 该至少一个存储设备还包含对应于该数据的其它时间点表示的附加的快照, 其中该快照的 集合一起提供对该数据的基础版本做出的变化。
14: 一种包括至少一个计算机可读存储介质的物品, 该存储介质包含当运行时使得系 统进行以下操作的指令 : 通过在远程第二存储系统处存储在第一存储系统中存储的数据的镜像副本, 来执行该 数据的同步镜像 ; 创建存储在第一存储系统中的数据的第一快照和第二存储系统中的镜像副本的第二 快照 ; 计算第一快照的第一签名和第二快照的第二签名 ; 以及 比较第一签名和第二签名以验证第一存储系统中的数据是否等同于第二存储系统中 的镜像副本。
15: 如权利要求 14 所述的物品, 其中第一和第二签名包括以下中的一个 : (14) 分别为 第一和第二校验和 ; 以及 (2) 分别为第一和第二哈希值。

说明书


数据的远程副本的验证

    背景技术 为了提供存储在存储系统中的数据的保护, 一些解决方案实施镜像 (mirror) , 其 中将存储系统的数据复制到远程存储系统。可以以同步的方式执行数据的镜像, 其中在远 程存储系统处同步执行在源存储系统处 (诸如由于来自客户端设备的写请求) 对数据的任 何修改、 之后通知客户端设备已经完成写请求。 通过执行同步镜像, 远程存储系统处的远程 镜像副本不同于源存储系统的可能性被降低。
     但是, 即使执行同步镜像, 没有提供常规技术来高效地确定远程存储系统处的镜 像副本是否等同于源存储系统处的数据。 这可能是在源存储系统故障的情况下从源存储系 统到远程存储系统的成功的故障转移的障碍。因此, 可能导致操作员假定镜像副本是包含 在已经发生了故障的源存储系统中的数据的准确的复件 ; 但是, 这样的假定可能不是有效 的并且可能导致数据完整性问题。
     附图说明
     通过举例方式参考以下附图来描述本发明的一些实施例 : 图 1 是其中可以并入根据一些实施例的机制的示范性布置的框图, 该示范性布置包括 源存储系统和用于维持源存储系统中的数据的镜像副本的远程存储系统 ; 图 2 是根据实施例的验证远程镜像副本是源存储系统中的数据的等同的当前副本的 过程的流程图。具体实施方式
     根据一些实施例, 提供一种使得能够验证远程存储系统处的数据的镜像副本与存 储在源存储系统中的数据相同 (current with) (等同) 的机制。 “源” 存储系统是指主要由 一个或多个客户端系统使用来访问 (读或写) 存储在源存储系统中的数据的存储系统。另一 方面, 远程存储系统是指备用或辅助存储系统, 其在正常情况下不参与数据访问, 而是在可 能影响源存储系统中的数据可用性的事故或某种其它故障的情况下操作以存储包含在源 存储系统中的数据的副本 (镜像) 。在一些实施方式中, 远程存储系统可以位于远离源存储 系统的位置。
     在一些实施例中, 使用同步镜像技术, 其中将 (诸如由于来自于客户端系统的写请 求的) 对数据的任何修改同步传递给远程存储系统 (以使得远程存储系统可以更新它的镜 像副本) 、 之后源存储系统向请求的客户端系统提供已经完成写的确认。在某些情形下, 可 能期望验证远程存储装置中的镜像副本与存储在源存储系统中的数据相同 (等同) 。但是, 执行这样的验证可能与几个问题有关。 一个障碍是存储在源存储系统和远程存储系统中的 数据量可能相对较大, 以使得比较源存储系统和远程存储系统处的数据的副本在计算上是 不实际的。第二个障碍是在同步镜像系统中, 源存储系统和远程存储系统中的数据可能连 续地变化, 以使得精确验证源存储系统和远程存储系统处的数据的两个副本是相同的将会 很困难。为了解决这些问题, 根据一些实施例的机制创建源存储系统中的数据和远程存储 系统中的镜像副本的时间点快照 (snapshot) 。 然后创建源存储系统中的数据的时间点快照 的第一签名, 并且基于远程存储系统中的镜像副本的时间点快照创建第二签名。第一和第 二签名可以是基于源存储系统中的数据的内容和远程存储系统中的镜像副本的内容创建 的任何种类的值。作为示例, 签名可以是校验和 (诸如循环冗余校验 (CRC) 值) 、 使用哈希函 数生成的哈希值等等。存储系统中的数据的 “时间点快照” (或更简单地 “快照” ) 是指在某 个特定时间点创建的数据的某种表示。注意, 存储系统中的数据的快照无须是数据的完整 副本。相反, 快照可以仅仅包括存储系统中的数据的改变的部分。例如, 第一快照可以包含 第一时间点处数据的变化, 第二快照可以仅仅包含发生在第一时间点和第二时间点之间的 变化, 等等。 在重新创建数据的完整副本中, 将必须组合多个快照, 以及数据的基础版本 (基 础版本是指在随后创建的快照中反映的任何变化之前的数据的状态) 。
     在其它实施方式中, 可以使用其它种类的快照。
     通过比较源存储系统和远程存储系统中的快照的签名, 创建了可靠的机制来高效 地验证数据的远程镜像副本是否等同于源存储系统中的数据。 通过基于快照而不是基于底 层数据来计算签名, 根据一些实施例的机制无须在可能花费一定量时间进行签名生成的同 时强制源存储系统和远程存储系统中的底层数据保持静态。 强制源存储系统和远程存储系 统中的数据处于静态太长时间可能不利地影响存储系统性能, 这是不期望的。
     在替换实施例中, 验证远程镜像副本是否等同于源存储系统处的数据的技术还可 以在异步镜像的背景下执行。利用异步镜像, 可以在远程存储系统处的写完成之前确认源 存储系统处的对数据的写的完成。
     图 1 示出包括源存储系统 100 和远程存储系统 102 的示范性布置。源存储系统 100 包括可以存储数据 106 的一个或多个存储设备 104(例如, 基于盘的存储设备、 集成电 路存储设备等等) 。 (一个或多个) 存储设备 104 中的数据 106 可以被一个或多个客户端系 统 108(例如, 客户端计算机、 个人数字助理等等) 通过数据网络 110 访问。客户端系统 108 的访问可以包括读请求或写请求。
     源存储系统 100 包括耦合到 (一个或多个) 存储设备 104 的处理器 112。各个软件 模块可在处理器 112 上运行, 包括数据访问模块 114(用于访问 (一个或多个) 存储设备 104 中的数据) 、 镜像管理模块 116(用于在远程存储系统 102 处执行数据 106 的镜像) 、 和数据 验证模块 118(用于验证远程存储系统 102 处的镜像副本 120 与源存储系统 100 中的数据 106 相同 (等同) ) 。
     源存储系统 100 也包括网络接口 122, 以使得源存储系统 100 能够通过数据网络 110 通信。
     在远程存储系统 102 中, 提供一个或多个存储设备 122, 其中保持源存储系统 100 中的数据 106 的镜像副本 120。 (一个或多个) 存储设备 122 连接到远程存储系统 102 中的 处理器 124。包括数据访问模块 126、 镜像管理模块 128 和数据验证模块 130 的软件模块可 在处理器 124 上运行。
     远程存储系统 102 通过网络接口 132 在数据网络 110 上通信。
     分别在源存储系统 100 和远程存储系统 102 中的镜像管理模块 116 和 128 协作以 在远程存储系统 102 处执行源存储系统中的数据 106 的镜像 (作为镜像副本 120) 。分别在源存储系统 100 和远程存储系统 102 中的数据验证模块 118 和 130 协作以证实镜像副本 120 与源存储系统 100 中的数据 106 相同。
     在执行数据验证以证实镜像副本 120 等同于源存储系统 100 中的数据 106 之前, 数据验证模块 118 和 130 的每一个在源存储系统 100 中创建对应的快照 140 并且在远程存 储系统 102 中创建对应的快照 142, 并基于快照 140 和 142 生成签名。然后将这些签名相 比较以确定镜像副本 120 是否等同于数据 106。注意, 在快照 140 和 142 的创建期间, 数据 106 和镜像副本 120 将必须保持静态。但是, 创建快照 140 和 142 通常是比基于数据 106 和 镜像副本 120 生成签名快得多的过程, 以致分别在快照 140 和 142 的创建期间数据 106 和 镜像副本 120 必须保持静态的时间量将相对较小。
     由数据验证模块 118 和 130 执行的数据验证可以用于各种情形下, 包括在响应于 源存储系统 100 处的某个故障或破坏而发生故障转移的情境下。在故障转移之前, 系统操 作员或管理员可能希望知道镜像副本 120 是否是当前副本 (相对于源存储系统 100 中的数 据 106) 。如果不是, 则可以采取数据恢复步骤。但是, 如果可以证实镜像副本 120 是当前 的 (等同于数据 106) , 则该系统可以继续可靠地故障转移到远程存储系统 102, 并且使用镜 像副本 120 作为最新的数据以供客户端系统 108 访问。 证实镜像副本 120 是否是当前的还可以用在其它情境下, 以允许系统管理员证实 镜像机制是否正在正确执行。
     如上所述, 执行的镜像是同步镜像。利用同步镜像, 从客户端系统 108 到源存储系 统 100 的写请求 (其修改源存储系统 100 中的数据 106 的某部分) 将使得源存储系统 (以及 更具体地, 镜像管理模块 116) 首先将写数据和写请求发送到远程存储系统 102。在远程存 储系统 102 已经更新了镜像副本 120 之后, 远程存储系统 102(以及更具体地, 镜像管理模 块 128) 将确认发送回源存储系统 100。然后, 在源存储系统 100 已经执行了写之后, 源存储 系统 100 可以将确认发送回请求的客户端系统 108 以指示写已经完成。
     图 2 示出验证镜像副本 120 与源存储系统中的数据 106 相同的过程的流程图。该 验证可以响应于从客户端系统 108 发送的请求, 或者该验证可以响应于特定事件 (例如, 周 期性地、 异常事件、 故障事件等等) 执行。响应于诸如由源存储系统 100 的数据验证模块 118 接收到 (在 202) 验证请求, 数据验证模块 118 将该验证请求发送 (在 204) 到远程存储 系统 102, 以使得源存储系统和远程存储系统能够关于数据验证操作同步。在源存储系统 100 处, 使得对源存储系统处的数据的输入 / 输出 (I/O) 活动静止 (quiesce) (在 206) , 以 防止数据 106 在创建最新的快照之前被修改。在生成快照之前首先完成任何在运送中 (in transit) 的写请求。使源存储系统 100 中的数据 106 静止也意味着使镜像副本 120 静止。
     接着, 创建 (在 208) 源存储系统 100 中的数据 106 的快照 140 和远程存储系统处 的镜像副本 120 的另一个快照 142。以同步方式执行在源存储系统 100 和远程存储系统处 创建快照。使快照创建同步通过源存储系统 100 使数据 106 静止 (以暂时禁止数据 106 被 改变) 并且然后在使数据 106 静止之后交换消息以拍摄快照 140 和 142 来完成。
     如图 1 所示, 数据 106 的在不同时间点的各个快照 140 存储在源存储系统 100 中 的 (一个或多个) 存储设备 104 中, 并且镜像副本 120 的在不同时间点的各个快照 142 存储 在远程存储系统 102 的 (一个或多个) 存储设备 122 中。
     接着, 生成 (在 210) 源存储系统处的快照 140 的第一签名 (例如, 校验和、 哈希值)
     和远程存储系统 102 处的快照 142 的第二签名。生成快照的签名是指基于一个或多个快照 的集合 (和数据的基础版本) 生成签名, 该一个或多个快照的集合和数据的基础版本一起提 供数据的当前状态的完全表示。
     接着, 可以在源存储系统和远程存储系统之间交换校验和, 诸如由远程存储系统 102 将它的校验和发送到源存储系统 100, 或者反之亦然。在源存储系统 100 或远程存储系 统 102(从另一个存储系统接收到签名的那个) 处, 数据验证模块 118 或 130 比较 (在 212) 签名以验证镜像副本是否是当前的。
     如果否, 则可以采取某种校正动作。如果签名匹配, 则可以提供成功指示。
     在同步镜像的情境下执行上述过程。但是, 可以在异步镜像的情境下应用类似的 过程。在后一种情境下, 在使源存储系统处的 I/O 活动静止 (图 2 中的 204) 之后和在发送 验证请求 (图 2 中的 206) 之后, 但是在创建快照 (图 2 中的 208) 之前, 可以通过将自从使源 存储系统静止以来的所有改变应用于远程存储系统, 来执行将异步远程镜像副本同步的步 骤。
     注意, 在一些情形下, 可能必须执行将源存储系统处的数据的副本与远程存储系 统处的镜像副本同步的步骤, 因为有可能即使请求的客户端系统已被静止 I/O 活动可能已 经处于运送中, 使得还没有向请求的客户端系统确认 I/O 活动。 加载如上所述的软件 (包括图 1 的数据访问模块 114 和 126、 镜像管理模块 116 和 128、 以及数据验证模块 118 和 130) 的指令以在处理器 (诸如图 1 中的处理器 112 和 124) 上运行。每个处理器包括微处理器、 微控制器、 处理器模块或子系统 (包括一个或多个微处 理器或微控制器) 、 或其它控制或计算装置。 “处理器” 可以是指单个组件或多个组件。
     数据和 (软件的) 指令存储在被实施为一个或多个计算机可读或计算机可用存储 介质的相应存储设备中。存储介质包括不同形式的存储器, 包括 : 半导体存储器设备, 诸如 动态或静态随机存取存储器 (DRAM 或 SRAM) 、 可擦除可编程只读存储器 (EPROM) 、 电可擦除 可编程只读存储器 (EEPROM) 和闪速存储器 ; 磁盘, 诸如固定盘、 软盘和可移除盘 ; 包括磁带 的其它磁介质 ; 和光学介质, 诸如紧致盘 (CD) 或数字视频盘 (DVD) 。注意, 上述软件的指令 可以被提供在一个计算机可读或计算机可用存储介质上, 或者可替换地, 可以被提供在分 布在可能具有多个节点的大型系统中的多个计算机可读或计算机可用存储介质上。 认为这 样的计算机可读或计算机可用存储介质是物品 (或制品) 的一部分。物品或制品可以是指任 何制造的单个组件或多个组件。
     在前面的描述中, 阐述了很多细节以提供对本发明的理解。 但是, 本领域技术人员 将理解, 可以不用这些细节来实践本发明。 尽管已经参考有限的实施例公开了本发明, 但是 本领域技术人员将理解由此而来的很多修改和变化。 所附的权利要求书意欲覆盖落入本发 明的真正精神和范围内的这样的修改和变化。
    

数据的远程副本的验证.pdf_第1页
第1页 / 共9页
数据的远程副本的验证.pdf_第2页
第2页 / 共9页
数据的远程副本的验证.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《数据的远程副本的验证.pdf》由会员分享,可在线阅读,更多相关《数据的远程副本的验证.pdf(9页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102084350A43申请公布日20110601CN102084350ACN102084350A21申请号200880130176122申请日20080702G06F15/1620060171申请人惠普开发有限公司地址美国德克萨斯州72发明人TE布鲁宁三世74专利代理机构中国专利代理香港有限公司72001代理人李娜王洪斌54发明名称数据的远程副本的验证57摘要通过在远程第二存储系统处存储在第一存储系统中存储的数据的镜像副本,来执行该数据的同步镜像。创建存储在第一存储系统中的数据的第一快照以及创建第二存储系统中的镜像副本的第二快照。计算第一快照的第一签名和第二快照的第二签名,。

2、以及比较第一和第二签名以验证第一存储系统中的数据是否等同于第二存储系统中的镜像副本。85PCT申请进入国家阶段日2010123186PCT申请的申请数据PCT/US2008/0690252008070287PCT申请的公布数据WO2010/002408EN2010010751INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书4页附图2页CN102084359A1/2页21一种方法,包括通过在远程第二存储系统处存储在第一存储系统中存储的数据的镜像副本,来执行该数据的同步镜像;创建存储在第一存储系统中的数据的第一快照和第二存储系统中的镜像副本的第二快照;计算第一快照的第。

3、一签名和第二快照的第二签名;以及比较第一签名和第二签名以验证第一存储系统中的数据是否等同于第二存储系统中的镜像副本。2如权利要求1所述的方法,其中比较第一和第二签名包括以下中的一个(1)比较第一和第二校验和;以及(2)比较哈希值。3如权利要求1所述的方法,其中以同步方式创建第一和第二快照。4如权利要求1所述的方法,其中执行同步镜像包括由第一存储系统接收来自于客户端系统的修改第一存储系统中的数据的请求;响应于该请求,第一存储系统向第二存储系统发送用于更新该数据的请求的指示;由第一存储系统接收来自于第二存储系统的对该指示的确认;以及在第一存储系统向该客户端系统发送对该请求的处理的确认之前,第一存储。

4、系统等待来自于第二存储系统的确认。5如权利要求1所述的方法,其中创建第一快照和第二快照响应于接收到用于证实存储在第一存储系统中的数据等同于第二存储系统中的镜像副本的验证请求。6如权利要求5所述的方法,还包括在接收到该验证请求之后,在创建第一快照和第二快照之前,使存储在第一存储系统中的数据静止。7如权利要求6所述的方法,还包括在使第一存储系统中的数据静止之后,在创建第一快照和第二快照之前完成在运送中的任何写请求。8第一存储系统,包括用于存储数据的至少一个存储设备;处理器,其用于通过使得在远程第二存储系统处创建存储在该至少一个存储设备中的数据的镜像副本,来执行该数据的同步镜像;响应于验证该镜像副本。

5、等同于该数据的请求,创建存储在该至少一个存储设备中的数据的第一快照;使得在第二存储系统中创建该镜像副本的第二快照;计算第一快照的第一签名;从第二存储系统接收第二快照的第二签名;以及比较第一签名和第二签名以验证该至少一个存储设备中的数据是否等同于第二存储系统中的镜像副本。9如权利要求8所述的第一存储系统,其中该处理器还在接收到用于验证的请求之后并且在创建第一快照之前,使该至少一个存储设备中的权利要求书CN102084350ACN102084359A2/2页3数据存储静止。10如权利要求8所述的第一存储系统,其中该处理器还使第一快照和第二快照的创建同步。11如权利要求8所述的第一存储系统,其中第一。

6、签名和第二签名分别包括第一校验和以及第二校验和。12如权利要求8所述的第一存储系统,其中第一签名和第二签名分别包括第一哈希值和第二哈希值。13如权利要求8所述的第一存储系统,其中第一快照是该数据的时间点表示,其中该至少一个存储设备还包含对应于该数据的其它时间点表示的附加的快照,其中该快照的集合一起提供对该数据的基础版本做出的变化。14一种包括至少一个计算机可读存储介质的物品,该存储介质包含当运行时使得系统进行以下操作的指令通过在远程第二存储系统处存储在第一存储系统中存储的数据的镜像副本,来执行该数据的同步镜像;创建存储在第一存储系统中的数据的第一快照和第二存储系统中的镜像副本的第二快照;计算第。

7、一快照的第一签名和第二快照的第二签名;以及比较第一签名和第二签名以验证第一存储系统中的数据是否等同于第二存储系统中的镜像副本。15如权利要求14所述的物品,其中第一和第二签名包括以下中的一个(14)分别为第一和第二校验和;以及(2)分别为第一和第二哈希值。权利要求书CN102084350ACN102084359A1/4页4数据的远程副本的验证背景技术0001为了提供存储在存储系统中的数据的保护,一些解决方案实施镜像(MIRROR),其中将存储系统的数据复制到远程存储系统。可以以同步的方式执行数据的镜像,其中在远程存储系统处同步执行在源存储系统处(诸如由于来自客户端设备的写请求)对数据的任何修改。

8、、之后通知客户端设备已经完成写请求。通过执行同步镜像,远程存储系统处的远程镜像副本不同于源存储系统的可能性被降低。0002但是,即使执行同步镜像,没有提供常规技术来高效地确定远程存储系统处的镜像副本是否等同于源存储系统处的数据。这可能是在源存储系统故障的情况下从源存储系统到远程存储系统的成功的故障转移的障碍。因此,可能导致操作员假定镜像副本是包含在已经发生了故障的源存储系统中的数据的准确的复件;但是,这样的假定可能不是有效的并且可能导致数据完整性问题。附图说明0003通过举例方式参考以下附图来描述本发明的一些实施例图1是其中可以并入根据一些实施例的机制的示范性布置的框图,该示范性布置包括源存储。

9、系统和用于维持源存储系统中的数据的镜像副本的远程存储系统;图2是根据实施例的验证远程镜像副本是源存储系统中的数据的等同的当前副本的过程的流程图。具体实施方式0004根据一些实施例,提供一种使得能够验证远程存储系统处的数据的镜像副本与存储在源存储系统中的数据相同(CURRENTWITH)(等同)的机制。“源”存储系统是指主要由一个或多个客户端系统使用来访问(读或写)存储在源存储系统中的数据的存储系统。另一方面,远程存储系统是指备用或辅助存储系统,其在正常情况下不参与数据访问,而是在可能影响源存储系统中的数据可用性的事故或某种其它故障的情况下操作以存储包含在源存储系统中的数据的副本(镜像)。在一些。

10、实施方式中,远程存储系统可以位于远离源存储系统的位置。0005在一些实施例中,使用同步镜像技术,其中将(诸如由于来自于客户端系统的写请求的)对数据的任何修改同步传递给远程存储系统(以使得远程存储系统可以更新它的镜像副本)、之后源存储系统向请求的客户端系统提供已经完成写的确认。在某些情形下,可能期望验证远程存储装置中的镜像副本与存储在源存储系统中的数据相同(等同)。但是,执行这样的验证可能与几个问题有关。一个障碍是存储在源存储系统和远程存储系统中的数据量可能相对较大,以使得比较源存储系统和远程存储系统处的数据的副本在计算上是不实际的。第二个障碍是在同步镜像系统中,源存储系统和远程存储系统中的数据。

11、可能连续地变化,以使得精确验证源存储系统和远程存储系统处的数据的两个副本是相同的将会很困难。说明书CN102084350ACN102084359A2/4页50006为了解决这些问题,根据一些实施例的机制创建源存储系统中的数据和远程存储系统中的镜像副本的时间点快照(SNAPSHOT)。然后创建源存储系统中的数据的时间点快照的第一签名,并且基于远程存储系统中的镜像副本的时间点快照创建第二签名。第一和第二签名可以是基于源存储系统中的数据的内容和远程存储系统中的镜像副本的内容创建的任何种类的值。作为示例,签名可以是校验和(诸如循环冗余校验(CRC)值)、使用哈希函数生成的哈希值等等。存储系统中的数据的。

12、“时间点快照”(或更简单地“快照”)是指在某个特定时间点创建的数据的某种表示。注意,存储系统中的数据的快照无须是数据的完整副本。相反,快照可以仅仅包括存储系统中的数据的改变的部分。例如,第一快照可以包含第一时间点处数据的变化,第二快照可以仅仅包含发生在第一时间点和第二时间点之间的变化,等等。在重新创建数据的完整副本中,将必须组合多个快照,以及数据的基础版本(基础版本是指在随后创建的快照中反映的任何变化之前的数据的状态)。0007在其它实施方式中,可以使用其它种类的快照。0008通过比较源存储系统和远程存储系统中的快照的签名,创建了可靠的机制来高效地验证数据的远程镜像副本是否等同于源存储系统中的。

13、数据。通过基于快照而不是基于底层数据来计算签名,根据一些实施例的机制无须在可能花费一定量时间进行签名生成的同时强制源存储系统和远程存储系统中的底层数据保持静态。强制源存储系统和远程存储系统中的数据处于静态太长时间可能不利地影响存储系统性能,这是不期望的。0009在替换实施例中,验证远程镜像副本是否等同于源存储系统处的数据的技术还可以在异步镜像的背景下执行。利用异步镜像,可以在远程存储系统处的写完成之前确认源存储系统处的对数据的写的完成。0010图1示出包括源存储系统100和远程存储系统102的示范性布置。源存储系统100包括可以存储数据106的一个或多个存储设备104(例如,基于盘的存储设备、。

14、集成电路存储设备等等)。(一个或多个)存储设备104中的数据106可以被一个或多个客户端系统108(例如,客户端计算机、个人数字助理等等)通过数据网络110访问。客户端系统108的访问可以包括读请求或写请求。0011源存储系统100包括耦合到(一个或多个)存储设备104的处理器112。各个软件模块可在处理器112上运行,包括数据访问模块114(用于访问(一个或多个)存储设备104中的数据)、镜像管理模块116(用于在远程存储系统102处执行数据106的镜像)、和数据验证模块118(用于验证远程存储系统102处的镜像副本120与源存储系统100中的数据106相同(等同)。0012源存储系统100。

15、也包括网络接口122,以使得源存储系统100能够通过数据网络110通信。0013在远程存储系统102中,提供一个或多个存储设备122,其中保持源存储系统100中的数据106的镜像副本120。(一个或多个)存储设备122连接到远程存储系统102中的处理器124。包括数据访问模块126、镜像管理模块128和数据验证模块130的软件模块可在处理器124上运行。0014远程存储系统102通过网络接口132在数据网络110上通信。0015分别在源存储系统100和远程存储系统102中的镜像管理模块116和128协作以在远程存储系统102处执行源存储系统中的数据106的镜像(作为镜像副本120)。分别在说明。

16、书CN102084350ACN102084359A3/4页6源存储系统100和远程存储系统102中的数据验证模块118和130协作以证实镜像副本120与源存储系统100中的数据106相同。0016在执行数据验证以证实镜像副本120等同于源存储系统100中的数据106之前,数据验证模块118和130的每一个在源存储系统100中创建对应的快照140并且在远程存储系统102中创建对应的快照142,并基于快照140和142生成签名。然后将这些签名相比较以确定镜像副本120是否等同于数据106。注意,在快照140和142的创建期间,数据106和镜像副本120将必须保持静态。但是,创建快照140和142通。

17、常是比基于数据106和镜像副本120生成签名快得多的过程,以致分别在快照140和142的创建期间数据106和镜像副本120必须保持静态的时间量将相对较小。0017由数据验证模块118和130执行的数据验证可以用于各种情形下,包括在响应于源存储系统100处的某个故障或破坏而发生故障转移的情境下。在故障转移之前,系统操作员或管理员可能希望知道镜像副本120是否是当前副本(相对于源存储系统100中的数据106)。如果不是,则可以采取数据恢复步骤。但是,如果可以证实镜像副本120是当前的(等同于数据106),则该系统可以继续可靠地故障转移到远程存储系统102,并且使用镜像副本120作为最新的数据以供客。

18、户端系统108访问。0018证实镜像副本120是否是当前的还可以用在其它情境下,以允许系统管理员证实镜像机制是否正在正确执行。0019如上所述,执行的镜像是同步镜像。利用同步镜像,从客户端系统108到源存储系统100的写请求(其修改源存储系统100中的数据106的某部分)将使得源存储系统(以及更具体地,镜像管理模块116)首先将写数据和写请求发送到远程存储系统102。在远程存储系统102已经更新了镜像副本120之后,远程存储系统102(以及更具体地,镜像管理模块128)将确认发送回源存储系统100。然后,在源存储系统100已经执行了写之后,源存储系统100可以将确认发送回请求的客户端系统108。

19、以指示写已经完成。0020图2示出验证镜像副本120与源存储系统中的数据106相同的过程的流程图。该验证可以响应于从客户端系统108发送的请求,或者该验证可以响应于特定事件(例如,周期性地、异常事件、故障事件等等)执行。响应于诸如由源存储系统100的数据验证模块118接收到(在202)验证请求,数据验证模块118将该验证请求发送(在204)到远程存储系统102,以使得源存储系统和远程存储系统能够关于数据验证操作同步。在源存储系统100处,使得对源存储系统处的数据的输入/输出(I/O)活动静止(QUIESCE)(在206),以防止数据106在创建最新的快照之前被修改。在生成快照之前首先完成任何在。

20、运送中(INTRANSIT)的写请求。使源存储系统100中的数据106静止也意味着使镜像副本120静止。0021接着,创建(在208)源存储系统100中的数据106的快照140和远程存储系统处的镜像副本120的另一个快照142。以同步方式执行在源存储系统100和远程存储系统处创建快照。使快照创建同步通过源存储系统100使数据106静止(以暂时禁止数据106被改变)并且然后在使数据106静止之后交换消息以拍摄快照140和142来完成。0022如图1所示,数据106的在不同时间点的各个快照140存储在源存储系统100中的(一个或多个)存储设备104中,并且镜像副本120的在不同时间点的各个快照14。

21、2存储在远程存储系统102的(一个或多个)存储设备122中。0023接着,生成(在210)源存储系统处的快照140的第一签名(例如,校验和、哈希值)说明书CN102084350ACN102084359A4/4页7和远程存储系统102处的快照142的第二签名。生成快照的签名是指基于一个或多个快照的集合(和数据的基础版本)生成签名,该一个或多个快照的集合和数据的基础版本一起提供数据的当前状态的完全表示。0024接着,可以在源存储系统和远程存储系统之间交换校验和,诸如由远程存储系统102将它的校验和发送到源存储系统100,或者反之亦然。在源存储系统100或远程存储系统102(从另一个存储系统接收到签。

22、名的那个)处,数据验证模块118或130比较(在212)签名以验证镜像副本是否是当前的。0025如果否,则可以采取某种校正动作。如果签名匹配,则可以提供成功指示。0026在同步镜像的情境下执行上述过程。但是,可以在异步镜像的情境下应用类似的过程。在后一种情境下,在使源存储系统处的I/O活动静止(图2中的204)之后和在发送验证请求(图2中的206)之后,但是在创建快照(图2中的208)之前,可以通过将自从使源存储系统静止以来的所有改变应用于远程存储系统,来执行将异步远程镜像副本同步的步骤。0027注意,在一些情形下,可能必须执行将源存储系统处的数据的副本与远程存储系统处的镜像副本同步的步骤,因。

23、为有可能即使请求的客户端系统已被静止I/O活动可能已经处于运送中,使得还没有向请求的客户端系统确认I/O活动。0028加载如上所述的软件(包括图1的数据访问模块114和126、镜像管理模块116和128、以及数据验证模块118和130)的指令以在处理器(诸如图1中的处理器112和124)上运行。每个处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器)、或其它控制或计算装置。“处理器”可以是指单个组件或多个组件。0029数据和(软件的)指令存储在被实施为一个或多个计算机可读或计算机可用存储介质的相应存储设备中。存储介质包括不同形式的存储器,包括半导体存储器设备,诸。

24、如动态或静态随机存取存储器(DRAM或SRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪速存储器;磁盘,诸如固定盘、软盘和可移除盘;包括磁带的其它磁介质;和光学介质,诸如紧致盘(CD)或数字视频盘(DVD)。注意,上述软件的指令可以被提供在一个计算机可读或计算机可用存储介质上,或者可替换地,可以被提供在分布在可能具有多个节点的大型系统中的多个计算机可读或计算机可用存储介质上。认为这样的计算机可读或计算机可用存储介质是物品(或制品)的一部分。物品或制品可以是指任何制造的单个组件或多个组件。0030在前面的描述中,阐述了很多细节以提供对本发明的理解。但是,本领域技术人员将理解,可以不用这些细节来实践本发明。尽管已经参考有限的实施例公开了本发明,但是本领域技术人员将理解由此而来的很多修改和变化。所附的权利要求书意欲覆盖落入本发明的真正精神和范围内的这样的修改和变化。说明书CN102084350ACN102084359A1/2页8图1说明书附图CN102084350ACN102084359A2/2页9图2说明书附图CN102084350A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1