Ensuring Application Consistency – Checkpoints
Checkpoints are recorded automatically every few seconds in the journal. These checkpoints ensure crash-consistency and are written to the virtual machine journals by the Zerto Virtual Manager and each checkpoint has the same timestamp set by the Zerto Virtual Manager. During recovery you pick a checkpoint in the journal and recover to this point.
The crash-consistent checkpoints guarantee write order fidelity. For example, if write A on a virtual machine in the VPG occurred before write B on a virtual machine in the VPG, then when a checkpoint is written, the journal will contain:
■ Neither of the writes
■ Both writes, and if they overlap the B data takes precedence
■ Only A – indicating the checkpoint occurred between A and B
The coordination is done by the Zerto Virtual Manager.
You can also integrate Microsoft Volume Shadow Copy Service (VSS) with Zerto Virtual Replication to ensure transaction consistency in a Microsoft Windows server environment.
You can also use a script to place the application in a quiesced mode, such as Oracle Hot Backup mode, and execute the Zerto Virtual Replication PowerShell cmdlet Set-Checkpoint, then release the quiesced mode. For more information about Zerto Virtual Replication PowerShell cmdlets, refer to Zerto Virtual Replication Cmdlets.
Note: To write application-consistent checkpoints, there is a performance impact on the virtual machine running the application as a result of the application-consistent mechanism used, such as VSS, since the guest operating system and any integrated applications will be quiesced. This impact on performance may be negligible and does not always happen since not all applications require these checkpoints in order to achieve successful application recovery. Also, Zerto Virtual Replication only requires the guest and application to quiesce for a brief moment, just long enough to add a checkpoint.
Since checkpoints are recorded every few seconds in the journal, after only a short time, the number of checkpoints available from which to choose a recovery point becomes unmanageable. To enable efficient use of the checkpoints, the number of checkpoints is diluted over time, as follows:
■ For the first hour checkpoints are available every 15 seconds.
■ For every hour after the first hour, a checkpoint every fifteen minutes is available.
Checkpoints added either manually or via the ZertoVssAgent are not diluted.
This section describes the different options available to ensure application consistency: