Understanding HDS Replication with TrueCopy and Universal Replicator
When I started working with modern HDS storage systems such as the VSP and HUSVM, I became familiar with the remote replication abilities present on these systems. Similar to my last entry on NetApp’s SnapMirror and SnapVault replication abilities, HDS storage has a few choices for remote replication that go by different names. In particular, I’d like to highlight the functionality of TrueCopy and Universal Replicator as these can be great for common use cases.
The modern incarnation of TrueCopy, present in VSP and HUSVM storage systems, is synchronous mirroring software. With TrueCopy, a production volume exists at a local system which is linked to a mirror volume on a system at a remote location. These two volumes will always be in sync, where any data changes will be synchronously copied to the mirror.
When setting up a TrueCopy pair, there will be an initial copy phase in which all data from the primary, production volume will be copied to the secondary, mirror volume. Afterwards, when new data is written from a host to the local system, the data will be copied to the remote system’s mirror volume and additional updates from the host will be held until both systems’ volumes have received the prior update data.
The mirror volume can’t be written to by a user while the TrueCopy pairing is active, as it will be read-only. Either volume can have clones or snapshots created from them which can provide a robust backup solution. If needed, the mirror volume can be used to reverse synchronize the production volume to recover data. Alternatively, is possible to stop the TrueCopy pairing through a split which will enable writing to the mirror volume.
In addition, or as an alternative to TrueCopy, Universal Replicator is asynchronous mirroring software. The concept of primary and secondary volumes still exist here, but there is no guarantee that the two volumes are synchronized. TrueCopy, being a synchronous mirroring method, is limited to storage sites that are a short to moderate distance from each other, with a maximum distance of 300km. Universal Replicator on the other hand is truly a global solution in which the primary and secondary volumes can be any distance from each other.
Universal Replicator is functionally different from TrueCopy, using the concept of journal volumes on both local and remote systems to facilitate mirroring data. When a host updates the primary volume, the local system will have this new data copied to the master journal volume on that local system and associate the data with a sequence number. Afterwards, data is copied from the master journal volume to the restore journal which is located on the remote system. This transfer is actually initiated by the remote system, which requests to read from the master journal regularly to find new data. The remote system will eventually alert the local system that the data was received by the restore journal so that it can be removed from the master journal. Finally, the secondary volume will be updated with data from the restore journal, ordered by sequence number to retain consistency. The restore journal will have data removed from it when it is received by the secondary volume.
Universal Replicator is a good replication method in that not only does it provide asynchronous, global scale replication for volumes but through the use of journal volumes and copies being initiated by the remote system, it reduces the burden of the remote connection on the primary system.
One of the nice aspects of TrueCopy and Universal Replicator is that they play well with other HDS storage abilities. A single volume can have both a TrueCopy pairing and a Universal Replicator pairing, to two different storage systems, and yet still be able to have clones or snapshots created for this volume. This will allow for some very robust mirroring, backup and disaster recovery solutions.
I hope this post comes in handy for you. Let me know if you have any questions or comments in the comment section below.