CN110737542B - 冻结和解除冻结上游卷和下游卷的存储系统、方法和介质 - Google Patents
冻结和解除冻结上游卷和下游卷的存储系统、方法和介质 Download PDFInfo
- Publication number
- CN110737542B CN110737542B CN201910612323.9A CN201910612323A CN110737542B CN 110737542 B CN110737542 B CN 110737542B CN 201910612323 A CN201910612323 A CN 201910612323A CN 110737542 B CN110737542 B CN 110737542B
- Authority
- CN
- China
- Prior art keywords
- volume
- snapshot
- processor
- downstream
- upstream
- 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.)
- Active
Links
Images
Classifications
-
- 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/1469—Backup restoration techniques
-
- 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/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/2094—Redundant storage or storage space
-
- 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/1456—Hardware arrangements for backup
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- 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/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
- G06F11/1662—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
-
- 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/2097—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 maintaining the standby controller/processing unit updated
-
- 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)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Retry When Errors Occur (AREA)
Abstract
根据示例,一种系统可以包括上游卷控制器,所述上游卷控制器具有:处理器和非暂时性机器可读存储介质。所述存储介质可以包括可由所述处理器执行以进行以下操作的指令:冻结上游卷,所述上游卷处于具有下游卷的复制集内;接收快照创建请求;创建所述上游卷的快照;并且将快照许可消息或快照中止消息中的一者发送到下游卷处理器。所述指令还可以由所述处理器执行以响应于以下各项操作中的至少一项来解除冻结所述上游卷:发送所述快照许可消息或所述快照中止消息中的一者、或者与所述上游卷要保持冻结的最大时间段相对应的超时到期。
Description
技术领域
本公开一般涉及存储系统,更具体地,涉及冻结和解除冻结上游卷和下游卷。
背景技术
存储系统可以用于各种目的,包括访问由多个用户和数据存储设备共享的数据。存储系统可以包括彼此并置和/或位于多个位置处的存储设备。可以复制存储在存储设备上的数据,并且可以将复制的数据副本存储在多个存储设备上以防止单个存储设备的故障。这样,当存储设备发生故障或者存储设备中的数据被无意中擦除或编辑时,可以从另一个存储设备取得期望数据的副本。
发明内容
在一个方面,本公开提供了一种系统,该系统包括上游卷控制器。该上游卷控制器具有处理器以及非暂时性机器可读存储介质。所述存储介质包括可由所述处理器执行以进行以下操作的指令:冻结上游卷,所述上游卷处于具有下游卷的复制集内;接收快照创建请求;创建所述上游卷的快照;将快照许可消息或快照中止消息中的一者发送到下游卷处理器;以及响应于以下各项操作中的至少一项来解除冻结所述上游卷:所述发送所述快照许可消息或所述快照中止消息中的所述一者;或者与所述上游卷要保持冻结的最大时间段相对应的超时到期。
在另一个方面,本公开提供了一种计算机实施的方法,包括:由处理器接收冻结源卷的指令,所述源卷是具有目标卷的复制集的一部分;由所述处理器冻结所述源卷;由所述处理器接收对于所述源卷的快照创建请求;由所述处理器获取所述源卷的快照;由所述处理器判定所述目标卷是否与所述源卷同步;基于关于所述目标卷是否与所述源卷同步的判定,由所述处理器将快照许可消息和快照中止消息中的一者发送到目标卷处理器;以及由所述处理器响应于以下各项操作中的至少一项来解冻所述源卷:所述发送所述快照许可消息或所述快照中止消息中的所述一者;或者与所述源卷要保持冻结的最大时间段相对应的超时到期。
在又一个方面,本公开提供了一种非暂时性机器可读存储介质,包括指令,所述指令在由下游卷处理器执行时使所述下游卷处理器:接收来自管理实体的冻结下游卷的指令;基于接收到冻结所述下游卷的指令而冻结所述下游卷;从所述下游卷被冻结的时间启动具有到期时间的定时器;接收来自所述管理实体的创建所述下游卷的快照的指令;接收来自上游卷处理器的快照许可消息或快照中止消息中的一者;判定在所述定时器到达所述到期时间之后是否接收到创建所述快照的指令、接收到所述快照许可消息、或者接收到所述快照中止消息;以及基于在所述定时器到达所述到期时间之后接收到创建所述快照的指令、所述快照许可消息或者所述快照中止消息中的任一者,中止所述快照的创建。
附图说明
以下(多个)附图中可能通过示例而非限制的方式图示了本公开的特征,其中,相同的附图标记指示相同的元件,在附图中:
图1描绘了可以管理上游卷的示例上游卷控制器的框图;
图2描绘了可以包括图1中描绘的上游卷控制器和图3中描绘的下游卷控制器的示例系统的框图;
图3描绘了可以管理下游卷的示例下游卷控制器的框图;
图4描绘了可以管理上游卷的另一个示例上游卷控制器的框图;
图5描绘了用于管理源卷的示例方法的流程图;
图6描绘了用于管理目标卷的示例方法的流程图;并且
图7描绘了用于在实施快照创建操作时管理下游卷处理器的示例非暂时性机器可读存储介质的框图。
具体实施方式
出于简单和说明性的目的,本公开可以通过主要参考示例来描述。在以下说明中,阐述了许多具体细节以便提供对本公开的全面理解。然而,显而易见的是,可以在不限于这些具体细节的情况下实施本公开。在其他实例中,并未详细描述一些方法和结构,以防不必要地使本公开变得难以理解。
贯穿本公开,术语“一个(a)”和“一个(an)”可以旨在表示至少一个特定元件。如本文所使用的,术语“包括(includes)”是指包括(includes)但不限于,术语“包括(including)”是指包括(including)但不限于。术语“基于(based on)”是指“至少部分地基于(based at least in part on)”。
在本地提交(commit)单个输入/输出(IO)之后,可以将该IO从上游卷复制到下游卷(例如,可以将上游卷中存储的IO的快照复制在下游卷中),以确保一旦上游卷由于各种其他原因,比如计划停电、网络升级、软件升级等,发生故障或变得不可用时数据是高度可用的。IO复制过程可能在各种情况下发生故障,比如,当发生网络中断时、当存在下游阵列问题(例如,控制器故障转移或其他一些临时中断)时、当下游阵列资源不足并且因此不能足够快地处理IO复制请求时、用户管理操作可能中断复制等。在IO复制过程中出现错误的情况下,可以重复IO复制过程,直到主机发出中止或达到某个超时。在IO复制故障的情况下,下游卷可能会在对主机进行响应之前被标记为不同步(out-of-sync)。另外,可以将快照中止消息发送到下游卷控制器。响应于接收到快照中止消息,下游卷控制器可以不创建快照。在这方面,下游卷控制器可以跳过此快照的创建。
在IO复制过程期间,可以冻结上游卷和下游卷。即,在复制过程期间,上游卷控制器可能不会提交对上游卷中的数据的任何IO,并且下游卷控制器可能不会提交对下游卷中的数据的任何IO。因此,复制过程可能中断对上游卷和下游卷的IO提交的等待时间。
本文公开了用于管理上游卷和下游卷的快照的创建的装置和方法,其中上游卷和下游卷处于具有彼此的复制集内,例如,一种可以将上游卷的变化周期性地复制到下游卷的关系。具体地,例如,可以在减少或最小化上游卷被冻结的时间量的同时创建快照,这可能导致减少量的或最少量的由快照创建操作引起的IO中断。如本文所讨论的,可以管理上游卷的上游卷处理器可以将快照创建指令发送到可以管理下游卷的下游卷处理器。在这方面,下游卷处理器可以在创建下游卷的快照之前等待接收来自上游卷处理器的快照许可消息。
上游卷处理器可以响应于确定下游卷与上游卷同步而发送快照许可消息。根据示例,上游卷处理器可以等待发送快照许可消息,直到上游卷处理器确定下游卷与上游卷同步。在其他示例中,上游卷处理器可以基于确定下游卷与上游卷不同步而向下游卷处理器发送快照中止消息。
如本文所讨论的,上游卷处理器可以响应于向下游卷处理器发送快照许可消息或快照中止消息而解除冻结上游卷。即,在向下游卷处理器发送快照许可消息或快照中止消息之后,上游卷处理器可以立即解除冻结上游卷,例如,在大约1ms与大约2秒内。换言之,上游卷处理器可以在上游卷冻结之后的到期时间到期之前解除冻结上游卷,其中,到期时间通常可以表示上游卷被解除冻结的最大时间。通过以这种方式解除冻结上游卷,可以将上游卷保持在冻结状态持续最小的时间长度,这可以最小化IO中断。然而,如果上游卷在与上游卷可能保持冻结的最大时间段相对应的超时到期之前变为解除冻结,则可以在超时到期时解除冻结上游卷。
在本文描述的示例中,每次启动上游卷的快照时,可以例如通过管理实体(例如,组管理守护进程)将快照标识符分配给快照。管理实体可以在主机、上游卷、下游卷、外部卷等上执行,并且可以在上游卷和下游卷上启动快照。管理实体还可以将所分配的快照ID发送到上游卷控制器和下游卷控制器两者。根据示例,管理实体可以为要创建的上游卷的当前快照分配上一个快照标识符(ID),并且可以利用上游卷的上一个快照ID来标记输入/输出(IO)。上游卷处理器还可以将所标记的IO发送到下游卷处理器。只要上游卷的上一个快照ID大于下游卷上一个快照ID(例如,下游卷的上一个创建的快照的快照ID),下游卷处理器就可以接受所标记的IO。另外,下游卷处理器可以使用所标记的IO中的上游卷的上一个快照ID来判定在下游卷的上一个快照创建之前或之后是否接收到IO。因此,在所标记的IO中的上游卷的上一个快照ID大于下游卷上一个快照ID的情况下,下游卷处理器可以将IO保存在队列中,并且可以在创建下游卷的快照之后或者在由于到期时间到期而解除冻结下游卷之后接受IO。然而,在上游卷的上一个快照ID小于或等于上一个下游卷快照ID的情况下,下游卷处理器可以拒绝IO。
与创建处于复制集内的上游卷和下游卷的快照相关联的技术问题是,在快照创建操作期间上游卷和下游卷可能被冻结。卷保持冻结的时间越长,卷不能接受IO的时间就越长,这可能会增加卷的等待时间。如本公开中提供的技术方案是通过在发送快照许可消息或快照中止消息之后立即解除冻结上游卷,可以减少上游卷保持冻结的时间长度,这可以减少上游卷的等待时间。另外,通过包括具有从上游卷处理器传送到下游卷处理器的IO的上游卷的上一个快照ID,在接收到来自主机的冻结指令之后,下游卷处理器可以更有选择地冻结下游卷,例如,可以接受某些IO(具有高于下游卷上一个快照ID的上游卷的上一个快照ID的IO)。因此,下游卷可以与上游卷保持一致的数据。
如本文所使用的,“快照(snapshot)”可以指数据卷的时间相关视图(temporaldependent view)。换言之,数据源和对数据源中容纳的数据进行操作的应用程序可以具有在其被捕获为快照的特定时刻存在的给定数据状态。“数据源(data source)”可以指容纳应用程序数据的卷或卷集合。“应用程序(application)”可以指可以与容纳在数据源处的数据交互的软件指令集、服务或系统。
如本文所使用的,输入/输出(I/O)可以指可以更改(例如,创建、删除或修改)容纳在数据源或卷中的数据的操作。I/O操作的示例可以包括写入和删除。
如本文所使用的,“冻结(freeze)”指令可以指示处理器可以不提交对卷中包含的数据的任何IO,直到处理器接收到“解除冻结(unfreeze)”指令。“解除冻结(unfreeze)”或“解冻(thaw)”指令可以指示可以开始对卷中包含的数据的IO。如本文所述,卷可以不时地暂停或冻结提交对卷中的数据的IO,直到其他处理完成或被确认为止,因此解除冻结或解冻命令可以允许卷从当前的操作冻结状态恢复。
如本文所使用的,“卷(volume)”可以指包含用于给定应用程序的数据或逻辑单元号(LUN)的可管理实体。如本文所使用的,“快照(snapshot)”可以指数据集合的时间相关视图。换言之,快照可以用于保持在捕获快照的特定时间点存在的数据集合状态。“应用程序(application)”可以指与容纳在数据源处的数据交互的软件指令集、服务或系统。复制卷(例如,第二卷)可以是本地卷外部的远程卷,并且所述远程卷经由某种机制,比如基于同步块的数据复制,与本地卷保持同步。
如本文所使用的,“源卷(source volume)”或“上游卷(upstream volume)”可以是作为对复制集的数据复制的源的卷(例如,数据从其被复制到另一个卷的卷),而“目标卷(destination volume)”或“下游卷(downstream volume)”可以是复制集的卷,其接收从复制集的源或上游卷复制的数据。在一些示例中,在将写入复制到下游卷之前,可以将指向复制集的卷的主机写入提交到源或上游卷。
在本文描述的示例中,特定存储阵列可以包括(多个)上游卷(例如,对于某一(某些)复制集)和(多个)下游卷(例如,对于其他(多个)复制集)两者。例如,单个存储阵列可以包括作为一个复制集的源卷的第一卷和作为另一个复制集的目标卷的第二卷。在这样的示例中,存储阵列可以被认为是第一复制集的“源”存储阵列,并且同时可以被认为是第二复制集的“目标”存储阵列。
首先参考图1至图3。图1示出了可以管理上游卷的示例上游卷控制器100的框图。图2描绘了可以包括图1中描绘的上游卷控制器100和图3中描绘的下游卷控制器202的示例系统200的框图。图3描绘了可以管理下游卷的示例下游卷控制器202的框图。应该理解的是,图1中描绘的示例上游卷控制器100、图2中描绘的系统200、以及下游卷控制器202可以包括附加特征;并且在不脱离上游卷控制器100、系统200或下游卷控制器202的任何范围的情况下可以移除和/或修改本文描述的一些特征。
上游卷控制器100和下游卷控制器202均可以是计算设备、服务器、存储系统控制器、存储节点控制器等。上游卷控制器100和下游卷控制器202可以处于对应的存储阵列中。如图1和图2所示,上游卷控制器100可以包括处理器102(本文也称为上游卷处理器102),所述处理器可以控制上游卷控制器100的操作。另外,如图2和图3所示,下游卷控制器202可以包括下游卷处理器204,所述下游卷处理器可以控制下游卷控制器202的操作。处理器102、204均可以是基于半导体的微处理器、中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或其他合适的硬件设备。尽管上游卷控制器100和下游卷控制器202均已被描绘为包括单个处理器102、204,但是应该理解的是,在不脱离本文公开的上游卷控制器100和下游卷控制器202的范围的情况下,上游卷控制器100和/或下游卷控制器可以包括多个处理器、多个核等。
上游卷控制器100可以包括机器可读存储介质110,在所述机器可读存储介质上可以存储有处理器102可以执行的机器可读指令112至120(其也可以称为计算机可读指令)。下游卷控制器202可以包括下游卷机器可读存储介质210,在所述下游卷机器可读存储介质上可以存储有下游卷处理器204可以执行的机器可读指令312至326(其也可以称为计算机可读指令)。机器可读存储介质110和210中的每一个可以是包含或存储可执行指令的电子、磁性、光学或其他物理存储设备。机器可读存储介质110、210中的每一个可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储设备、光盘等。机器可读存储介质110、210均可以是非暂时性机器可读存储介质,其中术语“非暂时性(non-transitory)”不涵盖暂时性传播信号。
如图2所示,系统200可以包括上游卷控制器100和下游卷控制器202。系统200还可以包括第一存储阵列208和第二存储阵列212。第一存储阵列208可以包括多个存储节点206-1至206-N,其中变量“N”是大于一的值。存储节点206-1至206-N可以是存储阵列204中的存储设备,例如,硬盘驱动器、闪存驱动器等。第二存储阵列212可以包括多个存储节点212-1至212-M,其中变量“M”是大于一的值。上游卷控制器202和存储节点206-1至206-N可以经由网络(比如,局域网、光纤信道网络、因特网等)彼此通信地耦接。类似地,下游卷控制器202和存储节点212-1至212-M可以经由网络(比如,局域网、光纤信道网络、因特网等)彼此通信地耦接。
在一些示例中,将上游卷控制器100连接到第一存储阵列208并且将下游卷控制器202连接到第二存储阵列212的网络可以是同一网络。另外或替代地,存储节点206-1至206-N可以容纳在公共电子器件机架中、跨多个电子器件机架、在公共数据中心中、跨多个数据中心等。存储节点212-1至212-M可以类似地相对于彼此定位。
根据示例,上游卷控制器100可以管理上游卷,所述上游卷可以是可以分布在一些或所有存储节点206-1至206-N上的逻辑块集。同样地,下游卷控制器202可以管理下游卷,所述下游卷可以是可以分布在一些或所有存储节点212-1至212-M上的逻辑块集。根据示例,下游卷可以是上游卷的复制品。换言之,下游卷可以是上游卷的备份卷(例如,副本),并且可以在每次更新上游卷时更新。由于下游卷是上游卷的复制品,因此上游卷可以被解释为处于具有下游卷的复制集内。换言之,上游卷和下游卷可以处于一致性组中,所述一致性组可以作为一组一起复制,以保证上游卷和下游卷中的数据的同步。上游卷可以在本文中等同地称为源卷,并且下游卷可以在本文中等同地称为目标卷。
上游卷和下游卷可以跨多个存储节点206-1至206-N和212-1至212-M存储,使得即使在存储节点206-1至206-N和212-1至212-M中的一个或多个发生故障的情况下,也可以防止或减轻数据丢失。为了允许数据冗余存储,存储节点206-1至206-N和212-1至212-M可以彼此独立地操作。即,存储节点212-1中的一个或多个的故障可能不会导致存储节点212-1至212-M中的其余存储节点的故障。存储节点206-1至206-N和212-1至212-M可以在地理上分布(例如,分布在地理上不同的位置)。虽然上游卷控制器100和下游卷控制器202被描绘为分别与存储节点206-1至206-N和212-1至212-M中的每一个分离的部件,但是上游卷控制器100可以在存储节点206-1至206-N中的一个或多个内实例化和/或下游卷控制器202可以在存储节点212-1至212-M中的一个或多个内实例化。
根据示例,上游卷控制器100和下游卷控制器202经由网络230可以接收来自主机220的指令并且可以将数据发送到所述主机。主机220可以是计算设备,通过所述计算设备可以将输入/输出(IO)指令、快照创建指令等传送到上游卷控制器100。在一个方面,主机220可以包括管理实体222,例如,组/集群级别管理守护进程(daemon),其可以例如向上游卷控制器100和下游卷控制器202发送快照请求和冻结请求,如在本文更详细地讨论的。上游卷控制器100还可以将响应和确认消息传送到主机220。在任何方面,网络230可以是局域网、光纤信道网络、因特网等。在其他示例中,管理实体222可以替代地在上游卷、下游卷或另一个卷中执行。
上游卷控制器100还可以经由网络230或通过单独的网络与下游卷控制器202通信。通过其中网络230是因特网的示例,上游卷控制器100可以经由局域网与下游卷控制器202通信。例如,上游卷控制器100可以经由网络230或如本文所讨论的另一个网络向下游卷控制器202发送快照许可消息和快照中止消息。
处理器102可以取出、解码和执行指令112以冻结上游卷。即,例如,处理器102可以接收来自管理实体222的指令以冻结上游卷。在冻结时,处理器102可以不提交对上游卷中包含的数据的任何IO。因此,例如,在上游卷被冻结时,处理器102不会在上游卷中添加数据、修改数据、擦除数据和/或移动数据。当上游卷被冻结时,处理器102也不会向下游卷发送任何IO。管理实体222还可以向下游卷处理器204传送指令以冻结下游卷,这可能导致下游卷处理器204不能提交对包含在下游卷中的数据的任何IO操作。如本文所指出的,下游卷可以处于具有上游卷的复制集内,例如,下游卷可以是上游卷的复制品,并且因此可以包括与上游卷相同的数据。
处理器102可以取出、解码和执行指令114以接收快照创建请求。例如,处理器102可以接收来自管理实体222的快照创建请求。另外,处理器102可以取出、解码和执行指令116以创建上游卷的快照。因此,例如,在上游卷被冻结时,处理器102可以创建上游卷的快照。快照可以是上游卷中的数据在某个时间点(即,在创建快照的时刻)的副本或复制品。另外,处理器102可以将快照存储在第一存储阵列208中的一个或多个存储节点206-1至206-N中。
处理器102可以取出、解码和执行指令118以将快照许可消息或快照中止消息中的一者发送到下游卷处理器204。如本文所讨论的,处理器102可以基于关于下游卷是否与上游卷同步的判定来发送快照许可消息或快照中止消息。
根据示例,处理器102可以取出、解码和执行指令120,以响应于以下各项操作中的至少一项来解除冻结上游卷:将快照许可消息或快照中止消息中的一者发送到下游卷处理器204、或者与上游卷在期间要保持冻结的最大时间段相对应的超时到期。即,处理器102可以解除冻结上游卷,使得在将许可消息或中止消息中的一者发送到下游卷处理器204之后——例如,在超时时段到期之前——可以立即将IO提交到上游卷。在这方面,上游卷可以保持冻结持续最小化的时间段,这可以最小化上游卷的IO等待时间。然而,如果处理器102在超时到期之前没有解除冻结上游卷,则处理器102可以在超时到期时解除冻结上游卷。
现在转向图4,示出了可以管理上游卷的另一个示例上游卷控制器400的框图。应该理解的是,图4中描绘的示例上游卷控制器400可以包括附加特征;并且在不脱离上游卷控制器400的范围的情况下可以移除和/或修改本文描述的一些特征。上游卷控制器400的描述也参考图1至图3。
上游卷控制器400可以包括处理器402和机器可读存储介质410。处理器402可以等同于处理器102,并且机器可读存储介质410可以等同于图1和图2中描绘的机器可读存储介质110。这样,例如,机器可读存储介质410可以包括以上关于机器可读存储介质110讨论的指令112-120。另外,机器可读存储介质410其上可以存储有处理器402可以执行的机器可读指令412至422。根据示例,处理器402可以在指令118的执行之前和/或作为所述指令的执行的一部分执行指令412至422,以判定处理器402是要发送快照许可消息还是快照中止消息。
处理器402可以取出、解码和执行指令412以判定下游卷是否与上游卷同步。即,处理器402可以基于确定下游卷与上游卷同步、下游卷是上游卷的复制品、下游卷处于与上游卷相同的状态等来确定下游卷与上游卷同步。处理器402可以基于与从下游卷处理器204接收的与提交到下游卷的IO有关的确认消息的状态来判定下游卷是否与上游卷同步。例如,处理器402可以基于处理器402确定尚未从下游卷处理器204接收到对应于上一个IO的确认消息来确定下游卷不同步。
基于确定下游卷与上游卷同步,处理器402可以取出、解码和执行指令414以向下游卷处理器204发送快照许可消息。响应于接收到快照许可消息,下游卷处理器204可以取出、解码和执行指令326(图3)以创建下游卷的快照。下游卷的快照可以是下游卷中的数据在某个时间点(即,在创建快照的时刻)的副本或复制品。另外,下游卷处理器204可以将快照存储在第二存储阵列212中的一个或多个存储节点212-1至212-N中。
然而,基于确定下游卷与上游卷不同步(例如,不同步),处理器402可以取出、解码和执行指令416以延迟发送快照许可消息,直到处理器402确定下游卷与上游卷同步。即,处理器402可以基于缺少来自下游卷处理器204的关于IO的确认来确定下游卷与上游卷不同步。另外,在接收到来自下游卷处理器204的关于IO的确认之后,处理器402可以将快照许可消息发送到下游卷处理器204。例如,当IO已经提交到上游卷但IO尚未提交到下游卷时,可能会发生这些情况。在这些示例中,一旦IO已经提交到下游卷,下游卷处理器204就可以向处理器402发送确认消息。
在其他示例中,处理器402可以基于确定下游卷与上游卷不同步来将快照中止消息发送到下游卷处理器204。另外,处理器402可以重新发送IO或多个IO以供下游卷处理器204提交到下游卷,以使下游卷变得与上游卷同步。在确定下游卷与上游卷同步之后,处理器402可以将快照许可消息发送到下游卷处理器204。另外,下游卷处理器204可以取出、解码和执行指令326,以基于接收到快照中止消息来中止下游卷的快照的创建。
根据示例,处理器402可以取出、解码和执行指令418以标识最近创建的快照的上一个快照标识符(ID),其中可以针对每个连续创建的快照递增上一个快照ID。根据示例,管理实体222可以将快照ID分配给快照。另外,处理器402可以取出、解码和执行指令420以利用上一个快照ID来标记IO。处理器402还可以取出、解码和执行指令422以将所标记的IO发送到下游卷处理器204。管理实体222可以确定上一个快照ID,并且可以将上一个快照ID转发到上游处理器102和下游卷处理器204,以控制快照创建和IO的标记。
根据示例,在创建下游卷的快照之前,下游卷处理器204可以取出、解码和执行指令312以接收冻结下游卷的指令。例如,下游卷处理器204可以接收来自管理实体222的冻结下游卷的指令。下游卷处理器204可以在接收到来自上游卷处理器402的快照许可消息或快照中止消息之前基于接收到冻结下游卷的指令而冻结下游卷。
下游卷处理器204可以取出、解码和执行指令314以冻结下游卷。另外,下游卷处理器204可以取出、解码和执行指令316以开始/跟踪具有到期时间的定时器206。通过示例的方式,到期时间可以在大约2秒与5秒之间,并且可以对应于下游卷处理器204解除冻结下游卷的超时。即,下游卷处理器204可以在下游卷被冻结时启动定时器206,并且可以在定时器206到达到期时间时解除冻结下游卷。
下游卷处理器204可以取出、解码和执行指令318以从管理实体222创建下游卷的快照。即,管理实体222可以发送指令以在下游卷被冻结时创建下游卷的快照。然而,如果存在延迟或与快照创建指令有关的其他问题,则下游卷处理器204可能直到到期时间已经过去之后才接收到快照创建指令。在这种情况下,下游卷处理器204可以取出、解码和执行指令326以在到期时间已经过去时解除冻结下游卷并且可以中止快照的创建。
下游卷处理器204可以取出、解码和执行指令320以接收来自上游卷处理器102、402的快照许可消息或快照中止消息中的一者。下游卷处理器204可以取出、解码和执行指令322,以判定在到期时间过去之前是否接收到快照许可消息或快照中止消息。基于确定在到期时间过去之后接收到快照许可消息或快照中止消息,下游卷处理器204可以取出、解码并执行指令326以在到期时间已经过去时解除冻结下游卷并且可以中止快照的创建。另外,基于确定在到期时间过去之前接收到快照中止消息,下游卷处理器204可以取出、解码和执行指令326以中止快照的创建并且可以解除冻结下游卷。然而,基于确定在到期时间过去之前接收到快照许可消息,下游卷处理器204可以取出、解码和执行指令326以创建快照并且可以在创建快照之后解除冻结下游卷。
如以上的讨论中所指出的,即使在到期时间过去之前接收到指令,下游卷处理器204也可以在接收到快照创建指令时不创建下游卷的快照。相反,下游卷处理器204可以在到期时间过去之前在接收到来自上游卷处理器102、402的快照许可消息之后创建快照。
另外,在接收到冻结下游卷的指令之后,下游卷处理器204可以取出、解码和执行指令324以从上游卷处理器402接收上游卷的IO和上一个快照标识符。下游卷处理器204还可以执行指令324以判定所接收到的上游卷的上一个快照ID是否小于或等于下游卷上一个快照ID。下游卷上一个快照ID可以是下游卷的上一个创建的快照的标识符,其可以在每次创建下游卷的快照时递增。
基于确定从上游卷处理器402接收的上游卷的上一个快照ID大于下游卷上一个快照,下游卷处理器204可以执行指令326以将接收到的IO保存在队列中并在创建下游卷的快照之后或者在由于到期时间到期而解除冻结下游卷之后接受接收到的IO。在这方面,在例如上游卷处理器402已经发送了快照许可消息并且解除冻结了上游卷以及新的IO(其在下游卷被冻结时被发送到下游卷以用于复制)被接收到了的情况下,下游卷处理器204可以保留从上游卷处理器402接收IO的顺序。
代替机器可读存储介质110、210、410,上游卷控制器100、400和/或下游卷控制器202可以包括可以执行类似于对应指令112至120、312至326和412至422的功能的硬件逻辑块。在其他示例中,上游卷控制器100、400和/或下游卷控制器202可以包括指令和硬件逻辑块的组合,以实施或执行对应于对应指令112至120、312至326和412至422的功能。在这些示例中的任何一个中,处理器102可以实施硬件逻辑块和/或执行指令112至120、412至422和/或下游卷处理器204可以实施硬件逻辑块和/或执行指令312至326。如本文所讨论的,上游卷控制器100、400和/或下游卷控制器202还可以包括附加指令和/或硬件逻辑块,使得处理器102、402和/或下游卷处理器204可以执行除了或代替以上参考图1至图4所讨论的那些操作之外的操作。
上游卷控制器100、400和下游卷控制器202可以操作的各种方式将关于图5和图6中分别描绘的方法500和600更详细地讨论。具体地,图5描绘了用于管理源卷的示例方法500的流程图,并且图6描绘了用于管理目标卷的示例方法600的流程图。应该理解的是,方法500和600可以包括附加操作,并且在不脱离方法500和600的范围的情况下可以移除和/或修改其中描述的一些操作。出于说明的目的,参考图1至图4中描绘的特征来描述方法500和600。
首先参考图5,在框502处,处理器102、402可以接收冻结源卷的指令。源卷可以等同于本文讨论的上游卷,并且处理器102、402可以接收来自主机220的指令。另外,在框504处,处理器102、402可以冻结源卷。即,处理器102、402可以阻止或防止IO在源卷上执行。
在框506处,处理器102、402可以接收针对源卷的快照创建请求。处理器102、402可以接收来自主机220的快照创建请求。另外,在框508处,处理器102、402可以以与以上讨论的方式类似的方式获取源卷的快照。尽管被叙述为单独的操作,但是处理器102、402可以接收冻结源卷以及创建快照的指令作为组合指令的一部分。
在框510处,处理器102、402可以判定目标卷是否与源卷同步。基于关于目标卷是否与源卷同步的判定,在框512处,处理器102、402可以将快照许可消息和快照中止消息中的一者发送到目标卷处理器204。另外,在框514处,处理器102、402可以响应于以下各项操作中的至少一项来解冻源卷:发送快照许可消息或快照中止消息中的一者、或者与上游卷要保持冻结的最大时间段相对应的超时到期。换言之,处理器102、402可以在将快照许可消息或快照中止消息发送到目标卷处理器204之后或者在超时到期时立即解除冻结源卷。
如本文所讨论的,基于确定目标卷与源卷同步,处理器102、402可以将快照许可消息发送到目标卷处理器204。然而,基于确定目标卷与源卷不同步,处理器102、402可以将快照中止消息发送到目标卷处理器204。基于接收到快照中止消息,目标卷处理器204可以跳过或中止目标卷的快照的创建。在其他示例中,基于确定目标卷与源卷不同步,处理器102、402可以等待将快照许可消息发送到目标卷处理器204,直到确定目标卷与源卷同步。
根据示例,处理器102、402可以在解冻源卷之后将源卷的IO和上一个快照ID发送到目标卷处理器204,源卷的上一个快照ID对应于源卷的不包括IO的最近快照。另外,如图6所示,在框602处,目标卷处理器204可以接收来自处理器102、402的源卷的IO和上一个快照ID。在框604处,目标卷处理器204可以判定接收到的源卷的上一个快照ID是否小于或等于目标卷上一个快照ID。基于接收到的源卷的上一个快照ID小于或等于目标卷上一个快照ID,在框606处,目标卷处理器204可以接受(例如,提交)接收到的IO并且在接受接收到的IO之后可以获取目标卷的快照。然而,基于源卷的上一个快照ID大于目标卷上一个快照ID,在框608处,目标卷处理器204可以将接收到的IO保存在队列中并且可以在获取目标卷的快照之后或者在由于到期时间到期而解除冻结目标卷之后接受(例如,提交)接收到的IO。
方法500和方法600中阐述的一些或所有操作可以作为实用程序、程序或子程序包含在任何期望的计算机可访问介质中。另外,方法500和600可以由计算机程序实施,所述计算机程序可以以各种形式存在。例如,方法500和600的一些操作可以作为机器可读指令存在,包括源代码、目标代码、可执行代码或其他格式。上述任一种指令都可以实施在非暂时性计算机可读存储介质上。
非暂时性计算机可读存储介质的示例包括计算机系统的RAM、ROM、EPROM、EEPROM以及磁盘或光盘或磁带。因此,应当理解的是,能够执行上述功能的任何电子设备都可以执行以上枚举的那些功能。
现在参考图7,示出了用于在实施快照创建操作时管理下游卷处理器的示例非暂时性机器可读存储介质700的框图。机器可读存储介质700可以是包含或存储可执行指令的电子、磁性、光学或其他物理存储设备。机器可读存储介质700可以是例如随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储设备、光盘等。
非暂时性机器可读存储介质700其上可以存储有处理器(例如,下游卷处理器204)可以执行的机器可读指令702至718。机器可读指令702可以使处理器接收(例如,来自管理实体222的)冻结下游卷的指令。机器可读指令704可以使处理器基于接收到冻结下游卷的指令来冻结下游卷。机器可读指令706可以使处理器启动具有到期时间的定时器。机器可读指令708可以使处理器接收(例如来自管理实体222的)创建下游卷的快照的指令。机器可读指令710可以使处理器接收来自上游卷处理器102、402的快照许可消息或快照中止消息中的一者。机器可读指令712可以使处理器创建快照或中止快照的创建并解除冻结下游卷。如本文所讨论的,无论快照是被创建还是中止,处理器都可以在到期时间到期之后解除冻结下游卷。
机器可读指令714可以使处理器在接收到冻结下游卷的指令之后,接收来自上游卷处理器102、402的上游卷的输入/输出(IO)和上一个快照标识符(ID)。另外,机器可读指令716可以使处理器判定所接收到的上游卷的上一个快照ID是否小于或等于下游卷上一个快照ID。基于上游卷的上一个快照ID大于下游卷上一个快照ID,机器可读指令718可以使处理器将接收到的IO保存在队列中并在创建下游卷的快照之后或者在由于到期时间到期而解除冻结下游卷之后接受接收到的IO。
尽管贯穿整个本公开进行了具体描述,但本公开的代表性示例在广泛应用范围内具有实用性,并且以上讨论不旨在且不应被解释为限制性的,而是作为本公开各方面的说明性讨论来提供。
本文中已经描述和图示的是本公开的示例以及其一些变型。本文中使用的术语、描述和附图仅以说明的方式阐述,并不意味着限制。在本公开的精神和范围内许多变化是可能的,本公开的精神和范围旨在由以下权利要求及其等同物限定,其中,除非另外指明,否则所有术语都是指其最广泛的合理意义。
Claims (20)
1.一种存储系统,包括:
上游卷控制器,具有:
处理器;以及
非暂时性机器可读存储介质,所述非暂时性机器可读存储介质包括可由所述处理器执行以进行以下操作的指令:
冻结上游卷,所述上游卷处于具有下游卷的复制集内;
接收快照创建请求;
创建所述上游卷的快照;
响应于所述下游卷与所述上游卷同步,将快照许可消息发送到下游卷处理器;
响应于所述下游卷与所述上游卷不同步,将快照中止消息发送到所述下游卷处理器;以及
响应于以下各项操作中的至少一项来解除冻结所述上游卷:
将所述快照许可消息发送到所述下游卷处理器;
将所述快照中止消息发送到所述下游卷处理器;或者
与所述上游卷要保持冻结的最大时间段相对应的超时到期。
2.如权利要求1所述的存储系统,其中,所述指令进一步可由所述处理器执行以:
判定所述下游卷是否与所述上游卷同步。
3.如权利要求1所述的存储系统,其中,为了冻结所述上游卷,所述指令进一步可由所述处理器执行以:
接收冻结所述上游卷的指令;以及
基于接收到冻结所述上游卷的指令而冻结所述上游卷。
4.如权利要求3所述的存储系统,其中,所述指令进一步可由所述处理器执行以接收来自组管理守护进程的所述快照创建请求和冻结所述上游卷的指令。
5.如权利要求1所述的存储系统,其中,所述指令进一步可由所述处理器执行以:
标识最近创建的快照的上一个快照标识符ID,其中,针对每个连续创建的快照递增所述上一个快照标识符ID;
利用所述上游卷的所述上一个快照标识符ID来标记输入/输出IO;以及
将所标记的IO发送到所述下游卷处理器。
6.如权利要求1所述的存储系统,进一步包括:
下游卷控制器,所述下游卷控制器具有:
所述下游卷处理器;以及
下游卷非暂时性机器可读存储介质,所述下游卷非暂时性机器可读存储介质包括可由所述下游卷处理器执行以进行以下操作的下游卷指令:
基于接收到所述快照许可消息,创建所述下游卷的快照;以及
基于接收到所述快照中止消息,中止创建所述下游卷的所述快照。
7.如权利要求6所述的存储系统,其中,所述下游卷指令进一步可由所述下游卷处理器执行以:
接收来自管理实体的冻结所述下游卷的指令;以及
在创建所述下游卷的所述快照之前,基于接收到冻结所述下游卷的指令而冻结所述下游卷。
8.如权利要求7所述的存储系统,其中,所述下游卷指令进一步可由所述下游卷处理器执行以:
从所述下游卷被冻结的时间开始启动具有到期时间的定时器;
判定在所述定时器到达所述到期时间之后是否接收到创建所述下游卷的所述快照的指令、接收到所述快照许可消息、或者接收到所述快照中止消息;以及
基于在所述定时器到达所述到期时间之后接收到创建所述下游卷的所述快照的指令、接收到所述快照许可消息、或者接收到所述快照中止消息中的任意一者,中止所述下游卷的所述快照的创建。
9.如权利要求7所述的存储系统,其中,所述下游卷指令进一步可由所述下游卷处理器执行以:
在接收到冻结所述下游卷的指令之后,
接收来自所述处理器的输入/输出IO和上一个快照标识符ID;
判定所接收到的上一个快照标识符ID是否小于或等于下游卷上一个快照标识符ID;以及
基于所接收到的所述上游卷的上一个快照标识符ID小于或等于所述下游卷上一个快照标识符ID,接受所接收到的IO。
10.如权利要求9所述的存储系统,其中,所述下游卷指令进一步可由所述下游卷处理器执行以:
基于所接收到的上一个快照标识符ID大于所述下游卷上一个快照标识符ID,
将所接收到的IO保存在队列中;以及
在创建所述下游卷的所述快照之后或者在由于到期时间到期而解除冻结所述下游卷之后,接受所接收到的IO。
11.如权利要求1所述的存储系统,其中,所述下游卷是所述上游卷的备份卷。
12.一种计算机实施的方法,包括:
由处理器接收冻结源卷的指令,所述源卷是具有目标卷的复制集的一部分;
由所述处理器冻结所述源卷;
由所述处理器接收对于所述源卷的快照创建请求;
由所述处理器获取所述源卷的快照;
响应于所述目标卷与所述源卷同步,将快照许可消息发送到目标卷处理器;
响应于所述目标卷与所述源卷不同步,将快照中止消息发送到所述目标卷处理器;以及
由所述处理器响应于以下各项操作中的至少一项来解冻所述源卷:
将所述快照许可消息发送到所述目标卷处理器;
将所述快照中止消息发送到所述目标卷处理器;或者
与所述源卷要保持冻结的最大时间段相对应的超时到期。
13.如权利要求12所述的方法,进一步包括:
由所述处理器判定所述目标卷是否与所述源卷同步。
14.如权利要求12所述的方法,进一步包括:
在解冻所述源卷之后将所述源卷的输入/输出IO和上一个快照标识符ID发送到所述目标卷处理器,所述源卷的所述上一个快照标识符ID对应于所述源卷的不包括所述IO的最近快照。
15.如权利要求14所述的方法,进一步包括:
由所述目标卷处理器接收所述源卷的IO和所述上一个快照标识符ID;
判定所接收到的所述源卷的上一个快照标识符ID是否小于或等于目标卷上一个快照标识符ID;
基于所接收到的所述源卷的上一个快照标识符ID小于或等于所述目标卷上一个快照标识符ID,接受所接收到的IO。
16.如权利要求15所述的方法,进一步包括:
基于所述源卷的所述上一个快照标识符ID大于所述目标卷上一个快照标识符ID,
将所接收到的IO保存在队列中;以及
在获取所述目标卷的快照之后接受所接收到的IO。
17.如权利要求12所述的方法,进一步包括:
由所述目标卷处理器接收所述快照许可消息和所述快照中止消息中的一者;
基于接收到所述快照许可消息,创建所述目标卷的快照;以及
基于接收到所述快照中止消息,中止创建所述目标卷的所述快照。
18.一种非暂时性机器可读存储介质,包括指令,所述指令在由下游卷处理器执行时使所述下游卷处理器:
接收来自管理实体的冻结下游卷的指令;
基于接收到冻结所述下游卷的指令而冻结所述下游卷;
从所述下游卷被冻结的时间开始启动具有到期时间的定时器;
接收来自所述管理实体的创建所述下游卷的快照的指令;
接收来自上游卷处理器的快照许可消息或快照中止消息中的一者;
判定在所述定时器到达所述到期时间之后是否接收到创建所述快照的指令、接收到所述快照许可消息、或者接收到所述快照中止消息;以及
基于在所述定时器到达所述到期时间之后接收到创建所述快照的指令、所述快照许可消息或者所述快照中止消息中的任一者,中止所述快照的创建。
19.如权利要求18所述的非暂时性机器可读存储介质,其中,所述指令进一步用于使所述下游卷处理器:
接收来自所述上游卷处理器的输入/输出IO和上一个快照标识符ID;以及
判定所接收到的上一个快照标识符ID是否小于或等于下游卷上一个快照标识符ID。
20.如权利要求19所述的非暂时性机器可读存储介质,其中,所述指令进一步用于使所述下游卷处理器:
基于所接收到的上一个快照标识符ID大于所述下游卷上一个快照标识符ID,
将所接收到的IO保存在队列中;以及
在创建所述下游卷的所述快照之后或者在由于所述到期时间到期而解除冻结所述下游卷之后,接受所接收到的IO。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/040,129 | 2018-07-19 | ||
US16/040,129 US10705927B2 (en) | 2018-07-19 | 2018-07-19 | Freeze a volume of a replication set and unfreeze the volume based on at least one of a snapshot permit message, a snapshot abort message, and expiration of a timeout |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110737542A CN110737542A (zh) | 2020-01-31 |
CN110737542B true CN110737542B (zh) | 2022-02-25 |
Family
ID=69161922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910612323.9A Active CN110737542B (zh) | 2018-07-19 | 2019-07-09 | 冻结和解除冻结上游卷和下游卷的存储系统、方法和介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10705927B2 (zh) |
CN (1) | CN110737542B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11221928B2 (en) * | 2019-04-18 | 2022-01-11 | Netapp, Inc. | Methods for cache rewarming in a failover domain and devices thereof |
US11755226B2 (en) | 2020-09-18 | 2023-09-12 | Hewlett Packard Enterprise Development Lp | Tracking changes of storage volumes during data transfers |
CN112764907B (zh) * | 2021-01-26 | 2024-05-10 | 网易(杭州)网络有限公司 | 一种任务处理方法、装置、电子设备和存储介质 |
US11720274B2 (en) | 2021-02-03 | 2023-08-08 | Hewlett Packard Enterprise Development Lp | Data migration using cache state change |
US11513705B2 (en) * | 2021-04-19 | 2022-11-29 | EMC IP Holding Company, LLC | System and method for volume polarization across multiple storage systems |
US11693565B2 (en) | 2021-08-10 | 2023-07-04 | Hewlett Packard Enterprise Development Lp | Storage volume synchronizations responsive to communication link recoveries |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6708227B1 (en) * | 2000-04-24 | 2004-03-16 | Microsoft Corporation | Method and system for providing common coordination and administration of multiple snapshot providers |
CN100359476C (zh) * | 2004-06-03 | 2008-01-02 | 华为技术有限公司 | 一种快照备份的方法 |
EP1816563B1 (en) * | 2006-01-26 | 2016-04-27 | Infortrend Technology, Inc. | Method of managing data snapshot images in a storage system |
US8010495B1 (en) * | 2006-04-25 | 2011-08-30 | Parallels Holdings, Ltd. | Method and system for fast generation of file system snapshot bitmap in virtual environment |
US7844787B2 (en) | 2006-12-18 | 2010-11-30 | Novell, Inc. | Techniques for data replication with snapshot capabilities |
US8250323B2 (en) * | 2007-12-06 | 2012-08-21 | International Business Machines Corporation | Determining whether to use a repository to store data updated during a resynchronization |
US8438347B1 (en) | 2008-03-27 | 2013-05-07 | Symantec Corporation | Techniques for proactive synchronization of backups on replication targets |
US8301593B2 (en) | 2008-06-12 | 2012-10-30 | Gravic, Inc. | Mixed mode synchronous and asynchronous replication system |
US8090907B2 (en) | 2008-07-09 | 2012-01-03 | International Business Machines Corporation | Method for migration of synchronous remote copy service to a virtualization appliance |
US8108575B2 (en) | 2009-02-03 | 2012-01-31 | International Business Machines Corporation | Methods of multi-server application synchronization without stopping I/O |
JP2013543198A (ja) * | 2010-11-16 | 2013-11-28 | アクティフィオ インコーポレイテッド | データ管理仮想化のためのシステムおよび方法 |
WO2012167583A1 (en) * | 2011-07-01 | 2012-12-13 | Huawei Technologies Co., Ltd. | System and method for providing reliable storage |
US8516210B2 (en) * | 2011-12-21 | 2013-08-20 | Microsoft Corporation | Application consistent snapshots of a shared volume |
US8977879B2 (en) * | 2012-03-30 | 2015-03-10 | Motorola Solutions, Inc. | Method and apparatus for enhancing a multi-stage hibernate and resume process |
US9659077B2 (en) * | 2012-06-18 | 2017-05-23 | Actifio, Inc. | System and method for efficient database record replication using different replication strategies based on the database records |
US9003432B1 (en) * | 2012-06-28 | 2015-04-07 | Emc Corporation | Efficient management of kernel driver performance data |
US9218255B2 (en) * | 2012-08-27 | 2015-12-22 | International Business Machines Corporation | Multi-volume instant virtual copy freeze |
CN104182353A (zh) * | 2014-08-21 | 2014-12-03 | 段超 | 一种采用不同存储介质的数据存储系统 |
US10467246B2 (en) * | 2014-11-25 | 2019-11-05 | Hewlett Packard Enterprise Development Lp | Content-based replication of data in scale out system |
US10949309B2 (en) * | 2015-12-28 | 2021-03-16 | Netapp Inc. | Snapshot creation with synchronous replication |
CN106844597A (zh) * | 2017-01-14 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种快速删除依赖快照目标卷的方法及其装置 |
CN106991003B (zh) * | 2017-03-06 | 2023-07-07 | 宇龙计算机通信科技(深圳)有限公司 | 冻结和解冻文件夹内批量应用程序的方法及系统 |
US10956079B2 (en) * | 2018-04-13 | 2021-03-23 | Hewlett Packard Enterprise Development Lp | Data resynchronization |
US10691369B2 (en) * | 2018-04-23 | 2020-06-23 | Hewlett Packard Enterprise Development Lp | Pool partner based replication |
-
2018
- 2018-07-19 US US16/040,129 patent/US10705927B2/en active Active
-
2019
- 2019-07-09 CN CN201910612323.9A patent/CN110737542B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110737542A (zh) | 2020-01-31 |
US20200026617A1 (en) | 2020-01-23 |
US10705927B2 (en) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737542B (zh) | 冻结和解除冻结上游卷和下游卷的存储系统、方法和介质 | |
US8407435B2 (en) | Efficiently creating a snapshot of a large consistency group using multiple commands including a snapshot preparation command | |
US8788768B2 (en) | Maintaining mirror and storage system copies of volumes at multiple remote sites | |
US9448891B2 (en) | Performing a data write on a storage device | |
US9298507B2 (en) | Data processing resource management | |
KR101351222B1 (ko) | 기록 큐잉 메커니즘을 이용한 다중 어레이 일관성 그룹 구현 방법 및 컴퓨터 판독 가능 매체 | |
US20160072888A1 (en) | Sending interim notifications for namespace operations for a distributed filesystem | |
US20160072889A1 (en) | Maintaining global namespace consistency for a distributed filesystem | |
US20180101558A1 (en) | Log-shipping data replication with early log record fetching | |
JP2009157785A (ja) | 待機系計算機の追加方法、計算機及び計算機システム | |
US20170161296A1 (en) | Automatic Detection, Retry, and Resolution of Errors in Data Synchronization | |
US8903775B2 (en) | Using a heartbeat signal to maintain data consistency for writes to source storage copied to target storage | |
WO2020033323A1 (en) | Ordinary write in distributed system maintaining data storage integrity | |
US7890715B2 (en) | Suspension of an asynchronous remote copy pair system having a primary controller and a remote controller | |
US10761748B2 (en) | Future write in distributed system maintaining data storage integrity | |
CN111684407B (zh) | 多个数据存储系统中的同步安全数据提交扫描 | |
US10740007B2 (en) | Synchronized primary-secondary role swaps with synchronized safe data commit scans | |
CN114201109A (zh) | 跟踪存储卷在数据传递期间的变化 | |
US10691370B2 (en) | Assignment of a data identifier to first and second volumes |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: P. kilamsetti Inventor after: T. Balszczak Inventor after: M. M. sanhavi Inventor before: K. Kiransetti Inventor before: T. Balszczak Inventor before: M. M. sanhavi |
|
CB03 | Change of inventor or designer information |