Migrate Data by Restoring Block-Level Volumes from Snapshots

You can restore volumes from point-in-time snapshots of data taken during a block-level backup. This capability is useful when you want to migrate data from one storage array to another.

If you are migrating data from one storage array to another, most arrays allow you to revert a volume to a selected snapshot copy. However, a snapshot reversion might not be suitable when you are migrating data between dissimilar arrays. When arrays are dissimilar, you can migrate data by restoring block-level volumes from a snapshot.

By restoring volumes from a snapshot, the downtime is kept to a minimum. The low downtime is advantageous when migrating applications with large volumes of data that have a long transfer duration.

High-Level Process for Restoring Block-Level Volumes from a Snapshot

  1. Configure a block-level subclient with an array LUN.
  2. When you run a full backup on the subclient, a snapshot of the volume is taken and a CXBF or a CVBF driver monitors the volume for changed blocks.
  3. Restore the block-level volume from the snapshot copy to the destination.
  4. When the restore is complete, you can run an incremental backup to back up only the changed blocks.

    A subsequent restore from the snapshot moves only the changed blocks from the snapshot to the destination. Depending on the downtime that is acceptable to your organization, the frequency of incremental backups and restores can be set as required.

Restoring Block-Level Volumes from a Snapshot

Restoring volumes from a snapshot to migrate data is not supported from the CommCell Console; you must use the following scripts to migrate data:

  1. Run a full backup on the source by using the fullbackup.xml script template.
  2. Restore data to the destination by using the restore.xml script template.

    To set the appropriate backup time frame, edit the fromTimeValue and toTimeValue parameters in the script.

    To kick off a restore after the full backup, add this script as a post-backup process from the CommCell Console.

  3. Run an incremental backup on the source by using the incrbackup.xml script template.

    To kick off an incremental backup after the restore, add this script as a post-restore process from the CommCell Console.

  4. Restore data to the destination by using the restore.xml script template.

    To set the appropriate backup time frame, edit the fromTimeValue and toTimeValue parameters in the script.

Troubleshooting the Restore Operation