Restoring from a snapshot backup using the IR copy as source
NetBackup has the ability to back up snapshots and preserve them (Instant Recovery) if certain Snapshot client pre-requisites are met.
When restoring, NetBackup can use the existing snapshot to roll back the LUN but this is a destructive process with all subsequent writes to the LUN rolled back to the point that the snapshot was taken. It therefore has very limited use outside of a DR situation.
Currently, if you want to perform a file, or folder restore of a snapshot backup, or want to restore the snapshot contents to another destination NetBackup will read the data from the Primary Backup Copy which may be on tape (requiring manual intervention if the tape is not in the library), or be deduplicated on disk (where rehydration performance may hinder fast restore of large restore sets). One can mpount the retained snapshot to copy files from it, but this is a manual process, external to NetBackup, and can not be integrated with DB restore processing for example to provide a point-in-time restore with subsequent transaction log backups.
My idea is, in the following situation: NetBackup receives a request to restore
- from a backup which was taken using the snapshot client with Instant Recovery active,
- the Instant Recovery snapshot is still available,
- and where the restore destination is not the same as the original backup source.
- mount the snapshot on either the source client (if the source and target hosts are the same), or an off-host media server (if the source and target hosts are different)
- initiate both a backup of the requested files/databases from the snapshot, and a simultaneous restore to the destination client/agent simultaneously with the data stream passed from the backup to the restore.
As the file transfer from the IR snapshot is done as a backup/restore operation over the SAN it should be significantly faster than reading from MSDP or tape and it should retain the ability to roll forward subsequent incremental or transaction log backups after the snapshot to provide a consistent point-in-time restore using the snapshot as a source.