How to use SAN Based Recovery in System Center Data Protection Manager 2010

GrayAndYellowGearsThe following article explains the necessary steps to successfully restore large amount of data using SAN Based Recovery in System Center Data Protection Manager 2010.

Imagine a scenario in which DPM 2010 needs to restore over 4TB of data on a SQL Database with files spread among many LUNs. Let me give you an idea of the configuration.

This is a 2 node SQL cluster and there are 9 different LUNs.  Of those, 7 LUNs are being used as Data and 2 are being used for Logs; total size: 4,016,687.50 MB.  The DPM Backup Volumes and the SQL Database Volumes are located on the same storage device, a HP StorageWorks 8400 StorageWorks Enterprise Virtual Array (EVA) connected to the same SAN fabric.

We have a dedicated Management network for backups so we do not impact the production network during the backup / restore process.





The Initial Replication Process

If you are dealing with a 1 LUN DB you would probably do a clone of the DB LUN, present this cloned LUN to the DPM Server and then do a consistency check to synchronize the data.  This would  reduce the amount of time need for the initial replica and reduce the amount of that that goes through the network.  However in our case, the DB is spread across many LUNs and the EVA 8400 has a 2 TB LUN limit so we will need to create the initial replica by network.

We will need  about 5TB for the replica volume and about 1.5TB for the recovery point volume, assuming a 5% daily change log and 3 days of backup on disk, synchronizing every 15 minutes, which gives us enough possible recovery points: 4 recovery points per hour * 24 hours *3 days.

So let’s get it configured, we will need 3 disk of 2 TB + 1 disk of 1TB (remember the EVA 8400, has a 2TB LUN snapshots limit).

Now we create the replica volume, without using a drive letter with the spanned volume wizard on the DPM Server



And then we create the recovery replica


The result will be similar to this,  2 volumes using spanned volume on the disk manager of DPM Server:


During the Protection Group Creation Wizard, uncheck the Co-locate data in DPM Storage Pool and Automatically grow volumes, then click modify.


Select custom Volumes from the drop down list.


You will be able to see the custom volumes on the Management Tab –> Disks:


The initial replica will be created, you would probably want to do this during the night or on weekends.


Please note that the backups is using only the management network:


Also please notice that the CPU on the protected server and the DPM server are not highly impacted:



After 18 hours, the initial replica was created, from now on, only incremental backups will be done:


The possible recovery points will be shown every 15 minutes:


The SAN Recovery Process

Using the PowerShell script located at the end of this post, we create a snapshot of the information located on DPM (this process takes about 20 seconds).
Then, using the EVA tools, we create a snapshot all the disks forming the spanned costume volumes and we present these snapshots to the SQL Cluster. The snapshot creation takes about 1 minute per 2 TB LUN:

The snapshots are then presented to the SQL Cluster, which will show the disks as Dynamic offline:


Bring the disk online and import the foreign disks





We should now see the database LUNs + the snapshot disk and the 2 Custom volumes:


Run the recovery wizard on the DPM Server and make sure you select the SAN Recovery Option


Please note that the restore is being done without sending information over the network, this is all in the hands of the EVA 8400:


On the SQL Cluster we can use the Resource Monitor to see how the recovery is being done:




Please note that within 1 hour we had already recovered 650 GB without using the network:


After 4 hours 2.7 TB had being recovered, still no network impact:


The restore took about 6 hours, minimum information was sent over the network, therefore we are limited to the amount of data that the SAN can copy, in this case the EVA 8400, had an average of 650 GB per hour, but different SANs could give different times, you should review this with your hardware vendor.


write-host “Connecting to server:”
connect-dpmserver “fqdn of the dpm server”
write-host “Connection was successful”

$mypg = get-protectiongroup -dpmservername “fqdn of the dpm server” | where {$_.FriendlyName -eq “Protection Group Name”}
$myds = get-datasource -protectiongroup $mypg | where {$_.Name -eq “DataBaseName”}
$myjob = new-recoverypoint -datasource $myds -DiskRecoveryPointOption WithoutSynchronize -Disk

$jobtype = $myjob.jobtype
write-host “Starting the process of $jobtype for SAN Recovery”

while (! $myjob.hascompleted )
write-host “Waiting for the creation of $jobtype , waiting  5 seconds…”; start-sleep 5

if($myjob.Status -ne “Succeeded”)
write-error “Failed for the creation of $jobtype…”

Write-host “$jobtype terminó de forma exitosa…”
disconnect-dpmserver “fqdn of the dpm server”

Jesús Gutiérrez | Consultant – Microsoft Consulting Services

The App-V Team blog:
The WSUS Support Team blog:
The SCMDM Support Team blog:
The ConfigMgr Support Team blog:
The SCOM 2007 Support Team blog:
The SCVMM Team blog:
The MED-V Team blog:
The DPM Team blog:
The OOB Support Team blog:
The Opalis Team blog:
The Service Manager Team blog: http:
The AVIcode Team blog: http:
The System Center Essentials Team blog: http:
The Server App-V Team blog: http:

clip_image001 clip_image002