How to migrate data between DPM disks

MigrateDatasourceDataFromDPM is a command-line script that lets you migrate DPM data for a data source  (e.g. replica volumes and recovery point volumes) across disks. Such a migration might be necessary when your disk is full and cannot expand, your disk is due for replacement, or disk errors show up.

Depending on how you have configured your environment, this could mean one or more of the following scenarios for moving data source data:

  1. DPM disk to DPM disk
  2. Data source to DPM disk
  3. Data source to custom volume

DPM disk to DPM disk Migration

When I migrate DPM disk to DPM disk, I received errors mentioning there wasn’t enough disk space. After research and reference I found out it is because of the data sources I used span across multiple disks. The best explanation for this behaviour I found was located in this article: Space needed to migrate a disk.  More detailed information on DPM disk to DPM disk migration can be found in the following article: How to Use The Migratedatasourcedatafromdpm.Ps1 DPM Powershell Script to Move Data.

Data Source to DPM Disk Migration

I want to emphasize the second scenario (Data Source to DPM Disk) for which I wasn’t able to find many relevant articles. When I used this option had a few issues.

From the articles mentioned above, these were outlined as the required steps: the first 3 lines set the variables required for the migrateddatasourcedatafromdpm script, as follows:

  • $PG is the protection group available in your DPM.
  • $DS are the data sources
  • $disk is the disk available on the server.

Please take note that the first disk is $disk[0]. The first protection group is $pg[0] and first data source is $ds[0]

$pg = Get-ProtectionGroup DPMTestServer 
$ds = Get-Datasource $pg[0] 
$disk = Get-DPMDisk –DPMServerName DPMTestServer

The following step is the script which runs the migration of data source (no 1) to disk assign (disk no 2):

./MigrateDatasourceDataFromDPM.ps1 –DPMServerName DPMTestServer –Source $ds[0] –Destination $disk[2]

If you have multiple data sources in one protection group, then change the value [0] to [1] and so on.

Here’s a screen shot of a sample DPMDisk output:

Screen shot of a sample DPMDisk output

Once the script has finished executing, you’ll need to run consistency check. This is expected as there have been changes made to the volume, and these will need to be re-synchronized by running a synchronization job with consistency checking.


Taken from:


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s