SYNCHRONOUS REPLICATION
First Claim
1. A method comprising:
- receiving, by a storage server, a write operation targeting a first storage object hosted by a first storage controller, the first storage object having a synchronous replication relationship with a first replication storage object hosted by a second storage controller and a second replication storage object hosted by a third storage controller;
splitting the write operation into a first replication write operation targeting the first replication storage object and a second replication write operation targeting the second replication storage object;
implementing the write operation upon the first storage object, the first replication write operation upon the first replication storage object, and the second replication write operation upon the second replication storage object in parallel; and
withholding a client acknowledgement that the write operation is complete until the write operation, the first replication write operation, and the second replication write operation are complete.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
34 Citations
20 Claims
-
1. A method comprising:
-
receiving, by a storage server, a write operation targeting a first storage object hosted by a first storage controller, the first storage object having a synchronous replication relationship with a first replication storage object hosted by a second storage controller and a second replication storage object hosted by a third storage controller; splitting the write operation into a first replication write operation targeting the first replication storage object and a second replication write operation targeting the second replication storage object; implementing the write operation upon the first storage object, the first replication write operation upon the first replication storage object, and the second replication write operation upon the second replication storage object in parallel; and withholding a client acknowledgement that the write operation is complete until the write operation, the first replication write operation, and the second replication write operation are complete. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
-
receive a first replication write operation, corresponding to a replication of a write operation received by a first storage controller for implementation upon a first storage object hosted by the first storage controller, for parallel implementation upon a first replication storage object hosted by a second storage controller; receive a retry first replication write operation corresponding to a retry of the first replication write operation triggered in response to a lifecycle of the write operation indicating that the first replication write operation previously encountered an issue; and responsive to the retry first replication write operation being received before the first replication write operation; implement the retry first replication write operation upon the first replication storage object; and disregard the first replication write operation based upon an enforcement of a single write semantic for the first replication storage object. - View Dependent Claims (19)
-
-
20. A computing device comprising:
-
a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of synchronous replication; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to; receive a write operation targeting a first storage object hosted by a first storage controller, the first storage object having a synchronous replication relationship with a first replication storage object hosted by a second storage controller and a second replication storage object hosted by a third storage controller; split the write operation into a first replication write operation targeting the first replication storage object and a second replication write operation targeting the second replication storage object; utilize a zero-copy operation to implement the write operation upon the first storage object, the first replication write operation upon the first replication storage object, and the second replication write operation upon the second replication storage object in parallel, the zero-copy operation using a data reference in place of copying data associated with the write operation; and withhold a client acknowledgement that the write operation is complete until the write operation, the first replication write operation, and the second replication write operation are complete.
-
Specification