Patent classifications
G06F11/2074
SYNCHRONOUS REPLICATION IN A DISTRIBUTED STORAGE ENVIRONMENT
Embodiments of the present invention relate to synchronously replicating data in a distributed computing environment. To achieve synchronous replication both an eventual consistency approach and a strong consistency approach are contemplated. Received data may be written to a log of a primary data store for eventual committal. The data may then be annotated with a record, such as a unique identifier, which facilitates the replay of the data at a secondary data store. Upon receiving an acknowledgment that the secondary data store has written the data to a log, the primary data store may commit the data and communicate an acknowledgment of success back to the client. In a strong consistency approach, the primary data store may wait to send an acknowledgement of success to the client until it receives an acknowledgment that the secondary has not only written, but also committed, the data.
Data recovery using bitmap data structure
Examples of the present disclosure describe implementing bitmap-based data replication when a primary form of data replication between a source device and a target device cannot be used. According to one example, a temporal identifier may be received from the target device. If the source device determines that the primary replication method is unable to be used to replicate data associated with the temporal identifier, a secondary replication method may be initiated. The secondary replication method may utilize a recovery bitmap identifying data blocks that have changed on the source device since a previous event.
Efficient migration between asynchronous data replication technologies
A method for converting from one asynchronous data replication technology to another is disclosed herein. In one embodiment, such a method includes utilizing a first asynchronous data replication technology to asynchronously replicate data from a primary volume to a secondary volume. The method initiates, at time T1, tracking of post-T1 changes to the primary volume and waits for all pre-T1 changes to the primary volume to be propagated to the secondary volume. When all pre-T1 changes have been propagated to the secondary volume, the method suspends operation of the first asynchronous data replication technology and replicates all post-T1 changes from the primary volume to the secondary volume. The method further sets up and initiates a second asynchronous data replication technology to asynchronously replicate data from the primary volume to the secondary volume. A corresponding system and computer program product are also disclosed herein.
Achieving near-zero added latency for any point in time OS kernel-based application replication
One example method includes intercepting an IO issued by an application, writing the IO and IO metadata to a splitter journal in NVM, forwarding the IO to storage, and asynchronous with operations occurring along an IO path between the application and storage, evacuating the splitter journal by sending the IO and IO metadata from the splitter journal to a replication site. In this example, sending the IO and IO metadata from the journal to the replication site does not increase a latency associated with the operations on the IO path.
Remote data replication method and system
A remote data replication method and a storage system, where a production array sends a data replication request to a disaster recovery array. The data replication request includes an identifier of a source object and a data block corresponding to the source object. The data block is stored in physical space of a hard disk of the production array. The disaster recovery array receives the data replication request. The disaster recovery array creates a target object when the disaster recovery array does not include an object having a same identifier as the source object. An identifier of the target object is the same as the identifier of the source object, the disaster recovery array writes the data block into the physical space.
Granular tracking of replication consistency using subsets of asynchronous replication tasks
Sets of asynchronous replication operations may be tracked to ensure consistency. A tracking service may receive notifications of pending asynchronous replication tasks, and responsive to receiving a manifest indicating a request to be notified upon completion of a set of pending replication asynchronous tasks, matches individual ones of the tasks within the set to tasks indicated as pending. The tracking service may then select a routing table based on a most recent sequence number associated with the set of tasks, determine one of more tracking nodes assigned to track the set of tasks, and send the manifest to each of the tracking nodes. As individual ones of the tasks complete, notifications of completion may be sent to the tracking nodes and an aggregator node aggregates the completion notifications for the set. Once all completion notifications are received, a response to the request indicating completion may be sent.
ACHIEVING NEAR-ZERO ADDED LATENCY FOR ANY POINT IN TIME OS KERNEL-BASED APPLICATION REPLICATION
One example method includes intercepting an IO issued by an application, writing the IO and IO metadata to a splitter journal in NVM, forwarding the IO to storage, and asynchronous with operations occurring along an IO path between the application and storage, evacuating the splitter journal by sending the IO and IO metadata from the splitter journal to a replication site. In this example, sending the IO and IO metadata from the journal to the replication site does not increase a latency associated with the operations on the IO path
Hierarchical consistency group for storage and associated methods thereof
Methods and systems for using a hierarchical consistency group (CG) in a storage system are provided. A parent CG is associated with at least a first child CG having a plurality of storage volumes. An atomic application programming interface (API) provisions the parent CG and the first child CG by allocating storage and storing policies for the parent CG and the first CG. A storage service selected from a backup service, a replication service and a cloning service for the parent CG and the first CG is executed based on the stored policies.
Remote data replication method and system
A remote data replication method and a storage system, where a production array sends a data replication request to a disaster recovery array. The data replication request includes an identifier of a source object and a data block corresponding to the source object. The data block is stored in physical space of a hard disk of the production array. The disaster recovery array receives the data replication request. The disaster recovery array creates a target object when the disaster recovery array does not include an object having a same identifier as the source object. An identifier of the target object is the same as the identifier of the source object, the disaster recovery array writes the data block into the physical space.
Techniques for providing intersite high availability of data nodes in a virtual cluster
Creating and using a virtual cluster may include: creating a first cluster logical device on a first data storage system including data nodes; creating a second cluster logical device on a second data storage system including data nodes; configuring the first cluster logical device and the second cluster logical device as a same first logical device; establishing bidirectional remote replication between the first and second cluster logical devices; determining pairs of data nodes including a data node from the first data storage system and another data node from the second data storage system; determining a failure of a first data node on the first data storage system, wherein one of the pairs of data nodes includes the first data node and a second data node of the second data storage system; and responsive to determining the failure of the first data node, performing failover processing by the second data node.