We are taking periodic (some hourly, some daily) snapshots of volumes on our production NetApp ("A"). We mirror these volumes to two other NetApps A -> B and then B -> C, every hour. We are unable to restore a volume snapshot if there are snapmirror snapshots. Attempts to do so generate this error:
"Data ONTAP API Failed: Failed to promote Snapshot copy "hourly.2014-07-08_1405" because one or more newer Snapshot copies are currently used as a reference Snapshot copy for data protection operations: snapmirror-blahblah".
We have found that we can use a "snapmirror restore" command to pull a snapshot from a mirror to the source volume on filer A.
Is this the recommended or required workflow for this type of restore? Of course, it requires the snapshot to be sent over the network, even when the same snapshot exists on the source filer. I don't understand why a snapshot restore cannot ignore a later snapmirror snapshot on the source, but yet, I can pull a snapshot from a mirror, which also has the same later snapmirror snapshot.
The difference between “snap restore” and “snapmirror restore” is, “snapmirror restore” preserves all snapshots on a volume, while “snap restore” will discard all snapshots newer than restore point. This explains why “snap restore” is rejected, while “snapmirror restore” is allowed.
Also “snapmirror restore” normally will do differential, not full, transfer.