Patent classifications
G06F11/2076
MEDIATOR ASSISTED SWITCHOVER BETWEEN CLUSTERS
Techniques are provided for metadata management for enabling automated switchover. An initial quorum vote may be performed before a node executes an operation associated with metadata comprising operational information and switchover information. After the initial quorum vote is performed, the node executes the operation upon one or more mailbox storage devices. Once the operation has executed, a final quorum vote is performed. The final quorum vote and the initial quorum vote are compared to determine whether the operation is to be designated as successful or failed, and whether any additional actions are to be performed.
Data synchronization
One or more techniques and/or computing devices are provided for data synchronization. For example, an in-flight log may be maintained to track storage operations that are received by a first storage node, but have not been committed to both first storage of the first storage node and second storage of a second storage node that has a replication relationship, such as a disaster recovery relationship, with the first storage node. A dirty region log may be maintained to track regions within the first storage that have been modified by storage operations that have not been replicated to the second storage. Accordingly, a catchup synchronization phase (e.g., asynchronous replication by a resync scanner) may be performed to replicate storage operations (e.g., replicate data within dirty regions of the first storage that were modified by such storage operations) to the second storage until the first storage and the second storage are synchronized.
Resilient Mediation Between Storage Systems Replicating A Dataset
Resilient mediation between storage systems replicating a dataset, including: receiving, by a mediation service from one or more storage systems that synchronously replicate a dataset, a request to resolve which storage system continues to service a dataset after the request; and sending, from the mediation service to at least one of the storage systems, a positive mediation result, wherein: the storage systems that received the positive mediation result continue to process data storage requests directed to the dataset, and the storage systems that did not receive a positive mediation result from the mediation service do not continue to process data storage requests directed to the dataset.
Synchronous Replication Of High Throughput Streaming Data
A method for synchronous replication of stream data includes receiving a stream of data blocks for storage at a first storage location associated with a first geographical region and at a second storage location associated with a second geographical region. The method also includes synchronously writing the stream of data blocks to the first storage location and to the second storage location. While synchronously writing the stream of data blocks, the method includes determining an unrecoverable failure at the second storage location. The method also includes determining a failure point in the writing of the stream of data blocks that demarcates data blocks that were successfully written and not successfully written to the second storage location. The method also includes synchronously writing, starting at the failure point, the stream of data blocks to the first storage location and to a third storage location associated with a third geographical region.
Accelerating Segment Metadata Head Scans For Storage System Controller Failover
Accelerating segment metadata head scans for storage system controller failover, including: receiving, by a secondary storage unit corresponding to a primary storage unit, a request to store a data segment; storing the data segment and segment metadata at the head of the data segment; and storing, in a data structure, data indicating an erase block storing the segment metadata and indicating an offset in the erase block where the segment metadata is stored.
Synchronous replication
One or more techniques and/or computing devices are provided for synchronous replication. For example, synchronous replication relationships are established between a first storage object (e.g., a file, a logical unit number (LUN), a consistency group, etc.), hosted by a first storage controller, and a plurality of replication storage objects hosted by other storage controllers. In this way, a write operation to the first storage object is implemented in parallel upon the first storage object and the replication storage objects in a synchronous manner, such as using a zero-copy operation to reduce overhead otherwise introduced by performing copy operations. Reconciliation is performed in response to a failure so that the first storage object and the replication storage objects comprise consistent data. Failed write operations and replication write operations are retried, while enforcing a single write semantic. Dependent write order consistency is enforced for dependent write operations, such as overlapping write operations.
Providing Quality Of Service (QoS) For Replicating Datasets
Providing Quality of Service (QoS) for replicating datasets including: receiving, by a target data repository from a source data repository, a checkpoint describing one or more updates to one or more datasets stored in the source data repository and the target data repository; adding, by the target data repository, the checkpoint to a first queue for checkpoints directed to one or more volumes in the target data repository, wherein the first queue is included in a plurality of queues for the target data repository; selecting, by the target data repository, one or more queues from the plurality of queues; and servicing an operation from each of the selected one or more queues.
Provisioning and managing replicated data instances
A replicated database can be provisioned that provides primary and secondary replicas that can be provisioned in different data zones or geographical locations. The database can be installed on the primary replica, and both the primary and secondary replica can have installed a block level replication mechanism that allows any I/O operation to be replicated by between the primary and secondary replicas. Any failure or outage of the primary replica can be addressed by performing a failover operation to the secondary replica. A DNS name or other such approach can be used such that the name can be aliased to the secondary replica during a failover, such that there is no action needed on the part of the customer to utilize the “new” primary replica. The creation of the database and provisioning of the replicated instance can be initiated using a Web service call to a control environment. A replicated database can also be scaled according to storage or computing capacity with no disruption of service using a Web service call to the control environment.
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.
SYNCHRONOUS REPLICATION FOR STORAGE
One or more techniques and/or computing devices are provided for implementing synchronous replication. For example, a synchronous replication relationship may be established between a first storage controller hosting local storage and a second storage controller hosting remote storage (e.g., replication may be specified at a file, logical unit number (LUN), or any other level of granularity). Data operations and offloaded operations may be implemented in parallel upon the local storage and the remote storage. Error handling operations may be implemented upon the local storage and implement in parallel as a best effort on the remote storage, and a reconciliation may be performed to identify any data divergence from the best effort parallel implementation. Storage area network (SAN) operations may be implemented upon the local storage, and upon local completion may be remotely implemented upon the remote storage.