Move a Load Sharing Mirror relationship

When migrating data from one Clustered ONTAP node to another, ordinarily vol move is your friend.

In the case of a Load Sharing Mirror destination volume however, it doesn't work quite so well:

                                                             CLUSTER01::> snapmirror show     
Source            Destination  Mirror  Relationship  Total             Last
Path        Type  Path         State   Status        Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
CLUSTER01://vsv01/vsv01_root
        LS   CLUSTER01://vsv01/vsv01_root_mirror_02
                          Snapmirrored
                                  Idle           -         true    -


CLUSTER01::> vol move start -vserver vsv01 -volume vsv01_root_mirror_02 -destination-aggregate node_04_t3_aggr06
  (volume move start)

Error: command failed: You cannot move a load-sharing destination volume. Instead, create a new load-sharing destination volume in the correct location. Then delete the load-sharing destination volume that you attempted to move.

Instead, simply

  1. Create a new volume on the new aggregate

    CLUSTER01::> volume create -vserver vsv01 -volume vsv01_root_mirror_04 -aggregate node_04_t3_aggr06 -size 1GB -type DP
    [Job 843] Job succeeded: Successful

  2. Initialise the LS snapmirror relationship using snapmirror initialize (note: do not use snapmirror initialize-ls-set as this applies to the entire set of LS mirrors, not an individual volume)

    CLUSTER01::> snapmirror initialize -source-path CLUSTER01://vsv01/vsv01_root -destination-path

    CLUSTER01://vsv01/vsv01_root_mirror_04 -type LS
    [Job 844] Job is queued: snapmirror initialize of destination "CLUSTER01://vsv01/vsv01_root_mirror_04".

    CLUSTER01::> snapmirror show
    Progress
    Source Destination Mirror Relationship Total Last
    Path Type Path State Status Progress Healthy Updated


    CLUSTER01://vsv01/vsv01_root
    LS CLUSTER01://vsv01/vsv01_root_mirror_02
    Snapmirrored
    Idle - true -
    CLUSTER01://vsv01/vsv01_root_mirror_04
    Snapmirrored
    Idle - true -
    2 entries were displayed.

  3. Delete the original snapmirror relationship

    CLUSTER01::> snapmirror delete -destination-path CLUSTER01://vsv01/vsv01_root_mirror_02

    Warning: Deleting destination volume CLUSTER01://vsv01/vsv01_root_mirror_02 from the load-sharing relationship prevents it from being added as a destination for any load-sharing relationship.
    Do you want to continue? {y|n}: y
    [Job 845] Job succeeded: SnapMirror: done: NOTE: Volume vsv01_root_mirror_02 is in restricted state. Do not bring the volume back online for at least 10 minutes to allow changes to be propagated to the rest of the system.

    CLUSTER01::> snapmirror show
    Progress
    Source Destination Mirror Relationship Total Last
    Path Type Path State Status Progress Healthy Updated


    CLUSTER01://vsv01/vsv01_root
    LS CLUSTER01://vsv01/vsv01_root_mirror_04
    Snapmirrored
    Idle - true -
    1 entry was displayed.

    CLUSTER01::> vol offline -vserver vsv01 -volume vsv01_root_mirror_02
    (volume offline)
    Volume "vsv01:vsv01_root_mirror_02" is now offline. Volume modify successful on volume: vsv01_root_mirror_02

  4. Destroy the original volume

    CLUSTER01::> vol delete -vserver vsv01 -volume vsv01_root_mirror_02
    (volume delete)

    Warning: Are you sure you want to delete volume "vsv01_root_mirror_02" in Vserver "vsv01" ? {y|n}: y
    [Job 846] Job succeeded: Successful