ONTAP Discussions

Convert SnapMirror Relationship to SnapVault Relationship

ASUNDSTROM
7,370 Views

OnTap version 8.0.2 P6

We have placed a new filer at a remote site.  We wanted to use snapvault for archiving the Qtrees. When we set up the first relationship, we noticed that we have some network issues (occasional socket write\read errors in the snapmirror log).  Also, we have noticed this with our snapmirrors that are coming from another site to our destination.  With snapmirrors it's fairly easy to restart a failed job with a check point, by running an update on the destination.  In my understanding, you can't do the same with snapvault. The destination must be rolled back, causing the next update to resend any data that it was rolled back previously. I'm not sure if I'm missing something.  Is there a way to restart a snapvault job without rolling back any data that has already been transferred to the destination?

If there is no other option, I would like to set up a snapmirror, so that I can get all the data over to the destination.  Once that is complete, I would like to unconfigure the volume\qtrees in snapmirror and create a snapvault relationship with them.  Is this possible, to create a snapvault relationship from an existing snapmirror relationship?

1 ACCEPTED SOLUTION

ASHWINPAWARTESL
7,371 Views

I understand what you meant. I just wanted to know the status of the snapvault on the seondary, and had no intention to educate you on 'what snapvault update' does.

You can try these steps, but if you don't get success, I would suggest opening  a case with NetApp.

How to restart SnapVault from a checkpoint
https://kb.netapp.com/support/index?page=content&id=1011537

(As per this kb, If you are doing a baseline transfer, then checkpoint restart is possible). If you are doing 'update', then it may restart from the begining, which is what you are concerned about.


Coming to snapmirror option, You can try QSM to secondary and then try these steps. Once again, I haven't tried these steps, but if you have a ontap simulator, you can give it a try.

secondary> snapmirror initialize -S primary:/vol/vol1/q1 secondary:/vol/vol1/q1
secondary> snapmirror quiesce /vol/vol1/q1
secondary> snapmirror break /vol/vol1/q1
secondary> options snapmirror.enable off
secondary> options snapvault.enable  off
secondary> priv set diag
secondary*> snapvault convert /vol/vol1/q1
secondary> options snapvault.enable on
secondary> snapvault update /vol/vol1/q1
Transfer aborted: destination qtree is not coalesced.
secondary> snapvault update /vol/vol1/q1
Transfer started.

Steps picked up from this kb.
https://kb.netapp.com/support/index?page=content&id=1010804

View solution in original post

5 REPLIES 5

ASHWINPAWARTESL
7,371 Views

Is there a way to restart a snapvault job without rolling back any data that has already been transferred to the destination?

Ans: snapvault does have an 'update' command available on the destiantion filer.

When you do on destination,what do you see ?
dest-filer>snapvault status -l


Try running update:
dest-filer>snapvault update /vol/vol/qtree


You can also try 'snapvault start -r' command to re-establish a broken SnapVault relationship without a lengthy baseline transfer.Typically, this command locates the most recent common Snapshot copy, discards any data written to the destination after that Snapshot copy, and begins to resynchronize content using the common Snapshot copy.

ASUNDSTROM
7,371 Views

Thanks for replying Ashwin.

Is there a way to restart a snapvault job without rolling back any data that has already been transferred to the destination?

     Ans: snapvault does have an 'update' command available on the destiantion filer.

      Reply: 1. From what I have noticed, is that if a transfer fails or is hung, you can issue an abort and then an update to restart it.  But in doing so, the data that has already been passed to the destination is rolled back or deleted and the full transfer must be started over.  What I'm asking is "is there a way to reinitialize the transfer without rolling back the data that has already been sent?"  2. I know how to verbose status and use it to monitor whether or not the transfer has failed.  3. I can perform the update command successfully.

So in my scenario, the snapvaults work as expected, unless some network\communication error has occurred.  We have some Network devices (Riverbeds) that run deduplication on the traffic sent, sometimes there is an issue where the connection fail in a way that is not typical and the TCP controls in place cannot repair the connection, because it does not know that its down.

Basically, I'm wondering if there is a way to bump the transfer to go again without deleting the data that has been transferred already, as SnapMirror allows with it's checkpoint creations.

ASHWINPAWARTESL
7,372 Views

I understand what you meant. I just wanted to know the status of the snapvault on the seondary, and had no intention to educate you on 'what snapvault update' does.

You can try these steps, but if you don't get success, I would suggest opening  a case with NetApp.

How to restart SnapVault from a checkpoint
https://kb.netapp.com/support/index?page=content&id=1011537

(As per this kb, If you are doing a baseline transfer, then checkpoint restart is possible). If you are doing 'update', then it may restart from the begining, which is what you are concerned about.


Coming to snapmirror option, You can try QSM to secondary and then try these steps. Once again, I haven't tried these steps, but if you have a ontap simulator, you can give it a try.

secondary> snapmirror initialize -S primary:/vol/vol1/q1 secondary:/vol/vol1/q1
secondary> snapmirror quiesce /vol/vol1/q1
secondary> snapmirror break /vol/vol1/q1
secondary> options snapmirror.enable off
secondary> options snapvault.enable  off
secondary> priv set diag
secondary*> snapvault convert /vol/vol1/q1
secondary> options snapvault.enable on
secondary> snapvault update /vol/vol1/q1
Transfer aborted: destination qtree is not coalesced.
secondary> snapvault update /vol/vol1/q1
Transfer started.

Steps picked up from this kb.
https://kb.netapp.com/support/index?page=content&id=1010804

ASUNDSTROM
7,371 Views

Thanks Ashwin.  I think that I have found another solution for the requirement, something simpler and that I overlooked.  Your steps look to be what I was looking for, but like you said I would have to test to validate them.

So the lessons learned from this would be:

  1. It appears that if you work in "priv set diag" you may be able to convert a snapmirror relationship into a snapvault relationship and vice-versa.
  2. It appears that SnapVault only utilizes checkpoints when running the initialization process.  If anyone has any more info into why SnapVault doesn't use checkpoints for all transfer fails, please let us know.

ASHWINPAWARTESL
7,371 Views

You'r welcome, anytime.

From the NetApp documentation for Data Protection:

The checkpoint restart feature (Baseline/Update) is available only for data backup from an Open Systems SnapVault (OSSV) primary storage system to a secondary storage system . This feature is not supported for data backup from a Data ONTAP primary storage system to a secondary storage system (Sanpvault) and data restore from a secondary storage system to a primary storage system.

Thanks,

-Ashwin

Public