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
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!!
I think everyone understands that it’s not possible to select a specified disk from the DPM storage pool as a target disk for a specific protection group, however we can always move data between disks as far as the same DPM server has access to both disks.
Lets suppose we have ten protection groups and ten disks, and we moved data of a particular protection group (let’s say that data was written in disk one and disk two) to a particular disk (let’s say disk three).
Does that mean that DPM will never ever use disk one and disk two for this particular protection group and will always use disk three or can it use disk three along with any other disks, except for disk one or disk two?
To try to contextualize this a bit better, let’s imagine that we’ve attached a new disk to the storage pool of DPM and we want the data of a particular protection group to end up there.
Maybe an odd request however some customer ask for it…
The trick here will be to use custom volumes instead of the DPM storage pool. So basically after we add the new disk we can just create a custom volume on it – we just need to make sure we convert it to dynamic before anything else just in case we need to stretch it or shrink it…
DPM cannot allocate space on any disks not in the DPM storage pool, so using custom volume on disks outside the storage pool will ensure that the disk is only used for the data sources you configured (or migrated) to use that disk.
After this we need to migrate the data sources to this recently created custom volume. Just a quick note which may be handy – we will need two custom volumes per data source, one for replica and the other for recovery point.
If you check this other post you can see an example of migrating a data source from DPM storage pool to custom volumes…
http://blogs.technet.com/b/sjimmie/archive/2012/05/07/data-source-migration-to-custom-volumes.aspx
Have Fun!!!
There is a quite awesome tool which will make Exchange administrators’ life so much easier when the need to play with Role Base Access Control comes… As everyone knows that’s an amazing feature on the Exchange Server however sometimes may get complex as it can go madly granular…
RBAC Manager puts all efforts to simplify the RBAC administration. Basically it provides the missing GUI to edit RBAC settings on Exchange 2010 systems including adding/removing cmdlets, cmdlet properties, assignments etc. RBAC tool is written in C# and using Powershell behind the scenes and you need to have Exchange 2010 Management Tools installed prior to running RBAC GUI…
http://rbac.codeplex.com/
Have Fun!