Data Source Migration to Custom Volumes
There may be scenarios where we would want to have some data sources’ data from DPM storage pool to some specific custom volumes. This post is here to show the main steps:
Run the dpm2010-ldmstat.ps1 script to see which data sources have the most extents. This only runs on DPM 2010:
==============================
LDM&ShrinkStats
==============================
Total extents : 20
Total data sources : 15
Total volumes : 18
Data source extent list...
DatasourceName ProtectionGroupName NumberOfExtents PhysicalReplicaId DatasourceId
-------------- ------------------- --------------- ----------------- ------------
System Protection BMR 3 f6769aa3-3991-45d0-9bea-ab94d4995160 4ea2ceee-2443-427d-8513-3746c59dd49b
System Protection SQL PROTECTION on DC1 3 4460be42-337d-4f5e-bddb-4f97c8a787e8 a6159995-754d-4835-8fe3-9b4c46abbae4
N1-MB2 E-14 DAG 2 5328326e-e7af-4414-beee-5d2b476acf9a 17e9e992-5892-4ad3-9bc6-70663ff404d5
DisconnectedClient Client Protection 2 a36df5b6-084a-4fbd-ab25-6349dec93248 b62b6dbc-580e-42bd-80a8-1b2ed191df6e
N2-DB2 E-14 DAG 2 e1ea38f8-9b2e-400e-a450-77e03ad36e19 889596a2-1d24-4b50-9ce5-5e557841698d
Mailbox Database N2-MB1 E-14 DAG 2 9d956aeb-8d0e-4561-91cc-8993d1c452cf 337331fc-1087-4bf5-a508-28a08f374bfd
MJLC-DC\MSDPMV3TAP\model SQL PROTECTION on DC1 2 00e38e25-01c8-44d3-8005-aca453f1f2dd 6bb4ab04-7288-48cc-8216-01201e32ad2b
MJLC-WSS-V14\SHAREPOINT\SharePoint_AdminContent_234f95fc-3230-4ddb-85d1-230b25e4dfce 2 35b03787-9e1b-4b43-a0cf-bcac33c3fdc5 a0cf0d91-efcc-4eae-866a-20b2f3f7e1b1
Mailbox Database N1-MB1 E-14 DAG 2 a6794c2b-2953-41b0-bd3d-d327989caa9d 5175b4f1-f85b-49b1-b843-823de8228619
Replica colocation counts...
PhysicalReplicaId Count
----------------- -----
4460be42-337d-4f5e-bddb-4f97c8a787e8 1
5328326e-e7af-4414-beee-5d2b476acf9a 1
a36df5b6-084a-4fbd-ab25-6349dec93248 2
e1ea38f8-9b2e-400e-a450-77e03ad36e19 1
9d956aeb-8d0e-4561-91cc-8993d1c452cf 1
f6769aa3-3991-45d0-9bea-ab94d4995160 1
00e38e25-01c8-44d3-8005-aca453f1f2dd 6
35b03787-9e1b-4b43-a0cf-bcac33c3fdc5 5
a6794c2b-2953-41b0-bd3d-d327989caa9d 1
LDM alerts list...
None found!
Done!
Get the list of protection groups and data sources:
PS C:\Program Files\Microsoft DPM\DPM\bin> $pg = get-protectiongroup mjlc-dpm01
PS C:\Program Files\Microsoft DPM\DPM\bin> $pg
Name Protection method
---- -----------------
BMR Short-term using disk
Sharepoint 2010 Short-term using disk
SQL PROTECTION on DC1 Short-term using disk
Client Protection Short-term using disk
E-14 DAG Short-term using disk
PS C:\Program Files\Microsoft DPM\DPM\bin> $ds = get-datasource -protectiongroup $pg[2]
PS C:\Program Files\Microsoft DPM\DPM\bin> $ds
Computer Name Type
-------- ---- ----
MJLC-DC MJLC-DC\MSDPMV3TAP\model SQL Server 2008 database
MJLC-DC MJLC-DC\MSDPMV3TAP\ReportServer$MSDPMV3TAP SQL Server 2008 database
MJLC-DC MJLC-DC\MSDPMV3TAP\master SQL Server 2008 database
MJLC-DC MJLC-DC\MSDPMV3TAP\DPMOfflineUIViewerDB SQL Server 2008 database
MJLC-DC MJLC-DC\MSDPMV3TAP\msdb SQL Server 2008 database
MJLC-DC Computer\System Protection System Protection
MJLC-DC MJLC-DC\MSDPMV3TAP\ReportServer$MSDPMV3TAPTempDB SQL Server 2008 database
Get the list of custom volumes we can migrate to and label the volumes accordingly:
The migratedatasourcedatafromdpm.ps1 expects the replica volume to be the first array member, and the recovery point volume to be the second.
PS C:\Program Files\Microsoft DPM\DPM\bin> Get-DPMVolume mjlc-dpm01
VolumeLabel VolumeSize DiskName
----------- ---------- --------
replica-1 15728640000
diffarea-1 47185920000
PS C:\Program Files\Microsoft DPM\DPM\bin> $dpmvol = Get-DPMVolume mjlc-dpm01
PS C:\Program Files\Microsoft DPM\DPM\bin> $array = @($dpmvol[0],$dpmvol[1])
PS C:\Program Files\Microsoft DPM\DPM\bin> $array
VolumeLabel VolumeSize DiskName
----------- ---------- --------
replica-1 15728640000
diffarea-1 47185920000
Now run the migratedatasourcedatafromdpm.ps1 and provide source and destination using the following syntax:
PS C:\Program Files\Microsoft DPM\DPM\bin> migratedatasourcedatafromdpm -dpmservername mjlc-dpm01 -source $ds[5] -destination $array = @($dpmvol[0],$dpmvol[1]) FormatVolumes 1-true/0-false : 0
Have Fun!!