Moving virtual volume between remote copy groups (3PAR)
Background
Moving a 3PAR virtual volume between two remote groups is a scenario I have encountered which I feel isn’t very well documented on the internet.
Starting with 3PAR 3.1.2, the ability to move a virtual volume between remote copy groups without the need for a full synchronization was added. This is helpful in certain scenarios where you’d like to move the vv to another copy group without triggering a full synchronization.
The steps below have been provided by L2 HP 3PAR support engineer based on a support call I had opened with them.
P7200_Q07U23 cli% showrcopy
Remote Copy System Information
Status: Started, Normal
Target Information
Name ID Type Status Options Policy
Q6 19 FC ready 2FF70002AC00428F mirror_config
Link Information
Target Node Address Status Options
Q6 0:1:1 20110002AC00428F Up
Q6 1:1:2 21120002AC00428F Up
receive 0:1:1 20110002AC00428F Up
receive 1:1:2 21120002AC00428F Up
Group Information
Name Target Status Role Mode Options
RG1 Q6 Started Primary Sync
LocalVV ID RemoteVV ID SyncStatus LastSyncTime
RC_TestVV_1 15583 RC_TestVV_1 9467 Synced NA
RC_TestVV_2 15584 RC_TestVV_2 9468 Synced NA
Stop original remote copy group
P7200_Q07U23 cli% stoprcopygroup RG1
Stopping group RG1. If volumes in the group are still synchronizing,
then their snapshots on the secondary side may get promoted.
Do you wish to continue?
select q=quit y=yes n=no: y
“showvv” output – On stopping the remotecopygroup, the rcpy snapshot is created for
the VVs of that remotecopy group.
15583 RC_TestVV_1 tpvv base --- 15583 RW
normal 128 512 512 1024
15631 rcpy.50.15583.19 snp vcopy RC_TestVV_1 15583 RO
normal -- -- -- 1024
15584 RC_TestVV_2 tpvv base --- 15584 RW
normal 128 512 512 2048
15632 rcpy.50.15584.19 snp vcopy RC_TestVV_2 15584 RO
normal -- -- -- 2048
Dismiss the VV from the original group
The “dismissrcopyvv” command with the “-keepsnap” option specifies that the local volume’s resync snapshot should be retained. The retained snapshot will reflect the state of the secondary volume. The snapshot will begin with “sv.rcpy”.
Below example of removing the Volume “RC_TestVV_1” from remotecopy group “RG1”:
P7200_Q07U23 cli% dismissrcopyvv -keepsnap RC_TestVV_1 RG1
Dismissing vv RC_TestVV_1 from group RG1
select q=quit y=yes n=no: y
Volume RC_TestVV_1 has been dismissed from group RG1.
15583 RC_TestVV_1 tpvv base --- 15583 RW
normal 128 512 512 1024
15631 sv.0.rcpy.50.15583.19 snp vcopy RC_TestVV_1 15583 RO
normal -- -- -- 1024
15584 RC_TestVV_2 tpvv base --- 15584 RW
normal 128 512 512 2048
15632 rcpy.50.15584.19 snp vcopy RC_TestVV_2 15584 RO
normal -- -- -- 2048
Create new remote-copy group or stop existing group
Use the “creatercopygroup” command to make a new group.
P7200_Q07U23 cli% creatercopygroup RG2 Q6:sync
Or use “stoprcopygroup” command for an existing remotecopy group.
Admit the VV to the new remote copy group
Use the “admitrcopyvv” command adds an existing virtual volume to an existing Remote Copy volume group.
admitrcopyvv <VV_name>:<resync_snapname> <group_name> <target_name>:<sec_VV_name><resync_snapname>:
An optional read-only snapshot <resync_snapname> can be specified along with the virtual volume name <VV_name>. This snapshot is a starting snapshot. When the group is started, a full sync is not performed. Instead, for synchronous groups, the volume will synchronize deltas between
For asynchronous periodic groups, the volume will synchronize deltas between
P7200_Q07U23 cli% admitrcopyvv RC_TestVV_1:sv.0.rcpy.50.15583.19 RG2 Q6:RC_TestVV_1
In this command, when snapshot is specified, a full synchronization is not needed. On the primary 3PAR array the showrcopy – “SyncStatus” will appear as “New-SyncFromSnap”. On the secondary 3par array the SyncStatus will appear as “New”.
Excerpts of showrcopy output from primary array:
P7200_Q07U23 cli% showrcopy
..
Name Target Status Role Mode Options
RG1 Q6 Stopped Primary Sync
LocalVV ID RemoteVV ID SyncStatus LastSyncTime
RC_TestVV_2 15584 RC_TestVV_2 9468 Stopped 2014-08-21 18:36:00 IST
Name Target Status Role Mode Options
RG2 Q6 New Primary Sync
LocalVV ID RemoteVV ID SyncStatus LastSyncTime
RC_TestVV_1 15583 RC_TestVV_1 9467 New-SyncFromSnap NA
Excerpts of showrcopy output from secondary array:
p7400_Q06U06 cli% showrcopy -- Secondary 3PAR array
..
Name Target Status Role Mode Options
RG1.r16886 Q7 Stopped Secondary Sync
LocalVV ID RemoteVV ID SyncStatus LastSyncTime
RC_TestVV_2 9468 RC_TestVV_2 15584 Stopped 2014-08-21 18:41:44 IST
Name Target Status Role Mode Options
RG2.r16886 Q7 New Secondary Sync
LocalVV ID RemoteVV ID SyncStatus LastSyncTime
RC_TestVV_1 9467 RC_TestVV_1 15583 New NA
Start remote copy group
Use the “startrcopygroup” command to start the newly created remote-copy volume group (or an existing remote copy group to which the VV is moved).
P7200_Q07U23 cli% startrcopygroup RG2
Group RG2 starts, task ID = 15895
P7200_Q07U23 cli% showtask -d 15895
Id Type Name Status Phase Step -------StartTime------- ------
FinishTime------- -Priority- -User-
15895 remote_copy_sync RC_TestVV_1 done --- --- 2014-08-21 19:23:39 IST 2014-
08-21 19:23:40 IST n/a n/a
Detailed status:
2014-08-21 19:23:39 IST Created task.
2014-08-21 19:23:39 IST Startup adding resync of volume RC_TestVV_1 in group RG2 to
target Q6 to the synchronization list.
2014-08-21 19:23:39 IST Started resync of volume RC_TestVV_1 (offset 0MB length
1024MB) in group RG2 to target Q6 has started.(sync_vol: none/-2 resync_vol:
sv.0.rcpy.50.15583.19/15631.)
2014-08-21 19:23:40 IST Completed sync of volume RC_TestVV_1(sv.0.rcpy.50.15583.19)
in group RG2 to target Q6 has completed, 0MB of 1024MB transmitted.
Credits: Mishal Bhatt, HP ESSN – Storage Division
As always, I suggest trying it out first on non-production arrays or with test data and following a change management procedure to highlight the risks.
References