How Data Flows in VVR Synchronous Mode
This section explains how VVR processes an incoming write when replicating in synchronous mode.
Example---How Data Flows in the Synchronous Mode of Replication
Click the thumbnail above to view full-sized image.
In synchronous mode of replication, VVR processes an incoming write as follows:
-
VVR receives a write on the Primary.
-
Writes it to the Primary SRL.
-
Sends the write to the Secondary hosts and waits for the synchronous network acknowledgements from the Secondary hosts. At the same time, VVR writes to the data volumes on the Primary.
-
On the Secondary, VVR receives the write, processes it, and sends a network acknowledgement to the Primary.
-
Sends writes to the data volumes on the Secondary; when the Primary receives a network acknowledgement from all the Secondary hosts, VVR acknowledges to the application that the write is complete.
Note that the Secondary RVG sends the network acknowledgement as soon as the write is received in the VVR kernel memory. This removes the time required to write to the Secondary data volumes from the application latency. On the Primary, VVR does not wait for data to be written to the Secondary data volumes. This improves application performance. However, VVR tracks all such acknowledged writes that have not been written to the data volumes. VVR can replay these tracked writes if the Secondary crashes before writing to the data volumes on the Secondary or if the Primary crashes before it receives the data acknowledgement.
-
When the write is written to the data volumes on the Secondary, VVR on the Secondary sends a data acknowledgement to the Primary. VVR marks the write as complete in the SRL when the Primary receives the data acknowledgement from all the Secondary hosts.
When an RDS containing multiple Secondary RVGs is replicating in synchronous mode, the application latency is determined by the slowest Secondary. Overall performance in synchronous mode is determined by the time to write to the SRL, plus the round-trip time required to send data to the Secondary RVG and receive the acknowledgement.
|