TimeFinder SnapVX Overview
TimeFinder SnapVX provides a highly efficient mechanism for taking periodic point-in-time copies of source data without the need for target devices. Target devices are required only for presenting the point-in-time data to another host. Sharing allocations between multiple snapshots makes it highly space-efficient. A write to the source volume will only require one snapshot delta to preserve the original data for multiple snapshots. If a source track is shared with a target or multiple targets, a write to this track will preserve the original data as snapshot delta and will be shared for all the targets. Write to the target will be applied only to the specific target.
1. Create local point-in-time copies (snapshots) of data without requiring pairing between Source and Target Volumes – Target Volumes are required only if host access to point-in-time data is desired.
2. Highly scalable – Up to 256 snapshots per Source Volume Up to 1024 linked target volumes per source volume.
3. Highly space efficient – Sharing of point-in-time tracks among different snapshots.
TimeFinder SnapVX Terminology
Below are the terminologies used in TimeFinder SnapVX. Host writes to source volumes will create snapshot deltas in the SRP. Snapshot deltas are the original point-in-time data of tracks that have been modified after the snapshot was established.
- Source Volume – A VMAX3 device whose point-in-time copy is to be preserved
- Snapshot – Preserved point-in-time image of the Source Volume.
- Snapshot Delta – Original Source Volume tracks at the point-in-time of the Snapshot that were preserved during host wr•ites to the Source Volume.
- Linked Target Volume – A VMAX3 device that is used to provide access to point-in-time data by linking it to a Snapshot.
- Storage Resource Pool – A collection of data pools that are managed by FAST and provide physical storage for VMAX3 thin devices.
Re-direct on write
When the snapshot is created, both the source device and the snapshot point to the location of data in the SRP. When a source track is written to, the new write is asynchronously written to a new location in the SRP. The source volume will point to the new data. The snapshot will continue to point to the location of the original data. The preserved point-in-time data becomes the snapshot delta. This is the re-direct on write mechanism.
Under some circumstances, SnapVX will use Asynchronous Copy of First Write (ACOFW). This might be done to prevent the degradation of performance for the source device. For example, if the original track was allocated on Flash drive, then it would be better to copy this down to a lower tier and accommodate the new write in the Flash drive.
Snapshot Generations and Time-to-live
Each snapshot is assigned a generation number. If the name assigned to the snapshot is reused, then the generation numbers are incremented. The most recent snapshot with the same name will be designated as generation 0, the one prior as generation 1, and so on. If each snapshot is given a unique name, they will all be generation 0. Terminating a snapshot will result in the reassignment of generation numbers.
Time-to-live (TTL) can be used to automatically terminate a snapshot at a set time. This can be specified at the time of snapshot creation or can be modified later. HYPERMAX OS will terminate the snapshot at the set time. If a snapshot has linked targets, it will not be terminated. It will be terminated only when the last target is unlinked. TTL can be set as a specific date or as a number of days from creation time.
A snapshot has to be linked to a target volume to provide access to point-in-time data to a host. The link can be in NoCopy or Copy mode. Copy mode linked targets will provide full volume copies of the point-in-time data of the source volumes – similar to full copy clones. Copy mode linked targets will have useable copy of the data even after termination of the snapshot – provided the copy has completed. Default is to create NoCopy mode linked targets. NoCopy mode links are space-saving snapshots that only consume space for the changed data that is stored in the source device’s SRP. NoCopy mode links do not retain point-in-time data once the link is removed. The link mode can be changed after the link has been created.
Writing to a linked target will not affect the snapshot. The target can be re-linked to the snapshot to revert to the original point-in-time. A snapshot can be linked to multiple targets. But a target volume can be linked to only one snapshot. Up to 1024 target volumes can be linked to the snapshot(s) of a single source volume. This limit can be achieved either by linking all 1024 volumes to the same snapshot from the source volume, or by linking multiple target volumes to multiple snapshots from the same source volume.
There is no benefit to have the NoCopy mode linked targets in an SRP different from the Source SRP. Writes to the Source volume will only create snapshot deltas which will be stored in the Source volume’s SRP. The writes will not initiate any copy to the target. A target volume that is larger than the source can be linked to a snapshot. This is enabled by default. The environment variable SYMCLI_SNAPVX_LARGER_TGT can be set to DISABLE to prevent this.
Linked Targets – defined/undefined Tracks
Snap VX introduces the concept of a “defined” state for linked target tracks. When a target is first linked to a snapshot, all its tracks are considered “undefined”. Shortly after linking, a background defining process will change the pointers of each track to reflect the location of the tracks for the specific point-in-time. In the undefined state, the location of data for the target has to be resolved through the pointers for the snapshot. In the defined state, data for the target points directly to the corresponding locations in the SRP.
Defining aids the performance of host access of target tracks that have not yet been copied to the target by presenting data directly from the SRP and eliminating the need for a redirect to source or snapshot. The user does not need to wait for a target volume to be defined before accessing the point-in-time. A write to an undefined track will invoke the defining process for the track, and a read to an undefined track will be redirected to the appropriate point-in-time version of the track.
Relinking and Unlinking targets
Relink provides a convenient way of checking different snapshots to select the appropriate one to access. A link between the snapshot of the source volume and the target must exist for the relink operation. Relink can also be performed with a different snapshot of the same source volume or a different generation of the same snapshot of the source volume. Unlink operation removes the relationship between a snapshot and the corresponding target. Copy mode linked targets can be unlinked after the copying completes. This will provide a full, independent useable point-in-time copy of the Source data on the Target device.
NoCopy mode linked targets can be unlinked at any time. After unlinking a NoCopy mode linked target, the target device cannot be considered as useable. This is because the target would have shared tracks with the source volume and/or the snapshot deltas. These tracks would not be available on the target after the unlink operation and hence render it un-useable.
Restore to Source
As the data on the Source volume from the host’s perspective will be changing, the Source volume should be unmounted prior to the restore operation and then re-mounted. To restore from a linked target, a snapshot of it must be established; and this snapshot should be linked to the Source volume. The Source volume cannot be unlinked until copy completes. So the link should be created in copy mode.
Restore from snapshot
– Snapshots can be directly restored to the Source volume.
– data will be set back to the point-in-time of the snapshot.
– Only changed data has to be restored from the snapshot delta—inherently differential operation.
Restore from linked target
– Two-step process
1. Create a snapshot of the linked target
2. Link this snapshot with the Source volume (which will now be a linked target)
Snapshots of linked targets can be created. These can further be linked to other targets. This is referred to as cascading. There is no limit to the number of cascaded hops that can be created as long as the overall limit for SnapVX is maintained. However, there may not be many practical uses for cascading, given the efficiency of SnapVX technology. Writes to linked target do not affect the snapshot. It always remains pristine – in effect the “gold” copy. If one must experiment with data on the linked target, there is no need to save a gold copy prior to this. When done with the experimentation, one can always refresh the target data with the original snapshot data by relinking.
The linked target must be in a defined or copied state before a snapshot of it can be created. A cascaded snapshot can only be restored to the linked target that is in copy mode and has fully copied. If the linked target is in NoCopy mode, it cannot be unlinked without first terminating any snapshots that have been created from it. A linked target that has a cascaded snapshot must be fully copied before being unlinked. A snapshot with linked targets cannot be terminated.