Abstract:
One or more techniques and/or computing devices are provided for utilizing snapshots for data integrity validation and/or faster application recovery. For example, a first storage controller, hosting first storage, has a synchronous replication relationship with a second storage controller hosting second storage. A snapshot replication policy rule is defined to specify that a replication label is to be used for snapshot create requests, targeting the first storage, that are to be replicated to the second storage. A snapshot creation policy is created to issue snapshot create requests comprising the replication label. Thus a snapshot of the first storage and a replication snapshot of the second storage are created based upon a snapshot create request comprising the replication label. The snapshot and the replication snapshot may be compared for data integrity validation (e.g., determine whether the snapshots comprise the same data) and/or quickly recovering an application after a disaster.
Abstract:
A request to generate a storage system model is received. The storage system model represents at least a portion of a storage system. In response to receiving the request, a storage system interface configuration is loaded. The storage system interface configuration comprises an attribute of an entity model. The attribute corresponds to an attribute of a storage system entity of the storage system. Further in response to receiving the request, the entity model is identified as representing the storage system entity. In response to identifying the entity model as representing the storage system entity, the entity model is instantiated.
Abstract:
One or more techniques and/or computing devices are provided for non- disruptively establishing a synchronous replication relationship between a primary volume and a secondary volume and/or for resynchronizing the primary volume and the secondary volume. For example, a baseline snapshot and one or more incremental snapshots of the primary volume are used to construct and incrementally update the secondary volume with data from the primary volume. A dirty region log is used to track modifications to the primary volume. A splitter object is used to split client write requests to the primary volume and to the secondary volume. A synchronous transfer engine session is initiated to processing incoming client write requests using the dirty region log. A cutover scanner is used to transfer dirty data from the primary volume to the secondary volume. In this way, a synchronous replication relationship is established between the primary volume and the secondary volume.
Abstract:
One or more techniques and/or computing devices are provided for determining whether to perform a switchover operation between computing nodes. A first computing node and a second computing node, configured as disaster recovery partners, may be deployed within a computing environment. The first computing node and the second computing node may be configured to provide operational state information (e.g., normal operation, a failure, etc.) to a cloud environment node state provider and/or cloud persistent storage accessible through a cloud storage service. Accordingly, a computing node may obtain operational state information of a partner node from the cloud environment node state provider and/or the cloud storage service notwithstanding a loss of internode communication and/or an infrastructure failure that may otherwise appear as a failure of the partner node. In this way, the computing node may accurately determine whether the partner node has failed.
Abstract:
Exemplary embodiments provide methods, mediums, and systems for replicating metafiles between a source and a destination. The metafile may be subdivided into blocks. The contents of the metafile may be transferred by locating the blocks which are changed between the source version of the metafile and the destination version of the metafile. The changed blocks may be examined to retrieve the contents of the changed blocks. The records in the changed blocks may be evaluated to determine whether to create a corresponding record at the destination, delete a corresponding record at the destination, or update a corresponding record atthe destination. Accordingly, the metafile may be replicated in a logical manner, by transferring only changed records rather than the entirety of a changed block. Moreover, the transfer is conducted efficiently because unchanged blocks are eliminated from consideration at the outset.
Abstract:
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.
Abstract:
One or more techniques and/or systems are provided for dynamic mirroring. A first storage node and the second storage node within a first storage cluster may locally mirror data between one another based upon a local failover partnership. The first storage node and a third storage node within a second storage cluster may remotely mirror data between one another based upon a primary disaster recovery partnership. If the third storage node fails, then the first storage node may remotely mirror data to a fourth storage node within the second storage cluster based upon an auxiliary disaster recovery partnership. In this way, data loss protection for the first storage node may be improved, such that the fourth storage node provide clients with access to mirrored data from the first storage node in the event the second storage node and/or the third storage node are unavailable when the first storage node fails.
Abstract:
A storage manager can reduce the overhead of parity based fault tolerance by leveraging the access performance of SSDs for the parities. Since reading a parity value can be considered a small read operation, the reading of parity from an SSD is an effectively "free" operation due to the substantially greater SSD read performance. With reading parity being an effectively free operation, placing parity on SSDs eliminates the parity read operations (in terms of time) from the parity based fault tolerance overhead. A storage manager can selectively place parity on SSDs from HDDs based on a criterion or criteria, which can relate to frequency of access to the data corresponding to the parity. The caching criterion can be defined to ensure the reduced overhead gained by reading parity values from a SSD outweighs any costs (e.g., SSD write endurance).
Abstract:
A method, non-transitory computer readable medium, and apparatus that monitors with a passive storage controller a plurality of active storage controllers. A determination is made with the passive storage controller when a failure of one of the active storage controllers has occurred based on the monitoring. Storage device(s) previously assigned to the one of the active storage controllers are remapped to the passive storage controller. A transaction log associated with the one of the active storage controllers is retrieved with the passive storage controller from a transaction log database. Transaction(s) in the transaction log are replayed with the passive storage controller, when the failure of the one of the active storage controllers is determined to have occurred.
Abstract:
Various embodiments are generally directed to techniques for handling errors affecting the at least partially parallel performance of data access commands between nodes of a storage cluster system. An apparatus may include a processor component of a first node, an access component to perform a command received from a client device via a network to alter client device data stored in a first storage device coupled to the first node, a replication component to transmit a replica of the command to a second node via the network to enable performance of the replica by the second node at least partially in parallel, an error component to retry transmission of the replica based on a failure indicated by the second node and a status component to select a status indication to transmit to the client device based on the indication of failure and results of retrial of transmission of the replica.