CN108415793A - 经由日志操作修改复制组的成员资格 - Google Patents
经由日志操作修改复制组的成员资格 Download PDFInfo
- Publication number
- CN108415793A CN108415793A CN201810054301.0A CN201810054301A CN108415793A CN 108415793 A CN108415793 A CN 108415793A CN 201810054301 A CN201810054301 A CN 201810054301A CN 108415793 A CN108415793 A CN 108415793A
- Authority
- CN
- China
- Prior art keywords
- virtual volume
- duplicate
- state
- volume
- copy group
- 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.)
- Granted
Links
Classifications
-
- 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
- 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
-
- 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/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/1425—Reconfiguring to eliminate the error by reconfiguration of node membership
-
- 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
- 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/1464—Management of the backup or restore process for networked environments
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2064—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- 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/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及经由日志操作修改复制组的成员资格,提供了一种控制包括复制组的存储系统的示例方法,所述方法可包括:通过存储源站点处的虚拟卷的日志条目来将虚拟卷添加到复制组。日志条目可包括:用于将虚拟卷钩到对应复制品卷的元数据;和指示虚拟卷的状态的数据。所述方法还可包括:向复制品站点发送消息,指示复制品站点创建虚拟卷的对应复制品卷并且存储复制品卷的复制品日志条目。所述方法还可包括:基于复制品站点是否能够成功地创建复制品卷并且存储复制品日志条目确定是将虚拟卷的状态设置为未决容许还是设置为新容许。未决容许状态可指示虚拟卷将不会被包括在下一同步操作中,并且新容许的状态可指示虚拟卷将会被包括在下一同步操作中。
Description
背景技术
存储系统可提供复制服务,所述复制服务可在位于不同站点的存储装置之间复制数据。
附图说明
图1是图示包括源站点、复制品站点和网络的示例系统的概念示图。
图2是图示用于存储日志条目的示例复制组成员资格数据结构的概念示图。
图3是图示将虚拟卷添加到复制组的示例过程的过程流程图。
图4是图示关于将虚拟卷添加到复制组的另一示例过程的过程流程图。
图5是图示从复制组去除虚拟卷的示例过程的过程流程图。
图6是图示关于从复制组去除虚拟卷的另一示例过程的过程流程图。
图7是图示示例同步操作的过程流程图。
图8是图示存储示例自适应探测(sounding)控制指令的示例非暂态机器可读介质的框图。
具体实施方式
存储系统可从位于一个站点(以下“主站点”或“源站点”)的存储装置向位于另一站点(以下,“复制品站点”)的存储装置复制数据以提供冗余。例如,复制品站点可在地理上远离主站点以在主站点的站点范围宽的问题的情况下提供冗余。作为由存储系统提供的复制服务的一部分,存储系统可允许复制组的创建,所述复制组是将要与数据一致性一起复制的虚拟卷收集。在这个上下文中的数据一致性意味着:位于复制品站点的复制品卷与复制组中的所有卷的时间点“快照”(复制组中的所有卷的相同时间点)一致。换句话说,数据一致性意味着:每次执行复制操作时,位于主站点的复制中的每个虚拟卷的各快照被以原子方式复制到复制品站点,其中每个快照来自相同时间点。与数据一致性一起复制复制组中的虚拟卷的操作可在本文中被称为“同步操作”。
本文描述的示例存储系统可提供复制组,其中对于复制组周期性地(即,按照指定时间间隔)执行同步操作。在某些示例中,可使用示例日志操作修改复制组的成员资格(例如,虚拟卷可被添加到复制组和/或被从复制组去除)。特别地,虚拟卷可通过下述操作而被添加到复制组:在主站点存储特别包括虚拟卷的状态标志的虚拟卷的日志条目,然后向复制品站点发送消息以通过在复制品处制作日志条目来添加对应复制品卷。另外,通过改变虚拟卷的日志条目中的状态标志以指示去除,虚拟卷可被从复制组去除。在发生下一同步操作时,虚拟卷的处理可取决于它的当前状态(如虚拟卷的日志条目中的状态标志所指示)。特别地,在发生下一同步操作时,具有新容许的状态的虚拟卷可被同步到复制品站点,和/或具有未决去除状态的虚拟卷的去除可被完成。
通过使用示例日志操作,复制组成员资格可被修改,而不需要主站点和复制品站点之间的链路在修改时工作。另外,通过使用示例日志操作,复制组成员资格可被修改,而不在执行修改的同时停止复制组。停止复制组意味着:阻止对所述组执行周期性同步操作,直至所述组被重新启动。
进而,使用示例日志操作还允许在复制组的成员资格被修改的时间点与卷上的数据一致地更新复制组的成员资格。换句话说,除了数据一致性之外,示例日志操作还允许在一定时间点在组成员资格和数据之间存在一致性。更具体地讲,对于每个同步操作,在一定时间点的组的成员资格和在相同时间点的数据的快照可被以原子方式复制到复制品站点。因此,例如,如果复制品站点将要被回滚到前一时间点(例如,作为失败切换机制的一部分),则针对前一时间点,在前一时间点的组成员资格和数据都将会被正确地表示在复制品站点。
[示例存储系统]
图1图示示例存储系统10。示例存储系统10可包括主站点100(也偶尔在本文被称为源站点)和复制品站点200,主站点100和复制品站点200可经网络300以可通信方式连接。主站点100可包括存储阵列110、处理电路120和存储装置122。类似地,复制品站点200可包括存储阵列210、处理电路220和存储装置222。
网络300可包括一个或多个通信路径(链路),所述一个或多个通信路径(链路)可静态地或动态地连接主站点100和复制品站点200。在某些示例中,网络300可包括许多有效联网装置(诸如,交换机、路由器等),所述联网装置可形成主站点100和远程站点200之间的链路。在其它示例中,网络300可省略任何有效网络装置 - 例如,网络300可包括直接连接主站点100和远程站点200的线缆。
在某些示例中,存储阵列110、处理电路120和存储装置122可全部被包括作为同一装置的一部分(即,位于同一底盘内),而在其它示例中,一些或全部的存储阵列110、处理电路120和存储装置122可被包括在分开的装置中(即,位于分开的底盘内)。类似地,在某些示例中,存储阵列210、处理电路220和存储装置222可全部被包括作为同一装置的一部分,而在其它示例中,一些或全部的存储阵列210、处理电路220和存储装置222可被包括在分开的装置中。在某些示例中,主站点100和复制品站点200可位于不同地理位置(例如,位于不同建筑物、位于不同城市、位于不同州、位于不同国家等),而在其它示例中,主站点100和复制品站点200可一起位于相同地理位置处。
存储阵列110可包括一个或多个物理存储装置111。存储阵列210也可包括一个或多个物理存储装置211。物理存储装置111和211可包括任何非易失性存储介质,诸如磁存储介质(例如,硬盘驱动)、非易失性存储器(NVM)(例如,闪速驱动(aka固态驱动)、忆阻器、电池支持的RAM等)、磁带驱动等。物理存储装置110和210未必需要全部都包括相同类型的存储介质。
存储在存储阵列110中的数据的物理位置可由处理电路120经存储虚拟化技术提取。特别地,处理电路120可形成各种虚拟化级,所述各种虚拟化级均可包括许多虚拟(aka逻辑)存储空间,每个虚拟存储空间映射到另一虚拟存储空间或映射到存储阵列110的物理存储位置。特别地,处理电路可形成许多虚拟卷112,所述虚拟卷112是客户端装置可见的虚拟存储空间。每个虚拟卷112未必对应于单个物理存储装置111 - 例如,多个虚拟卷112可映射到单个物理存储装置111,并且单个虚拟卷112可映射到多个物理存储装置111。输入到给定虚拟化级的数据的结构未必与存储在下一虚拟化级或存储在存储阵列110的物理存储位置的数据的结构相同。例如,某些虚拟化层可提供可改变最终存储在物理存储位置的数据的结构的功能,诸如对数据进行编码、对数据进行交错、对数据进行条带化、实现RAID级等等。
处理电路220可使用与上述那些存储虚拟化技术类似的存储虚拟化技术。特别地,处理电路220可形成复制品卷212,所述复制品卷212均可是虚拟存储空间,所述虚拟存储空间是虚拟卷112之一的复制品。在这个情境下,复制品卷212是虚拟卷112的“复制品”意味着:复制品卷212存储与虚拟卷112上的数据的时间点拷贝或快照对应的数据。复制品卷212中存储的数据未必需要具有与它在虚拟卷112中的结构正好相同的结构,只要可从复制品卷212恢复来自虚拟卷112的数据的时间点拷贝即可。例如,复制品卷212可存储虚拟卷112的初始快照,然后可周期性地(即,作为每个同步操作的一部分)存储指示自从上一次同步操作以来已发生于虚拟卷112的变化的数据。
处理电路120可控制存储阵列110,包括管理虚拟卷112和如上所述的其它虚拟存储空间。处理电路120还可管理本文描述的复制服务,包括执行包括同步操作、失败切换操作和恢复操作的操作。具体地讲,处理电路120可形成包括至少两个虚拟卷112的复制组115,并且可执行本文描述的复制组修改操作(例如,将虚拟卷112添加到复制组115和/或从复制组115去除虚拟卷112)。
处理电路220可控制存储阵列210,包括管理复制品卷212和如上所述的其它虚拟存储空间。处理电路220还可管理本文描述的复制服务,包括执行同步操作、失败切换操作和恢复操作。具体地讲,处理电路220可形成用于复制组115中的虚拟卷的复制品卷212,并且可参与本文描述的复制组修改操作。
处理电路120和220均可包括处理器和专用电路的任何组合。特别地,处理电路120和220均可包括能够执行机器可读指令的一个或多个处理器,诸如中央处理单元(CPU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用指令集处理器(ASIP)等。这种机器可读指令可被例如存储在存储装置122和/或存储装置222中,并且当由处理电路120和/或220执行时,可使处理电路120和/或220执行本文描述的一些或全部操作。处理电路120和220还均可包括专用电路以执行本文描述的一个、一些或全部操作。这种专用电路的示例可包括专用集成电路(ASIC)、复杂可编程逻辑器件(CPLD)等等。
存储装置122和222均可存储可由处理电路120和220分别执行的机器可读指令,诸如复制组成员资格修改指令124(以下“指令124”)和复制组成员资格修改指令224(以下“指令224”)。特别地,当指令124和224被执行时,指令124和224可分别使处理电路120和220执行本文结合复制组的成员资格的修改描述的操作 - 具体地讲,关于将虚拟卷112添加到复制组115和/或从复制组115去除虚拟卷112的操作。特别地,指令124和/或224可包括用于执行图3-7中示出的一些或全部操作的指令。存储装置122和222均可以是任何非暂态机器可读介质,所述非暂态机器可读介质可包括易失性存储介质(例如,DRAM、SRAM等)和/或非易失性存储介质(例如,PROM、EPROM、EEPROM、NVRAM、闪存、硬驱动、光盘等)。在处理电路120完全由专用电路构成并且不包括处理器的示例中,存储装置122/222和指令124/224可被省略。
通常,处理电路120(和指令124,如果包括的话)可被配置为至少执行本文关于主站点100描述的操作。类似地,处理电路220(和指令224,如果包括的话)可被配置为至少执行本文关于复制品站点100描述的操作。
然而,在某些示例中,处理电路120(和指令124,如果包括的话)可另外被配置为执行本文关于复制品站点200描述的一些或全部操作,并且处理电路220(和指令224,如果包括的话)可另外被配置为执行本文关于主站点100描述的一些或全部操作。换句话说,在一些示例中,主站点100可被配置为不仅执行本文关于主站点100描述的操作,还可以能够执行本文关于复制品站点200描述的一些或全部操作,并且对于复制品站点200,反之亦然。在这种示例中,主站点100和复制品站点200可以能够颠倒角色。换句话说,复制品站点200可以能够充当主,并且主站点100可以能够充当复制品。在这种示例中,指令124和指令224可以是相同的指令集,并且处理电路120和220可根据主站点100和复制品站点200的当前角色选择性地执行指令124/224的部分。
例如,作为失败切换机制的一部分,可发生这种角色的变化。例如,如果主站点100将要停机,则复制品站点200可以能够接替充当主,包括处理来自客户端装置的I/O请求。当主站点100恢复在线时,复制品站点200可执行恢复操作,所述恢复操作向回将数据同步至主站点100。
图1图示这样的示例,其中处理电路120和220是处理电路的分开的实例。然而,在某些示例中,处理电路120和220可由处理电路的单个实例形成 - 也就是说,处理电路的单个实例可用作处理电路120和220这二者。在这种示例中,存储装置的单个实例可用作存储装置122和222这二者,并且单个指令集可用作指令124/224。
虽然一个主站点100和一个复制品站点200被示出在图1中,但这仅是一个示例并且能够包括另外的主站点和复制品站点。例如,多个主站点可复制到单个复制品站点,并且单个主站点可复制到多个复制品站点。
[示例组成员资格修改操作]
如上所述,复制组成员资格修改可包括将虚拟卷添加到复制组以及从复制组去除虚拟卷,并且在本文描述的示例中,可经由日志操作做出这种修改,将在以下更详细地描述所述日志操作。这些日志操作还可具有用于同步、失败切换和/或恢复操作的分支,并且因此,这种操作的各部分将在以下被描述为组成员资格修改操作的一部分。将首先描述虚拟卷添加,然后描述虚拟卷去除,然后描述失败切换和恢复,因为相关,所以与添加和去除操作一起描述同步操作。
[示例性虚拟卷添加操作]
虚拟卷112可通过下述操作而被添加到复制组115:在主站点100存储虚拟卷112的日志条目,包括标注虚拟卷112的未决容许状态;向复制品站点200发送消息,指示复制品站点200通过在复制品站点存储复制品日志条目来添加与虚拟卷112对应的复制品卷;并且基于复制品站点200是否能够成功地存储复制品日志条目来确定是否改变虚拟卷112的状态。特别地,日志条目可包括用于将虚拟卷112钩到对应复制品卷212的元数据和指示虚拟卷112的状态的数据,其中在初始创建日志条目时的虚拟卷112的状态是未决容许。虚拟卷112的状态可例如由日志条目中的状态标志指示。
日志条目可被例如与作为复制组115的成员的其它虚拟卷的日志条目一起存储在组成员资格数据结构50中。例如,日志条目可被存储在存储系统10的目录表(TOC)中。在某些示例中,组成员资格数据结构50可被冗余地存储在超过一个(也许全部)物理存储装置111中。图2图示组成员资格数据结构50的一个示例,每个行对应于示例日志条目。图2中的每个示例日志条目包括虚拟卷112的标识(VV ID)、为虚拟卷112指定的选项、用于将复制品卷212钩到虚拟卷112的元数据和用于指示各种状态的状态标志。在图2中,示例状态标志包括未决容许标志、新容许标志、同步中标志、已同步标志、未决去除标志、临近去除标志和预未决去除标志。图2仅是一个示例,并且应该理解,日志条目能够包括更多或更少的信息,包括更多或更少的状态标志。
在某些示例中,日志条目还可包括指定要如何在各种情况下处理虚拟卷112的选项。例如,所述选项可包括数据,所述数据指定:是否需要组成员资格和卷数据一致性、当将复制品虚拟卷添加到组时如何处理失败等。
发送给复制品站点200的消息可包括例如可由远程站点200用作创建与新添加的虚拟卷112对应的复制品卷212的一部分的信息。例如,所述消息可包括在主站点100存储在日志条目中的元数据的拷贝,所述元数据的拷贝可用于将新创建的复制品卷212钩到虚拟卷112。所述消息还可包括来自存储在主站点100的日志条目的一些或全部选项。所述消息中所包括的信息(例如,元数据和选项)可由复制品站点200存储为日志条目。复制品日志条目还可存储复制品卷212的状态,所述复制品卷212的状态可初始地被设置为新容许。存储在复制品站点200的日志条目可在本文被称为复制品日志条目以将它区别于存储在主站点100的日志条目。在成功地创建与虚拟卷112对应的复制品卷212并且存储复制品日志条目时,复制品站点200可将确认发送回给主站点100,所述确认包括成功的指示。如果复制品站点200从主站点100接收到消息但由于某种原因不能创建复制品卷212,则复制品站点200可将确认发送回给主站点100,所述确认包括失败和/或错误代码的指示。
复制品日志条目可类似于日志条目,并且可被按照与日志条目如何被存储在主站点100类似的方式存储在复制品站点200。然而,在某些示例中,复制品日志条目可省略未决容许标志;在某些其它示例中,复制品日志条目可包括未决容许标志但可避免使用未决容许标志(除非复制品站点200在失败切换期间正在用作主)。
如上所述,用于将虚拟卷112添加到复制组115的日志操作可包括:基于复制品站点200是否能够成功地创建虚拟卷112的复制品卷212并且存储复制品日志条目,确定是否改变虚拟卷112的状态。更具体地讲,如果确定复制品站点200成功地创建了复制品卷212并且存储复制品日志条目,则虚拟卷112的状态被从未决容许改变为新容许。
“未决容许”状态指示:虚拟卷112处于正被添加到复制组115的过程中,但该过程还未完成。更具体地讲,未决容许状态指示:主站点100已存储虚拟卷112的日志条目,但复制品站点200还未创建虚拟卷112的复制品卷212或还未存储它的复制品日志条目。因此,在同步操作开始时具有未决容许状态的任何虚拟卷112不被作为同步操作的一部分同步。具有未决容许状态的虚拟卷112可被称为未决容许虚拟卷112。在某些示例中,未决容许状态被用在主站点100,但不被用在复制品站点200(除非复制品站点200正在充当主)。
“新容许”状态指示:虚拟卷112已被容许进入组115,但虚拟卷112的数据还未被同步到复制品站点200。更具体地讲,新容许状态指示:主站点100和复制品站点200二者都已存储虚拟卷112的日志条目,但虚拟卷112的数据还未被同步到复制品站点200。因此,当下一同步操作开始时具有新容许状态的任何虚拟卷112被包括在同步操作中 - 也就是说,具有新容许状态的虚拟卷112的时间点快照(连同已经在组115中的其它虚拟卷112的快照一起)被同步到复制品站点200。具有新容许状态的虚拟卷112可被称为新容许的虚拟卷112。因为新容许的虚拟卷112和已经容许的虚拟卷112的快照针对相同时间点,所以在新容许的虚拟卷112和已经容许的虚拟卷112之间保持数据一致性。在成功完成同步操作时,新容许的虚拟卷112的状态可在位于主站点100的日志条目中被更新为已容许状态(例如,已同步状态)。另外,在某些示例中,虚拟卷112的复制品卷212的状态可在位于复制品站点200的对应复制品日志条目中被更新为已容许状态。因为对于复制组115的所有成员而言同步操作是原子方式的,所以除非所有新容许和已经容许的虚拟卷115都被成功地同步,否则同步操作未被成功地完成。如果同步操作未能成功地完成,则新容许的虚拟卷112的状态可在它们的日志条目中维持为新容许。类似地,如果同步操作未能成功地完成,则新容许的虚拟卷112的复制品卷212的状态可在它们的复制品日志条目中维持为新容许。
“同步中”状态指示虚拟卷112当前正被作为仍然进行的当前同步操作的一部分同步,而“已同步”状态指示虚拟卷被作为最近完成的同步操作的一部分成功地同步了。同步中状态和已同步状态这二者都是在本文可被称为“已容许状态”的状态的示例。当下一同步操作开始时,在那时具有已容许状态的任何虚拟卷112连同任何新容许的虚拟卷112一起被包括在同步中。具有已容许状态的虚拟卷112可被称为已容许的虚拟卷112。
在某些示例中,可发生虚拟卷112的添加,而不停止复制组115。特别地,不需要停止复制组115以便在主站点100制作日志条目或在复制品站点200创建复制品卷212并且存储复制品日志条目。因此,例如,在当前正在执行同步操作的同时,虚拟卷112可被添加到复制组115,而不中断同步操作。
在某些示例中,即使当主站点100和复制品站点200之间的链路不工作时,也可发生虚拟卷112的添加。特别地,主站点100可制作虚拟卷112的日志条目,而不管所述链路是否工作。链路的禁用导致虚拟卷112的状态被设置为未决容许,但随后当链路被重新启用时,消息可被重新发送给复制品站点200,并且虚拟卷112的状态可发展成新容许。
图3图示将虚拟卷112添加到复制组115的示例过程。图3的示例过程可例如由主站点100响应于接收到用于将虚拟卷112添加到复制组115的请求而执行。例如,处理器(诸如,处理电路120中所包括的处理器)可执行机器可读指令(诸如,指令124或1010),所述机器可读指令使处理器执行与图3的示例过程对应的操作。
在块301中,主站点100存储虚拟卷112的日志条目,所述日志条目包括虚拟卷112具有未决容许状态的指示。该过程随后前进至块302。
在块302中,主站点100向复制品站点200发送消息,指示复制品站点200存储虚拟卷112的复制品日志条目。该过程随后前进至块303。
在块303中,主站点100确定复制品站点200是否成功地创建了复制品卷212并且存储了复制品日志条目。例如,如果主站点100在指定时间段内从复制品站点接收到返回的指示成功的确认,则主站点100可确定复制品站点200成功地创建了复制品卷212并且存储了复制品日志条目,否则,可确定复制品站点200未创建复制品卷212并且未存储复制品日志条目。作为另一示例,当尝试向复制品站点200发送消息时,如果主站点100检测到主站点100和复制品站点200之间的链路未工作,则主站点可确定复制品站点200未成功地创建复制品卷212和存储复制品日志条目,而不等待确认。作为另一示例,如果主站点100接收到指示失败的确认,则主站点100可确定复制品站点200未创建复制品卷212和存储复制品日志条目。如果答案是“是”(复制品站点200成功地创建复制品卷212和存储复制品日志条目),则该过程前进至块304。如果答案是“否”(复制品站点200未成功地创建复制品卷212和存储复制品日志条目),则该过程前进至块305。
在块304中,主站点100将日志条目中虚拟卷112的状态改变为新容许状态。该过程随后结束。
在块305中,主站点100将虚拟卷112的状态保持为未决容许。在某些示例中,在执行块305之后,还可执行图4中示出的过程,如引用 “A”所指示。在其它示例中,该过程可在块305之后结束。
图4图示用于处理其状态是未决容许的虚拟卷的示例过程。例如,处理器(诸如,处理电路120中所包括的处理器)可执行机器可读指令(诸如,指令124或1010),所述机器可读指令使处理器执行与图4的示例过程对应的操作。在某些示例中,当复制品站点200未能成功地存储未决容许虚拟卷112的日志条目时(例如,响应于执行图3的块305),可由主站点100执行图4的示例过程。在某些示例中,源站点100可周期性地检查具有未决容许状态的任何虚拟卷112,并且响应于识别具有未决容许状态的虚拟卷112,可对虚拟卷112执行图4的过程。
在块306中,主站点100确定复制组115是否具有对组成员资格一致性的要求(除了数据一致性之外)。例如,当复制组115被首次建立时和/或在复制组115正在操作的同时,可例如对于复制组115选择性地启用或禁用这种要求。例如,客户端可选择是否要对复制组115强加这种要求。如果答案是“是”(存在对组成员资格一致性的要求),则该过程前进至块307。如果答案是“否”(不存在对组成员资格一致性的要求),则该过程前进至块308。在某些示例中,总是存在组成员资格一致性要求,并且不存在禁用这种要求的选项;在这种示例中,决定块306可被省略,并且该过程可直接开始于块307。在某些示例中,从不存在组成员资格一致性要求,并且不存在启用这种要求的选项;在这种示例中,决定块306可被省略,并且该过程可直接开始于块308。
在块307中,复制组115被停止。停止复制组115意味着:阻止按照复制组115的正常安排的间隔对复制组115执行同步操作,直至复制组115被重新启动。该过程随后前进至块308。
在块308中,一旦到达指定定时,主站点100尝试向复制品站点200重新发送消息(例如,重试尝试可按照指定间隔发生)。该过程随后前进至块309。在某些示例中,日志条目中所包括的选项之一可指定是否可做出尝试以重新发送消息和/或可做出多少次这种尝试;在这种示例中,如果未选择允许重新发送尝试的选项或者如果已达到尝试的最大次数,则块308可被省略,在这种情况下,可产生错误报告并且该过程可结束。
在块309中,按照以上相对于图3的过程的块303描述的相同方式,主站点100确定复制品站点200是否成功地创建复制品卷212和存储复制品日志条目。如果答案是“是”(复制品站点成功地创建复制品卷212和存储复制品日志条目),则该过程前进至块311。如果答案是“否”(复制品站点未成功地创建复制品卷212和存储复制品日志条目),则该过程前进至块310并且随后最终循环回到块308。
在块310中,主站点100将虚拟卷112的状态保持为未决容许状态。该过程随后循环回到块308。
在块311中,主站点100将虚拟卷112的状态改变为新容许状态。另外,如果复制组115被停止,则复制组115可被重新启动(即,可重新开始周期性同步操作)。该过程可随后结束。
在上述示例中,在首次存储日志条目时的虚拟卷112的初始状态是未决容许状态,然后,如果复制品站点200成功地创建复制品卷212,则虚拟卷112的状态被改变为新容许。然而,在其它示例中,在首次存储日志条目时,虚拟卷112可具有不同初始状态(或根本没有初始状态),并且如果复制品站点200未能创建复制品卷212,则虚拟卷112的状态可被改变为未决容许。在这种示例中,如果初始状态是不同于新容许的某种状态,则在复制品站点200成功地创建复制品卷212的情况下,虚拟卷112的状态可被改变为新容许;然而,如果初始状态是新容许,则在复制品站点200成功地创建复制品卷212的情况下,所述状态可保持为新容许。
[示例虚拟卷去除操作]
通过将位于主站点100的虚拟卷112的日志条目中的虚拟卷112的状态改变为未决去除状态并且随后等待下一周期性同步操作发生,虚拟卷112可被从复制组115去除。
“未决去除”状态指示:虚拟卷112处于正被从复制组115去除的过程中,但该过程还未完成。更具体地讲,未决去除状态指示:虚拟卷112将不会在下一同步操作被同步,并且在下一同步操作完成时,虚拟卷112将会被提示去除。
在下一同步操作的开始,对于具有未决去除状态的虚拟卷112,复制品站点200可被指示在存储在复制品站点200的复制品日志条目中将与虚拟卷112对应的复制品卷212的状态改变为未决去除。然后,不包括未决去除虚拟卷112的复制组115可被从主站点100同步到复制品站点200。如果整个复制组115(不包括未决去除虚拟卷112)的同步成功地完成,则主站点100将虚拟卷112的状态改变为临近去除并且提示从复制组115去除虚拟卷112。另外,如果同步成功地完成,则复制品站点200也可在复制品日志条目中将与虚拟卷112对应的复制品卷212的状态改变为临近去除。然而,如果同步未成功地完成,则虚拟卷112的状态可保持为未决去除。类似地,如果同步未成功地完成,则与虚拟卷112对应的复制品卷212的状态可保持为未决去除。
“临近去除”状态指示:虚拟卷112(或复制品卷220)要被从复制组115去除,并且在它被标记为去除之后,同步已成功地完成。一旦设置,临近去除状态将会总是最终导致从组115去除虚拟卷112和复制品卷212,而不管在设置该状态之后是否发生失败切换事件。这与未决去除状态形成对比,未决去除状态可被设置,然而有时,如果发生失败切换事件,则未决去除状态可能不会导致虚拟卷112/复制品卷212的去除。将在以下关于失败切换操作更详细地描述这些现象。
在某些示例中,在一些虚拟卷112的去除被请求时,所述一些虚拟卷112不立即使它们的状态改变为未决去除。替代地,一些虚拟卷112可使它们的状态改变为预未决去除状态。具有预未决去除状态的虚拟卷112在下一同步操作期间被同步,然后在下一同步操作完成之后,预未决去除虚拟卷112的状态可被改变为未决去除(因此,虚拟卷112可被如上所述处理)。具体地讲,对于每个同步操作,具有预未决状态的任何虚拟卷112在该同步操作期间被同步,并且它们的状态:(A)如果同步操作未能完成,则保持为预未决去除,或(B)如果同步操作成功地完成,则改变为未决去除。
例如,其在源站点100的重新同步快照不与在复制品站点200的复制品匹配的虚拟卷112可使它们的状态改变为预未决去除。虚拟卷112的重新同步快照代表在上一次成功地完成的同步操作的末尾的对应复制品卷112的内容。因此,虚拟卷的当前重新同步快照可与作为上一次同步操作的一部分为虚拟卷112创建的同步快照相同 - 例如,一旦同步操作完成,用在同步操作中的同步快照可被转换成重新同步快照。例如,当前正被同步的虚拟卷112可具有不与它们在复制品站点200的复制品匹配的在源站点100的重新同步快照,并且因此,可使它们的状态改变为预未决去除。作为另一示例,具有新容许状态的虚拟卷112可能不具有与在复制品站点200的复制品匹配的在源站点100的重新同步快照,并且可使它们的状态改变为预未决去除。在某些示例中,如果当虚拟卷112具有未决容许状态时接收到去除虚拟卷112的请求,则虚拟卷112可被立即去除,而不等待下一同步操作。特别地,未决容许虚拟卷111的状态可被改变临近去除,并且虚拟卷112可被提示去除。
图5图示用于从复制组115去除虚拟卷112的示例过程。所述过程可例如由主站点100响应于接收到用于从复制组115去除虚拟卷112的请求而执行。例如,处理器(诸如,处理电路120中所包括的处理器)可执行机器可读指令(诸如,指令124或1010),所述机器可读指令使处理器执行与图5的示例过程对应的操作。
在块401中,主站点100确定虚拟卷是否具有与存储在复制品站点200的复制品匹配的重新同步快照。
如果块401中的答案是“否”,则该过程继续前进至块402,在块402中,主站点100将虚拟卷的状态改变为预未决去除。该过程可随后继续前进至图6的过程的引用B。
如果块401中的答案是“是”,则该过程继续前进至块403,在块403中,主站点100将虚拟卷112的状态改变为未决去除。该过程随后前进至块402。
在块404中,主站点100等待下一周期性同步操作。在下一同步操作开始时,该过程前进至块405。在同步操作期间或作为同步操作的一部分执行的操作(诸如,块405-409)可在图5中由附图标记410指示。
在块405中,主站点100指示复制品站点200将与虚拟卷112对应的复制品卷212的状态改变为未决去除状态。该过程随后前进至块406。
在块406中,不包括未决去除虚拟卷112的复制组115被同步到复制品站点200。该过程随后前进至块407。
在块407中,确定复制组115的同步是否成功地完成。换句话说,确定是否复制组115(不包括虚拟卷112)的同步快照被复制到复制品站点100并且在主站点100成功地创建复制组115的重新同步快照。如果答案是“是”(复制组的同步成功地完成),则该过程前进至块408。如果答案是“否”(复制组的同步未成功地完成),则该过程前进至块409。
在块408中,主站点100将虚拟卷112的状态改变为临近去除,并且提示从组115去除虚拟卷112。在某些示例中,复制品站点200也可将与虚拟卷112对应的复制品卷212的状态改变为临近去除,并且提示从组115去除复制品卷212。该过程可随后结束。
在块409中,主站点100将虚拟卷112的状态保持为未决去除。在某些示例中,复制品站点200也可将与虚拟卷112对应的复制品卷212的状态保持为未决去除。该过程可随后循环回到块404以等待下一同步操作。
在某些示例中,每次执行同步操作时,可执行图5的过程的部分。特别地,在某些示例中,每次执行同步操作时,可执行图5的过程,开始于块405(即,省略块401-404)。
另外,在未使用预未决去除状态的示例存储系统10中,图5的块401和402可被省略,并且该过程可开始于块403。
需要注意的是,从复制组115去除虚拟卷112并不意味着虚拟卷112必须被删除。特别地,去除的虚拟卷112可继续操作,它们仅是不再被相对于复制组115一致性地复制。去除的虚拟卷112是否也被删除可例如取决于虚拟卷112的状态、在日志条目中指定的选项、复制组115的配置、客户端的指令等。
图6图示用于处理具有预未决去除状态的虚拟卷112的示例过程。例如,在执行图5的块402之后,可执行图6的过程。还可例如在每个同步操作时执行图6的过程。例如,处理器(诸如,处理电路120中所包括的处理器)可执行机器可读指令(诸如,指令124或1010),所述机器可读指令使处理器执行与图6的示例过程对应的操作。
在块411中,主站点100等待下一周期性同步操作。在下一同步操作开始时,该过程前进至块412。在同步操作期间或作为同步操作的一部分执行的操作(诸如,块412-415)可在图6中由附图标记410指示。
在块412中,包括预未决去除虚拟卷112的复制组115被同步到复制品站点200。该过程随后前进至块413。
在块413中,确定复制组115的同步是否成功地完成。换句话说,确定是否复制组115(包括虚拟卷112)的同步快照被复制到了复制品站点100并且在主站点100成功地创建了复制组115的重新同步快照。如果答案是“是”(复制组115的同步成功地完成),则该过程前进至块414。如果答案是“否”(复制组115的同步未成功地完成),则该过程前进至块415。
在块414中,主站点100将虚拟卷112的状态改变为未决去除。该过程可随后结束。在某些示例中,可在完成图6的过程之后执行图5的过程。
在块415中,主站点100将虚拟卷112的状态保持为预未决去除。该过程可随后循环回到块411以等待下一同步操作。
[示例同步操作]
图7图示示例同步操作。可由主站点100对复制组115执行所述示例同步操作。例如,处理器(诸如,处理电路120中所包括的处理器)可执行机器可读指令(诸如,指令124或1010),所述机器可读指令使处理器执行与图7的示例过程对应的操作。例如,同步操作可被周期性地执行。
对当前位于复制组115中(即,当前具有日志条目)的每个虚拟卷110执行块601-603。在块601-603中,基于虚拟卷112的当前状态,虚拟卷112被识别为被包括在当前同步中或被从当前同步排除。特别地,在块601中,如果虚拟卷110具有未决容许状态,则虚拟卷110被从当前同步排除。在块602中,如果虚拟卷110具有新容许状态、已容许状态或预未决去除状态,则虚拟卷110被包括在当前同步中。在块603中,如果虚拟卷110具有未决去除状态,则虚拟卷110被从当前同步排除,并且对应复制品卷212的状态在复制品站点200被改变为未决去除。该过程随后继续前进至块605。
在块605中,复制组115(不包括在块601和603中排除的任何虚拟卷112)被同步。特别地,可针对将要被包括在当前同步中的每个虚拟卷112针对相同时间点产生同步快照,同步快照可被复制到复制品站点200,然后在同步成功完成时,源站点100可将同步快照转换成重新同步快照。
在块606中,确定同步是否成功地完成。因为同步是原子操作,所以如果指定参与的所有虚拟卷112被成功地复制,则同步被视为成功地完成。
如果块606中的答案是“是”(同步成功地完成),则该过程继续前进至块607至609,对当前位于复制组115中(即,当前具有日志条目)的每个虚拟卷110执行块607至609。在块607中,如果虚拟卷112具有新容许状态,则虚拟卷112的状态被改变为已容许状态。在块608中,如果虚拟卷112具有未决去除状态,则虚拟卷112的状态被改变为临近去除并且虚拟卷112被提示从组115去除。在某些示例中,在块608中,如果虚拟卷112具有未决去除状态,则对应复制品卷212的状态也被改变为临近去除并且复制品卷212也被提示去除。在块609中,如果虚拟卷112具有预未决去除状态,则虚拟卷112的状态被改变为未决去除。该过程可随后结束。
如果块606中的答案是“否”(同步未成功地完成),则该过程继续前进至块610,对当前位于复制组115中(即,当前具有日志条目)的每个虚拟卷110执行块610。在块610中,如果虚拟卷112具有未决去除状态、新容许状态或预未决去除状态,则保持虚拟卷112的当前状态。
[失败切换场景中的组修改的示例处理]
失败切换指代复制品站点200接管用作主的责任的机制。例如,响应于主站点100正在变得不可用(诸如,例如在站点范围灾难期间),可调用失败切换。当将要在主站点100执行维护和/或测试时,也可调用失败切换。当失败切换被调用时,位于复制品站点200的复制品卷212被恢复回至最近一致性点(即,成功地复制到复制品站点200的复制组115的所有虚拟卷112的最近时间点快照)。另外,当主站点100再次可用时,可执行恢复操作,在恢复操作中,数据被从复制品站点200复制回至主站点100。
当恢复回至最近一致性点或执行恢复操作时,复制组115的组成员资格可受到影响。特别地,主站点100和/或复制品站点200可能需要确定在失败切换之前添加和/或从主站点100去除的虚拟卷112是否应该在恢复回至一致性点之后和/或在恢复操作之后被包括在复制组115中。上述状态由主站点100和/或复制品站点200使用来做出这种确定。
例如,如果复制品卷212在失败切换发生时在复制品站点200具有新容许状态,则这会意味着失败切换发生在对应虚拟卷112被添加到组之后,但发生在下一同步操作能够成功地完成之前。因此,当复制品站点200恢复至前一一致性点时,复制品卷212不应该是复制组115的一部分(因为它在那个时间点不是组115的成员)。另外,由于虚拟卷112未完成初始同步,所以复制品卷212不包含有效数据。因此,在某些示例中,除了被从复制组115去除之外,复制品卷212还可被删除。因此,复制品站点200可去除在失败切换时具有新容许状态的任何复制品卷212,并且在某些示例中,还可删除这种复制品卷212。
作为另一示例,如果虚拟卷112在正在执行恢复操作时在主站点100具有未决容许或新容许状态,则这会意味着失败切换发生在虚拟卷112被添加到组115之后,但发生在下一同步操作能够成功地完成之前。因此,在复制品站点200将不会存在虚拟卷112的复制品。因此,为了保持组成员资格和数据一致性,在恢复操作时,主站点100可从组115去除虚拟卷112。然而,在某些示例中,虚拟卷112可不被删除,因为它可能包含有价值的数据。在某些示例中,可为客户端产生提示,所述提示指示:由于失败切换事件,虚拟卷112不是复制组115的一部分,但在失败切换事件之前,它已被请求添加到复制组115,因此给予客户端再次请求将虚拟卷112添加到复制组的选项。在某些示例中,可自动地对虚拟卷112重新开始添加操作。
作为另一示例,如果复制品卷212在失败切换发生时在复制品站点200具有未决去除状态,则这会意味着失败切换发生在对应虚拟卷112被标记为从组去除并且下一同步操作开始之后,但所述下一同步操作未成功地完成。因此,当复制品站点200恢复至前一一致性点时,尽管已被标记为去除,但复制品卷212应该仍然是复制组115的一部分,因为在前一一致性点,卷212还尚未被标记为去除。因此,复制品站点200可完成恢复至前一一致性点,然后可将复制品日志条目中的复制品卷212的状态从未决去除改变为已容许。
作为另一示例,如果虚拟卷112在正在执行恢复操作时在主站点100具有未决去除状态或预未决去除状态,则这会意味着失败切换发生在虚拟卷112被标记为从组去除之后,但发生在下一同步操作开始和/或成功地完成之前。因此,主站点100可将日志条目中的虚拟卷112的状态从未决去除改变为已容许。
作为另一示例,如果复制品卷212在失败切换发生时在复制品站点200具有临近去除状态,则这会意味着失败切换发生在虚拟卷112被标记为去除并且下一同步操作成功地完成之后,但发生在复制品卷212的去除完成之前。因此,当复制品站点200恢复至前一一致性点时,复制品卷212可被重新提示从复制组115去除。
作为另一示例,如果虚拟卷112在正在执行恢复操作时在主站点100具有临近去除状态,则这会意味着失败切换发生在虚拟卷112被标记为去除并且下一同步操作成功地完成之后,但发生在复制品卷212的去除完成之前。因此,主站点100可重新提示虚拟卷112从复制组115去除。
[存储示例指令的示例机器可读介质]
图8图示示例非暂态机器可读介质1000,所述非暂态机器可读介质1000存储可由处理电路(诸如,处理电路120和/或220)执行的复制组成员资格修改指令1010。当复制组成员资格修改指令1010由处理电路执行时,复制组成员资格修改指令1010可使处理电路执行本文关于复制组的成员资格的修改描述的任何示例操作(诸如,图3-7中示出的示例过程)。例如,复制组成员资格修改指令1010可包括虚拟卷添加指令1011、虚拟卷去除指令1012、同步指令1013和失败切换/恢复指令1014。非暂态机器可读介质1000可以是任何非暂态机器可读介质,所述非暂态机器可读介质可包括易失性存储介质(例如,DRAM、SRAM等)和/或非易失性存储介质(例如,PROM、EPROM、EEPROM、NVRAM、闪存、硬驱动、光盘等)。
虚拟卷添加指令1011包括这样的指令:当所述指令由处理电路执行时,所述指令可使处理电路执行以上关于将虚拟卷112添加到复制组115描述的操作。例如,虚拟卷添加指令1011可包括与图3-4中示出的过程对应的指令。
虚拟卷去除指令1012包括这样的指令:当所述指令由处理电路执行时,所述指令可使处理电路执行以上关于从复制组115去除虚拟卷112描述的操作。例如,虚拟卷去除指令1012可包括与图5中示出的过程对应的指令。
同步指令1013包括这样的指令:当所述指令由处理电路执行时,所述指令可使处理电路执行以上关于同步操作描述的操作。例如,同步指令1013可包括与图6中示出的过程对应的指令。
失败切换/恢复指令1014包括这样的指令:当所述指令由处理电路执行时,所述指令可使处理电路执行以上关于失败切换和/或恢复操作描述的操作。
贯穿本公开并且在所附权利要求中,可偶尔地引用 “许多”项。对“许多”的这种引用表示大于或等于一的任何整数。换句话说,“许多”意味着与“至少一个”相同的含义。当以这种方式使用“许多”时,可为了语法一致性按照复数形式书写描述项的词语,但这未必意味着正引用多个项。因此,例如,尽管使用复数形式,但诸如“许多处理器,其中处理器…”的短语既能够包括一个处理器又能够包括多个处理器。
短语“许多”可被用于引用一些项的事实不应该被解释为意味着:当引用另一项时的短语“许多”的省略意味着所述项必定是单数或必定是复数。
特别地,当使用冠词“一”、“一个”和“所述”引用项而没有单数或复数的任何明确指示时,这应该被理解为意味着存在“至少一个”所述项,除非明确地另外声明。当以这种方式使用这些冠词时,可为了语法一致性按照单数形式书写描述项(多个)的词语,但这未必意味着正在引用仅仅一个项。因此,例如,尽管使用单数形式,但诸如“处理器,其中处理器…”的短语既能够包括一个处理器又能够包括多个处理器。
偶尔地,本文结合项的列表使用短语“和/或”。这个短语意味着:可包括列表中的项的任何组合 - 从单个项到所有项和中间的任何排列。因此,例如,“A、B和/或C”可包括下面的任何一个:{A}、{B}、{C}、{A、B}、{A、C}、{C、B}和{A、C、B}。
以上参照各种示例流程图描述了各种示例过程。在描述中并且在示出的流程图中,为了容易描述,以特定次序阐述了操作。然而,应该理解,一些或全部操作能够被按照与描述的那些次序不同的次序执行,并且一些或全部操作能够被同时执行。
尽管已参照前面的示例示出和描述以上公开,但应该理解,在不脱离本公开的精神和范围的情况下,可做出其它形式、细节和实现方式。
Claims (21)
1.一种控制包括复制组的存储系统的方法,所述方法包括:
通过在源站点存储虚拟卷的日志条目来将虚拟卷添加到复制组,所述日志条目包括:
用于将虚拟卷钩到对应复制品卷的元数据;和
指示虚拟卷的状态的数据;
向复制品站点发送消息,指示复制品站点创建虚拟卷的对应复制品卷并且存储复制品卷的复制品日志条目;以及
基于复制品站点是否能够成功地创建复制品卷并且存储复制品日志条目确定是将虚拟卷的状态设置为未决容许还是设置为新容许,
其中未决容许状态指示虚拟卷将不会被包括在下一同步操作中并且新容许的状态指示虚拟卷将会被包括在下一同步操作中。
2.如权利要求1所述的方法,还包括:
响应于复制品站点成功地存储复制品日志条目,将虚拟卷的状态改变为新容许。
3.如权利要求1所述的方法,还包括:
开始复制组的同步操作,其中复制组中的所有已容许虚拟卷和复制组中的所有新容许的虚拟卷被同步到复制品站点,并且
响应于同步操作成功地完成,将复制组中的任何新容许的卷的状态改变为已容许。
4.如权利要求1所述的方法,还包括:
开始复制组的同步操作,其中复制组中的所有已容许虚拟卷和复制组中的所有新容许的虚拟卷被同步到复制品站点,并且
响应于同步操作未能成功地完成,将复制组中的任何新容许的卷的状态保持为新容许。
5.如权利要求1所述的方法,还包括:
响应于复制品站点未能成功地存储复制品日志条目,将虚拟卷的状态保持为未决容许,并且向复制品站点重新发送消息。
6.如权利要求1所述的方法,还包括:
周期性地检查是否在复制组中存在任何未决容许虚拟卷,并且响应于识别未决容许虚拟卷,向复制品站点发送消息,指示复制品站点存储识别的虚拟卷的复制品日志条目。
7.如权利要求1所述的方法,还包括:
响应于确定复制组中的任何虚拟卷的状态是未决容许,避免对复制组执行同步操作,直至在复制组中不存在其状态是未决容许的卷。
8.如权利要求1所述的方法,其中作为将虚拟卷添加到复制组的一部分,不停止复制组。
9.如权利要求1所述的方法,其中当主站点和复制品站点之间的链路被禁用或不工作时,发生将虚拟卷添加到复制组。
10.如权利要求1所述的方法,还包括:
通过下述步骤来从复制组去除虚拟卷:
将虚拟卷的状态改变为未决去除;
在下一同步操作:
将位于复制品站点的对应复制品卷的状态改变为未决去除,
同步不包括所述虚拟卷的复制组;
响应于同步成功地完成,提示去除虚拟卷。
11.一种存储系统,包括:
存储装置,位于源站点;
数个处理器;和
非暂态机器可读介质,存储机器可读指令,当由处理器执行所述指令时,所述指令使处理器:
通过存储源站点处的虚拟卷的日志条目来将虚拟卷添加到复制组,所述日志条目包括:
用于将虚拟卷钩到位于复制品站点的对应复制品卷的元数据;和
指示虚拟卷的状态的数据;
向复制品站点发送消息,指示复制品站点创建对应复制品卷并且存储复制品卷的复制品日志条目;
确定复制品站点是否能够成功地创建复制品卷并且存储复制品日志条目,并且如果能够,则将虚拟卷的状态设置为新容许,并且如果不能够,则将虚拟卷的状态设置为未决容许;以及
周期性地开始复制组的同步操作,其中复制组中的所有已容许虚拟卷和复制组中的所有新容许的虚拟卷被同步到复制品站点,而复制组中的未决容许虚拟卷不被同步。
12.如权利要求11所述的存储系统,其中所述指令还使处理器:
响应于同步操作成功地完成,将复制组中的任何新容许的虚拟卷的状态改变为已容许。
13.如权利要求11所述的存储系统,其中所述指令还使处理器:
响应于同步操作未能成功地完成,将复制组中的任何新容许的虚拟卷的状态保持为新容许。
14.如权利要求11所述的存储系统,其中所述指令还使处理器:
通过下述步骤来从复制组去除虚拟卷:
将虚拟卷的状态改变为未决去除;
在下一同步操作:
将位于复制品站点的对应复制品卷的状态改变为未决去除,
同步不包括所述虚拟卷的复制组;以及
如果同步成功地完成,则提示去除虚拟卷。
15.如权利要求14所述的存储系统,其中所述指令还使处理器:
响应于同步操作未能成功地完成,将复制组中的任何未决去除虚拟卷的状态保持为未决去除。
16.如权利要求14所述的存储系统,还包括:
存储装置,位于复制品站点,
其中所述指令还使处理器响应于失败切换而将位于复制品站点的存储装置恢复至最近一致性点,并且保持复制组中的具有未决容许状态的任何复制品卷并且将它们的状态改变为已容许。
17.如权利要求16所述的存储系统,还包括:
存储装置,位于复制品站点,
其中所述指令还使处理器:
响应于失败切换,将位于复制品站点的存储装置恢复至最近一致性点,并且去除具有新容许状态的任何复制品卷;
响应于恢复操作,去除具有未决容许状态的位于源站点的任何虚拟卷并且去除具有新容许状态的位于源站点的任何虚拟卷。
18.一种存储机器可读指令的非暂态机器可读介质,所述机器可读指令使执行所述指令的处理器:
通过执行用于实现下述步骤的操作来从复制组去除虚拟卷:
在与存储在源站点的虚拟卷关联的日志条目中将虚拟卷的状态改变为未决去除;以及
在下一同步操作:
在与存储在复制品站点的复制品卷关联的复制品日志条目中将与虚拟卷对应的复制品卷的状态改变为未决去除,
将不包括所述虚拟卷的复制组从源站点同步到复制品站点,并且
如果同步成功地完成,则将位于源站点的日志条目中的虚拟卷的状态改变为临近去除并且提示去除虚拟卷。
19.如权利要求18所述的非暂态机器可读介质,其中所述指令还使处理器:
开始失败切换操作,其中:
未决去除复制品卷保留在复制组中,并且它们各自的状态被改变为已容许;以及
临近去除复制品卷被从复制组去除。
20.如权利要求18所述的非暂态机器可读介质,其中所述指令还使处理器:
对于已被请求从复制组去除的每个虚拟卷,如果位于主站点的虚拟卷的重新同步快照与位于复制品站点的虚拟卷的复制品匹配,则将虚拟卷的状态改变为未决去除,否则,将虚拟卷的状态改变为预未决去除。
21.如权利要求20所述的非暂态机器可读介质,其中所述指令还使处理器:
在每个同步操作,
对于具有未决去除状态的每个虚拟卷,在当前同步操作期间不对所述虚拟卷进行同步;以及
对于具有预未决去除状态的每个虚拟卷,在当前同步操作期间对所述虚拟卷进行同步,并且其后,将它的状态改变为未决去除。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/428455 | 2017-02-09 | ||
US15/428,455 US10416905B2 (en) | 2017-02-09 | 2017-02-09 | Modifying membership of replication groups via journal operations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108415793A true CN108415793A (zh) | 2018-08-17 |
CN108415793B CN108415793B (zh) | 2021-10-29 |
Family
ID=60937558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810054301.0A Active CN108415793B (zh) | 2017-02-09 | 2018-01-19 | 经由日志操作修改复制组的成员资格 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10416905B2 (zh) |
EP (1) | EP3361383B1 (zh) |
CN (1) | CN108415793B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273859A (zh) * | 2020-01-14 | 2020-06-12 | 北京百度网讯科技有限公司 | 分发模式下复制组成员的变更方法、装置、设备和介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413444B (zh) * | 2018-04-27 | 2023-05-09 | 伊姆西Ip控股有限责任公司 | 实现存储卷的一致性组的快照集 |
US10969986B2 (en) * | 2018-11-02 | 2021-04-06 | EMC IP Holding Company LLC | Data storage system with storage container pairing for remote replication |
US11048430B2 (en) * | 2019-04-12 | 2021-06-29 | Netapp, Inc. | Object store mirroring where during resync of two storage bucket, objects are transmitted to each of the two storage bucket |
CN110096237B (zh) * | 2019-04-30 | 2022-02-08 | 北京百度网讯科技有限公司 | 副本处理方法及节点、存储系统、服务器、可读介质 |
US11221785B2 (en) | 2019-12-03 | 2022-01-11 | Western Digital Technologies, Inc. | Managing replication state for deleted objects |
US11435933B2 (en) | 2020-02-07 | 2022-09-06 | EMC IP Holding Company LLC | Using any-pit backups for retroactive backup compliance and hardening |
US11175997B2 (en) | 2020-02-07 | 2021-11-16 | EMC IP Holding Company LLC | Using business continuity and disaster recovery for any point in time backup |
US11630597B2 (en) | 2020-02-27 | 2023-04-18 | EMC IP Holding Company LLC | Any point in time backups and tier one storage replication |
US11921589B2 (en) | 2020-06-23 | 2024-03-05 | EMC IP Holding Company LLC | Any point in time backup on secondary storage for distributed consistency groups |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859811B1 (en) * | 2004-01-15 | 2005-02-22 | Oracle International Corporation | Cluster database with remote data mirroring |
CN1670709A (zh) * | 2004-03-19 | 2005-09-21 | 株式会社日立制作所 | 利用日志同步数据库数据非同步传送的恢复方式及装置 |
US7203687B2 (en) * | 2004-02-26 | 2007-04-10 | International Business Machines Corporation | Peer-to-peer replication member initialization and deactivation |
CN101067796A (zh) * | 2007-06-07 | 2007-11-07 | 华为技术有限公司 | 镜像恢复方法、存储设备及网络系统 |
US8600945B1 (en) * | 2012-03-29 | 2013-12-03 | Emc Corporation | Continuous data replication |
CN105893386A (zh) * | 2015-01-04 | 2016-08-24 | 伊姆西公司 | 用于在同步复制系统中处理事务的方法和装置 |
CN106030500A (zh) * | 2014-04-22 | 2016-10-12 | 株式会社日立制作所 | 存储系统的数据迁移方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7139932B2 (en) * | 2002-01-03 | 2006-11-21 | Hitachi, Ltd. | Data synchronization of multiple remote storage after remote copy suspension |
JPWO2005001700A1 (ja) * | 2003-06-27 | 2006-08-10 | 富士通株式会社 | ストレージ容量管理方法、そのサーバ、記録媒体 |
US7058731B2 (en) * | 2004-08-03 | 2006-06-06 | Hitachi, Ltd. | Failover and data migration using data replication |
JP4519563B2 (ja) | 2004-08-04 | 2010-08-04 | 株式会社日立製作所 | 記憶システム及びデータ処理システム |
US7305530B2 (en) | 2004-11-02 | 2007-12-04 | Hewlett-Packard Development Company, L.P. | Copy operations in storage networks |
US7577867B2 (en) | 2006-02-17 | 2009-08-18 | Emc Corporation | Cross tagging to data for consistent recovery |
US8364648B1 (en) | 2007-04-09 | 2013-01-29 | Quest Software, Inc. | Recovering a database to any point-in-time in the past with guaranteed data consistency |
JP5137476B2 (ja) | 2007-06-21 | 2013-02-06 | 株式会社日立製作所 | 連携して動作する複数のアプリケーションが使用するデータのバックアップ環境の設定を行う計算機及び方法 |
US8291429B2 (en) | 2009-03-25 | 2012-10-16 | International Business Machines Corporation | Organization of heterogeneous entities into system resource groups for defining policy management framework in managed systems environment |
US8271441B1 (en) | 2009-12-26 | 2012-09-18 | Emc Corporation | Virtualized CG |
US8239390B2 (en) * | 2010-02-26 | 2012-08-07 | International Business Machines Corporation | Filtered remote journal |
US9069827B1 (en) | 2012-01-17 | 2015-06-30 | Amazon Technologies, Inc. | System and method for adjusting membership of a data replication group |
US8954796B1 (en) | 2012-06-26 | 2015-02-10 | Emc International Company | Recovery of a logical unit in a consistency group while replicating other logical units in the consistency group |
-
2017
- 2017-02-09 US US15/428,455 patent/US10416905B2/en active Active
- 2017-12-21 EP EP17209412.0A patent/EP3361383B1/en active Active
-
2018
- 2018-01-19 CN CN201810054301.0A patent/CN108415793B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6859811B1 (en) * | 2004-01-15 | 2005-02-22 | Oracle International Corporation | Cluster database with remote data mirroring |
US7203687B2 (en) * | 2004-02-26 | 2007-04-10 | International Business Machines Corporation | Peer-to-peer replication member initialization and deactivation |
CN1670709A (zh) * | 2004-03-19 | 2005-09-21 | 株式会社日立制作所 | 利用日志同步数据库数据非同步传送的恢复方式及装置 |
CN101067796A (zh) * | 2007-06-07 | 2007-11-07 | 华为技术有限公司 | 镜像恢复方法、存储设备及网络系统 |
US8600945B1 (en) * | 2012-03-29 | 2013-12-03 | Emc Corporation | Continuous data replication |
CN106030500A (zh) * | 2014-04-22 | 2016-10-12 | 株式会社日立制作所 | 存储系统的数据迁移方法 |
CN105893386A (zh) * | 2015-01-04 | 2016-08-24 | 伊姆西公司 | 用于在同步复制系统中处理事务的方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111273859A (zh) * | 2020-01-14 | 2020-06-12 | 北京百度网讯科技有限公司 | 分发模式下复制组成员的变更方法、装置、设备和介质 |
CN111273859B (zh) * | 2020-01-14 | 2023-09-15 | 北京百度网讯科技有限公司 | 分发模式下复制组成员的变更方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3361383A2 (en) | 2018-08-15 |
EP3361383A3 (en) | 2018-08-22 |
US20180225052A1 (en) | 2018-08-09 |
US10416905B2 (en) | 2019-09-17 |
EP3361383B1 (en) | 2020-02-05 |
CN108415793B (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415793A (zh) | 经由日志操作修改复制组的成员资格 | |
US10860547B2 (en) | Data mobility, accessibility, and consistency in a data storage system | |
CN101809558B (zh) | 远程异步数据复制系统和方法 | |
CN102891849B (zh) | 业务数据同步方法、恢复方法及装置和网络设备 | |
CN101739313B (zh) | 一种连续数据保护和恢复方法 | |
CN101221573B (zh) | 将储存库还原到先前状态的方法 | |
CN100440155C (zh) | 用于创建虚拟数据拷贝的方法和系统 | |
US7139851B2 (en) | Method and apparatus for re-synchronizing mirroring pair with data consistency | |
US20210064413A1 (en) | Deploying a cloud instance of a user virtual machine | |
CN108376109A (zh) | 卷和快照复制 | |
CN106407040A (zh) | 一种远程数据复制方法及系统 | |
CN101706802A (zh) | 一种数据写入、修改及恢复的方法、装置及服务器 | |
CN103780638A (zh) | 数据同步方法及系统 | |
JP2006209775A (ja) | データ追跡を有するストレージ複製システム | |
CN101566959A (zh) | 利用卷快照防止在失败的恢复操作中的文件损坏 | |
CN110515557B (zh) | 一种集群管理方法、装置、设备及可读存储介质 | |
CN103902405B (zh) | 一种准连续性数据复制方法及装置 | |
CN101714169A (zh) | 一种在多节点上传递数据方法及系统 | |
CN113127565A (zh) | 基于外部观察者组的分布式数据库节点同步的方法和装置 | |
JP2023505879A (ja) | 分散型データベースシステム及びデータ災害バックアップ訓練方法 | |
CN108762982A (zh) | 一种数据库恢复方法、装置及系统 | |
CN103970620B (zh) | 一种准连续性数据复制方法及装置 | |
JP7416768B2 (ja) | 分散コンピューティング環境で分散調整エンジンを非破壊的にアップグレードする方法、装置およびシステム | |
CN104991739A (zh) | 元数据服务器失效接替中精确一次执行语义的方法及系统 | |
US11860828B2 (en) | Methods, devices and systems for writer pre-selection in distributed data systems |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |