An in-depth look at the Registry settings that control Microsoft DPM 2012

~ Mike Jacquet | Senior Support Escalation Engineer

HOWHello everyone, Mike Jacquet here from the DPM support team at Microsoft. I would like to share some registry settings that you may not be aware of that can alter the behavior of DPM, enable features, eliminate uncommon errors, and help with troubleshooting. Many of these registry settings were introduced and documented in DPM update rollups, on TechNet or the blogs, however unless you are already familiar with these settings they may be hard to discover on your own.

Please note that this is not a comprehensive list of all DPM registry settings. There are many settings that are part of a default DPM installation that are not covered here.

CAUTION Serious problems can occur if you modify the registry incorrectly. These problems could require you to reinstall the operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk. Always make sure that you back up the registry before you modify it, and that you know how to restore the registry if a problem occurs.

Diagnostics

Logging was introduced in DPM 2007 and enhanced in DPM 2010. The ability to adjust the verbosity of the logging is helpful when troubleshooting an issue where normal logging may not have enough empirical information leading up to the error.

You can enable verbose logging using the following entries:

NOTE Binary = MSDPM (for engine), DPMRA (for Agent), DPMLA (for Library Agent), DPMAccessManager (for Access Manager), DpmBackup (for DPM backup), DpmWriter (for DPM writer), DPMUI (For DPM console mmc), DPMCLI (for DPM power shell console).

Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager

Value Name: <binary>TraceLogMaxSize
Type: REG_DWORD
Value: Maximum Log file size in MB (default is 15 decimal)

Value Name: <binary>TraceLogMaxNum (later changed to <binary>TraceLogMaxNumber)
Type: REG_DWORD
Value: Maximum number of log files retained

Value Name: <binary>TraceLogLevel (use just TraceLogLevel to enable for ALL binaries)
Type: REG_DWORD
Value: 0x43E

Value Name: TraceLogPath
Type: REG_SZ
Value: Full path to log files – see notes below

NOTE The TracelogPath location setting is global across of all binaries.

NOTE A service restart is required before TraceLogPath and TraceLogLevel will be used. Delete or rename TraceLogLevel to disable verbose logging.

DPM Log files are located in one of the following locations:

  • DPM SERVER 2007/2010 (or if upgraded to DPM 2012) logs are in the C:\Program files\Microsoft DPM\DPM\temp folder.
  • DPM SERVER 2012 and SP1 logs are in the C:\Program Files\System Center 2012\DPM\DPM\temp folder.
  • DPM SERVER 2012 R2 logs are in the C:\Program Files\System Center 2012 R2\DPM\DPM\temp folder.
  • PROTECTED SERVER logs are always in C:\Program files\Microsoft Data Protection Manager\DPM\temp

The DPMUI and DPMCLI error logs will be located in the users profile under one the following locations depending on DPM version:

C:\Users\<USERNAME>\AppData\Roaming\Microsoft\<DPM PRODUCT VERSION DIRECTORY>

  • Microsoft System Center 2012 Data Protection Manager
  • Microsoft System Center 2012 R2 Data Protection Manager
  • Microsoft System Center 2012 Service Pack 1 Data Protection Manager
  • Microsoft System Center Data Protection Manager
  • Microsoft System Center Data Protection Manager 2010

NOTE DPM will create log files with an extension of <binary>*.errlog.crash should the <binary> service crash.  These .crash files are not limited by the <binary>TraceLogMaxNum setting so it is advisable to monitor the log location and manually delete the .crash files manually.

More information can be found in this TechNet article.

DPM 2012 Service Pack 1 introduced online Azure backup capability that uses a different agent. You can also enable verbose logging for online backups:

Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Azure Backup

Value Name: TraceLogLevel (Delete or rename to disable verbose logging)
Type: REG_DWORD
Value: 0x12 (18 decimal)

Value Name: CBEngineTraceLogMaxNumber
Type: REG_DWORD
Value: Maximum number of log files retained

Restarting the Obengine service is required before TraceLogLevel will be used:

C:>Net stop obengine
C:\Net start obengine

Logs are located under C:\Program Files\Microsoft Azure Recovery Services Agent\Temp

Agent Communications

These were introduced in DPM 2010 to support client protection in mixed TPC IP4 and IP6 environment. DPM will work in a pure IPv6 environment, however if DPM has both IPv4 and IPv6 addresses, we expect the Protected Server (PS) to have IPv4 enabled as our preferred channel is IPv4. If some of the agents have only IPv6 enabled then we must have only IPv6 on DPM and on all PS’s.

With that said, there is a workaround to this but it was not thoroughly tested therefore not supported by Microsoft. If you set the registry key below, DPM should work properly in a mixed environment.

Please note that this is not formally supported, but good for testing to see if it helps.

On BOTH the DPM Server and the Protected Server, set the following registry key:

Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\2.0

Value Name: PingBeforeConnect
Type: REG_DWORD
Value: 0x1

Agent communication timeouts

Description: The DPM service was unable to communicate with the protection agent on PS_Server.domain.com. (ID 2019 Details: An existing connection was forcibly closed by the remote host (0x80072746))

NOTE ID Numbers may vary but the error code 0x80072746 is consistent.

This can be caused by very slow network connectivity which causes the backup sender (DPMRA on the Protected Server) to timeout. To address this, add the following on both the DPM Server and the Protected Server(s), then restart the DPMRA service for the change to take effect. Be sure there are no active jobs before restarting the DPMRA services.

Location: HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\Agent

Value Name: ConnectionNoActivityTimeoutForNonCCJobs
Type: REG_DWORD
Value: 0x1c20 (7200 decimal)

Location: HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\Agent

Value Name: ConnectionNoActivityTimeout
Type: REG_DWORD
Value: 0x1c20 (7200 decimal)

Description: The DPM service was unable to communicate with the protection agent on Clust-01.Domain.com. (ID 52 Details: The semaphore timeout period has expired (0x80070079))

170359 – How to modify the TCP/IP maximum retransmission time-out (http://support.microsoft.com/kb/170359/EN-US)

NOTE This is a troubleshooting setting that can help you determine if an intermediate network connectivity problem exists.  If this helps eliminate or reduces the errors, further network troubleshooting should be done to fix the network delays.  It is recommended to remove the entry or reduce the setting to the default value of 0x5 once the networking problem is resolved.   

Apply on both DPM and Protected servers:

Location: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

Value Name: TcpMaxDataRetransmissions
Type: REG_DWORD
Value: 10 or more decimal

Microsoft Azure Backup (MAB) Agent

Introduced in MAB Agent update KB 3090067  This new value helps optimize / increase performance for incremental Azure backups performed on file servers that contain a large number of files. This is applicable for Windows server Azure backup, DPM 2012 R2 online backup and Microsoft Azure Server backup.

Location: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Azure Backup\Config\CloudBackupProvider

Value Name: UseUsnIterator
Type: REG_DWORD
Value: 1

Application (SQL/ Exchange) Protection

Introduced in DPM 2007 hotfix KB 970867.

DPM performs a Volume Shadow Copy Service (VSS) full backup. Because the application transaction logs are deleted when the DPM backup job is completed, the DPM backup may interfere with other backup methods that are backing up transactional applications such as Microsoft SQL Server or Microsoft Exchange. By adding the below value on the protected server, DPM will perform copy only backups which will not truncate log files.

Add the following value on the protected server:

Location: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\2.0

Value Name: CopyBackupEnabled
Type: REG_DWORD
Value: 0x1

The same can be accomplished for SQL Server by configuring DPM to synchronize right before recovery point as seen in the figure below.

clip_image002

If the selection ‘Just before a recovery point’ is used then incremental backups won’t get scheduled. This option is a way of telling DPM that the user is interested only in express full backups and not incremental backups which truncate the logs.

Introduced in DPM 2010 to support a copy only backup for SharePoint farms that are using log shipping.

As an example – On a SharePoint farm, you configure SQL to ship its logs to an alternate SQL server and replicate the farm for disaster recovery.  This process truncates the SQL log files and therefore DPM will not need to.

On the DPM server, create the following key:

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\2.0\CopyBackups
Value Name SQL_SERVER\SQL_Instance\ConfigDB_Name
Type REG_DWORD
Value 0x1

As an example, if your SharePoint farm is using a SQL server named SPSql_01 and the instance is named SP2010, then you would just look for the config database and the REG_DWORD would be similar to:

SPSql_01\SP2010\SharePoint_Config_907565b-d867-43b9-9371-2d9d69c0ecf1

SQL 4200 Express Full Limit Alert

When trying to perform more than 4200 SQL Server Express full backups, DPM may generate the following Alert:

A DPM server can have a maximum of 4200 Express Full backups of SQL Server per week. If you exceed this limit, the DPM server may miss the backup SLA and eventually it may become unresponsive. You currently have #### Express Full backups of SQL Server on Server1.contoso.com (ID: 32630)”

This is a proactive Warning Alert raised by DPM to let the user know that they have either 1) protected too many SQL data sources belonging to the same Protected Server, or 2) has set the Express Full frequency too high, or 3) a combination of both. If the user ignores this alert DPM should just continue to work, however there can be two possible outcomes. First, if the individual databases are very small and have little churn, the backups will work just fine. If the databases are larger and have a lot of churn, some Express Full backups will fail with errors such as “another backup is going on at the same time”. This will result in missed SLA for effected databases.

To eliminate the alert at the expense of possible missed backups, add the following on the DPM server, then run through the modify protection group wizard for the protection group containing the SQL Server protection without making changes.

SQLExpressFullPerPSLimit defines how many Express Full backups you can create per protected server.

SQLExpressFullLimit defines how many you can create in total from that DPM server.

Make each of them larger than the default of 0x1068 (4200 decimal).

Location HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\ScaleConfig
Value Name SQLExpressFullPerPSLimit
Type REG_DWORD
Value 0x1068 (4200 decimal is the default)
Location HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\ScaleConfig
Value Name SQLExpressFullLimit
Type REG_DWORD
Value 0x1068 (4200 decimal is the default)

 

Client Protection

DPM 2010 introduced Windows Client protection. The settings below were introduced to help with overall performance as per the TechNet articles.

Optimizing Client Computer Performance

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\ClientProtection
Value Name WaitInMSPerRequestForClientRead
Type REG_DWORD
Value 0x32 or 50 decimal (time in milliseconds to wait between IO)

NOTE The default value for WaitInMSPerRequestForClientRead DWORD is 50 (32H). This means the DPM agent will wait 50ms per read cycle to locate changed data. You can increase the value to 75 or 100 decimal to reduce IO on the disk to improve machine responsiveness at the cost of longer backup times. If you want to increase backup speed at the expense of responsiveness, reduce the value to 40 or 30 decimal.

Scaling up Client Protection

For Task Throttling:

Location Software\Microsoft\Microsoft Data Protection Manager\Configuration\DPMTaskController\MaxRunningTasksThreshold
Value Name 9037ebb9-5c1b-4ab8-a446-052b13485f57
REG_DWORD REG_DWORD
Value 0x32
Location Software\Microsoft\Microsoft Data Protection Manager\Configuration\DPMTaskController\MaxRunningTasksThreshold
Value Name 3d859d8c-d0bb-4142-8696-c0d215203e0d
REG_DWORD RED_DWORD
Value 0x64
Location Software\Microsoft\Microsoft Data Protection Manager\Configuration\DPMTaskController\MaxRunningTasksThreshold
Value Name c4cae2f7-f068-4a37-914e-9f02991868da
REG_DWORD REG_DWORD
Value 0x32

The GUIDs control certain types of DPM tasks and you may need to tweak only certain ones to fit your needs. Below are the meanings and why you might want to reduce them.

9037ebb9-5c1b-4ab8-a446-052b13485f57 = Initial Replication – Reduce this if you plan on adding lots of new clients to protection at one time – this will limit the simultaneous transfer of data from X number of clients.

3d859d8c-d0bb-4142-8696-c0d215203e0d = Delta Replication (synchronizations) – reduce this to help with all clients trying to synchronize at the same time after an extended outage.

c4cae2f7-f068-4a37-914e-9f02991868da = Validate and Fix up (consistency check) – reduce this to throttle repairing replica volumes that need consistency checks.

To adjust the collocation factor: The default was 10 in DPM 2010 and was increased to 30 in DPM 2012.

 

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Collocation\Client
Value Name DSCollocationFactor
REG_DWORD REG_DWORD
Value 0x1E (30 decimal)

 

Restoring Client backup data

This is new in KB 2465832.

The administrator of a client computer must set the name of non-admin users who have to have permissions to perform end-user recovery of protected data of a client computer. To do this, the administrator must add the following registry key and value for each of these non-admin users. This is single key that contains a comma-separated list of client users without any leading or trailing spaces. You do not have to add this key separately for each non-admin user.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\ClientProtection
Value Name ClientOwners
Type REG_SZ
Value Comma-separated list of client users: IE: Domain\User1,Domain\User2

MORE INFORMATION: This is a hands off solution to allow all users that use a machine to be able to restore their own files.

1) Using Notepad, create these two .cmd files and save them in c:\temp (be sure the .txt extension is removed).

<addperms.cmd>

Cmd.exe /v /c c:\temp\addreg.cmd
 
<addreg.cmd>
 set users=
 echo Windows Registry Editor Version 5.00>c:\temp\perms.reg
 echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\ClientProtection]>>c:\temp\perms.reg
 FOR /F “Tokens=*” %%n IN (‘dir c:\users\*. /b’) do set users=!users!%Userdomain%\\%%n,
 echo “ClientOwners”=^”%users%%Userdomain%\\bogususer^”>>c:\temp\perms.reg
 REG IMPORT c:\temp\perms.reg
 Del c:\temp\perms.reg

2) Using Windows Scheduler, schedule addperms.cmd to run daily. Any new users that log onto the machine will automatically be added to the registry and have the ability to restore their own files.

Library / Tape Management

Introduced in DPM 2007 feature pack KB 949779

Added feature to better use tape capacity by co-locating data from multiple protection groups that have a similar retention range.

Location HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\1.0\Colocation
Value Name TapeExpiryTolerance
Type REG_DWORD
Value A fraction between 0 and 1. The default value is 0.15 which is 15%

For DPM 2007 / DPM 2010 – see the following information: Things you can do to help Data Protection Manager utilize your tapes full capacity

IMPORTANT NOTE The TapeExpiryTolerance value is depreciated in DPM 2012 and later. You can now create protection group co-location sets (Pgset) to have better control over tape co-location.

For DPM 2012 and later see the following information: Colocate data from different protection groups on tape

First introduced in DPM 2007 KB 970868

Detailed inventories can raise alerts for failure on each slot. If you have set many slots, too many alerts may be raised. Additionally, alerts are raised for each slot when you cancel the library detailed inventories. To prevent the alerts from being raised add the following value on the DPM Server.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\1.0\Alert
Value Name DetailedInventoryFailed
Type REG_DWORD
Value 0x0

NOTE After you apply the update and the registry setting, you can still determine whether the DI jobs failed or succeeded in the jobs view.

Support for IBM System Storage TS2900 Tape Autoloader KB 2465832

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent
Value Name RSMCompatMode
Type REG_DWORD
Value 0x1D or 29 Decimal

NOTE The RSMCompatMode registry value is used to specify multiple flags for DPM. The following are the flags that are set by this registry value:

• 1 = RSM_COMPAT_INIT_ELEMENT_STATUS
• 4 = RSM_COMPAT_IGNORE_TAPE_INVENTORY_RESULT
• 8 = RSM_COMPAT_CLEANER_EXCEPTION
•16 = TS2900 compatibility

Dell TL2000 / TL4000 and IBM 35XX libraries require the RSMCompatMode registry value to be 0xD or 13 Decimal, however 0x1D will also work fine with those libraries.

Short Erase

When a user erases a tape, by default DPM will do a long erase on that tape which takes longer. DPM 2010 introduced the ability to do a short erase by adding the following value.

Location HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data ProtectionManager\Agent
Value Name UseShortErase
Type REG_DWORD
Value 0x0

NOTE Setting to 0 (zero) will cause DPM to use a short erase. In order to set it back to using the long erase, simply delete the UseShortErase value.

Media Usage

The following two settings were introduced in the below updates:

DPM 2010 Update Rollup 6 KB 2718797
DPM 2012 Update Rollup 2 KB 2706783

Expiry dates for valid datasets that are already written to tape are changed when the retention range is changed during a protection group modification.

A protection group is configured for long-term tape recovery points together with custom long-term recovery goals. Recovery Goal 1 has a smaller retention range than the other recovery goals. In this configuration, if the protection group is changed to remove Recovery Goal 1 and to keep other recovery goals, datasets that were created by Recovery Goal 1 have their retention range changed to the retention range of the other recovery goals.

Location HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\Configuration\MediaManager
Value Name IsDatasetExpiryDateChangeInModifyPgAllowed
Type REG_DWORD
Value 0x0

Tapes are not reusable until the day after the day of expiry. This is true because DPM waits until midnight to run the reclamation job that marks tapes as reusable.

Location HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\Configuration\MediaManager
Value Name ExpireDatasetOnDayStart
Type REG_DWORD
Value 0x1

MMC crash when opening library tab

When running DPM 2010 or DPM 20102 and using a tape library with many slots, the DPM MMC will crash on opening. Often after several attempts, the console will finally open. This is usually seen when more than 1500 slots are presented to DPM for use.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
Value Name USERPostMessageLimit
Type REG_DWORD
Value 0x4e20 (20000 decimal)

Tape I/O errors 0x8007045D

Some tape drives do not handle multi-buffer IO very well and can lead to tape drive IO device errors. This IO error may result in DPM tape backup jobs failing or the tape being closed out and marked offsite ready before it is full. If you look in the DPMRACURR.ERRLOG after such a failure, you will find error code 0x8007045D that means “The request could not be performed because of an I/O device error”. Reducing the buffer size helps in most cases.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent
Value Name BufferQueueSize
Type REG_DWORD
Value 0x2 (Default is 10 decimal – maximum is 30 decimal)

NOTE If you set the value to 0x1 it may help with backup, however restores require a minimum of 2 buffers so it is advised to set it for 0x2 or more.

Prior to the BufferQueueSize setting, you could use a value called TapeSize. If the tape driver returns an IO_DEVICE_ERROR and the amount of data written by DPM is more than TapeSize value (in MBs), DPM will auto convert IO_DEVICE_ERROR to END_OF_TAPE_REACHED and span to next media without any issues.

Default behavior is for DPM to treat any I/O error after more than 30GB is written to tape as an “end of media” command. The TapeSize is now depreciated so please use the BuferQueueSize to fix I/O errors.

Another solution that also seems to help resolve the above IO error 0x8007045D is to add the following Storport key and BusyRetryCount value to each of the tape devices.

Location HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\SCSI\<DEVICEID>\<INSTANCE>\DeviceParameters\Storport\
Value Name BusyRetryCount
Type REG_DWORD
Value 0xFA (250 decimal)

To get a list of all the tape devices in your DPM Server that need the registry key added, run the following command from an administrative command prompt. That will return a list of tape drive Scsi\DeviceID\Instance that you can use to make the above change.

C:\Windows\system32>wmic tapedrive list brief

clip_image004

Below would be the registry keys to add to the DPM server based on the above output from the WMIC command.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Sequential&Ven_IBM&Prod_ULTRIUM-TD3\5&31cf2afa&0&000001\Device Parameters\StorPort]
“BusyRetryCount”=dword:000000fa

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Sequential&Ven_IBM&Prod_ULTRIUM-TD3\5&31cf2afa&0&000002\Device Parameters\StorPort]
“BusyRetryCount”=dword:000000fa

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Sequential&Ven_IBM&Prod_ULTRIUM-TD3\5&31cf2afa&0&000003\Device Parameters\StorPort]
“BusyRetryCount”=dword:000000fa

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Sequential&Ven_IBM&Prod_ULTRIUM-TD3\5&31cf2afa&0&000004\Device Parameters\StorPort]
“BusyRetryCount”=dword:000000fa

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\SCSI\Sequential&Ven_IBM&Prod_ULTRIUM-TD3\5&31cf2afa&0&000005\Device Parameters\StorPort]
“BusyRetryCount”=dword:000000fa

Prompting Timeout

During a tape backup, if a tape becomes full and there are no other tapes marked Free, Free (contains data) or Expired in the library, or if you are using a standalone tape drive that needs you to manually change the tape, DPM will raise an alert to prompt for another free tape to continue backup. The same is true during a restore. If a needed tape is not in the library an alert will be raised. By Default, DPM It will wait for 1 hour before failing the job.

This prompting timeout can be configured by adding this registry entry on the DPM Server. Restart the DPMRA service for it to take effect.

Location HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Data Protection Manager\1.0\Prompting
Value Name PromptingTimeOut
Type REG_DWORD
Value 3600000 (Timeout in MS decimal) The Formula is (#hrs*1000*60*60)

DPM Update Rollup

DPM Update Rollup setup will make a backup of the DPMDB prior to applying the update. You can alter the location of where that backup is stored using the following registry values. The backup file will be called QFEDPMDB.bak.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<MSSQL.n>\MSSQLServer
Value Name BackupDirectory
Type REG_SZ
Value EXAMPLE ONLY: C:\Program Files\Microsoft DPM\SQL\MSSQL10_50.MSDPM2012\MSSQL\Backup

DPM Update Rollups may fail when DPM services do not stop or start in an allotted time. If you look in the update log, you will find entries with the error 8007041d which means “The service did not respond to the start or control request in a timely fashion”. Below is a sample of a timeout trying to start the DPMWriter service, but the same can be logged for other DPM Services.

1: PatchCA: 2: start dpmwriter returned hr=8007041d
1: PatchCA: 2: Error in EnableAndStartService. hr=8007041d
1: PatchCA: 2: EnableDpmServices returned hr 0x8007041d

When a service starts, the service communicates to the Service Control Manager how long the service must have to start (the time-out period for the service). If the Service Control Manager does not receive a “service started” notice from the service within this time-out period, the Service Control Manager terminates the process that hosts the service. This time-out period is typically less than 30 seconds. If you do not adjust this time-out period, the Service Control Manager ends the process.

To eliminate that timeout error add the following value and restart the DPM server. Note that 30000 is in milliseconds, which is 5 minutes.

Location HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
Value Name ServicesPipeTimeout
Type REG_DWORD
Value 0x493E0 (30000 decimal)

IMPORTANT The above issue was fixed in DPM 2012 R2 UR6.

Bypass DPM filter block level tracking

There may be times when normal backups may not occur due to errors in the DPM Filter bitmap, a possible resource issue on the machine, or some other unforeseen problem. Under such conditions, you may want DPM to make the backup using consistency check workflow until a permanent solution can be found. To Bypass the DPM filter block level tracking mechanism, you can add this registry value on the protected server, then restart the DPMRA service.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Agent\2.0
Value Name ForceFixup
Type REG_DWORD
Value 0x1

NOTE This will have the same performance impact as a consistency check for every recovery point taken while the ForceFixup is in use.

Please be aware of the following KB Article:

2848751 VM backups in Data Protection Manager fail with “change tracking information is corrupt” error (https://support.microsoft.com/en-us/kb/2848751/en-us)

Auto Heal features

DPM 2010 introduced some Auto Heal features like Auto-grow, Auto-rerun, Auto-CC and Continue on Failure to help resolve backup failures. These features are carried forward and are present in all newer versions of DPM. The below values can be adjusted to better meet your needs to control if and when the Auto Heal feature is utilized.

I don’t want to re-invent the wheel here since many of these are already documented in our DPM 2010 blogs, but for completeness of this article I think it’s necessary to include them here as well.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Configuration
Value Name DisableAutoHeal
Type REG_DWORD
Value 0x1 [0x1 = do not auto-rerun failed jobs.]
Note Above only effects auto-rerun and if set to 0x1 other values for auto-rerun do not apply.
Value Name AutoRerunDelay
Type REG_DWORD
Value 0x3C [60 decimal is the default and is in minutes]
Value Name AutoRerunNumberOfAttempts
Type REG_DWORD
Value 0x1 [Number of job re-run attempts before publishing alert]
Value Name AutoCCNumberOfAttempts
Type REG_DWORD
Value 0x1 [Number of Consistency Check re-run attempts]
Value Name AutoCCDelay
Type REG_DWORD
Value 0x3C [60 decimal is the default and is in minutes]
Value Name MaxFailedFiles  [This is added to the protected servers registry, then restart dpmra service]
Type REG_DWORD
Value 0x64 [Number of files to skip before failing backup job. 100 decimal is the default]

More information about some of the above values can be found in the following blog posts:

DPM 2010: Helping you meet SLAs with less effort
How to use and troubleshoot the Auto-heal features in DPM 2010

Co-locating Client, SQL and Hyper-V data sources

Disk co-location was introduced in DPM 2010 to allow a single DPM server to protect more than 300 data sources. The 300 data source limit is due to Windows Logical Disk Manager (LDM) database design that maintains the dynamic volumes created by DPM. Protecting 300 unique data sources requires DPM to create 600 volumes, a replica volume and a recovery point volume. The LDM database has a limit of 2960 records, and a minimum of three records is required per dynamic volume created. Since disk migration may need to occur at a later time, DPM leaves unused LDM records by still staying in the 600 volume limit range. By enabling disk co-location for some data sources, DPM does not need to create as many volumes to protect more data sources.

Below are the default co-location entries:

CLIENT PROTECTION

DSCollocationFactor is the number of data sources that can be collocated on a single replica.

NOTE The default DSCollocationFactor of 30 = 3000 clients per DPM 2012 server and later. This means 30 client machines will use the same DPM Replica volume and recovery point volume. The replica volume size will be a factor of DSCollocationFactor setting times the GB/per client specified when adding the clients to protection group.

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Collocation\Client
Value Name DSCollocationFactor
Type REG_DWORD
Value 0x1E (30 Decimal)

To see which client machines are co-located on the same replica volume in a protection group, you can run the below DPM PowerShell commands. Look for co-located client machines that are on the same replicapath (Volume GUID).

Be sure to replace the ‘Protectiongroup_Friendly_Name‘ before running.

$pg = get-protectiongroup (&hostname) | ? { $_.friendlyname -eq ‘Protectiongroup_Friendly_Name’}
Get-datasource $pg | sort-object -property replicapath | ft replicapath, ProductionServerName, diskallocation -AutoSize

SQL PROTECTION

DSCollocationFactor: This is the number of SQL data sources that can be collocated on a single replica. DPM will fit as many SQL data Sources as possible up to the specified limit based on the data sources sizes at the time of enumeration and the replica size.

CollocatedReplicaSize: The default value of replica volume created for collocated SQL data sources is 10GB. This can be overridden in the GUI at time of protection. If making changes to the registry, make sure the value entered is a multiple of 1GB (1073741824). The recovery point volume size depends on this value in addition to the retention range specified in the Protection Group. The exact formula is recovery point volume size = (replica volume size * 1.5) * retention days * 0.1 + 1.6GB.

 

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Collocation\SQL
Value Name DSCollocationFactor
Type REG_DWORD
Value 0x1E (30 Decimal)
Value Name CollocatedReplicaSize
Type REG_SZ
Value 10737418240 (Must be a multiple of 1GB (1073741824 bytes))

To see which SQL databases are co-located on the same replica volume in a protection group, you can run the below DPM Powershell commands. Look for co-located SQL Databases that are on the same replicapath (Volume GUID).

Be sure to replace the ‘Protectiongroup_Friendly_Name‘ before running.

$pg = get-protectiongroup (&hostname) | ? { $_.friendlyname -eq ‘Protectiongroup_Friendly_Name’}
Get-datasource $pg | sort-object -property replicapath | ft replicapath, name, diskallocation -AutoSize

 

HYPER-V PROTECTION

DSCollocationFactor: This is the number of Hyper-V Guest data sources that can be collocated on a single replica. DPM will fit as many virtual machine data sources as possible up to the specified DSCollocationfactor limit based on the data sources sizes at the time of enumeration and the replica size.

CollocatedReplicaSize: The default value of replica volume created for collocated Virtual machines 250GB. This can be overridden in the GUI at time of protection. If making changes to the registry, make sure the value entered is a multiple of 1GB (1073741824). The recovery point volume size depends on this value in addition to the retention range specified in the Protection Group. The exact formula is recovery point volume size = (replica volume size * 1.5) * retention days * 0.1 + 1.6GB.

The default Hyper-V Co-located replica volume that DPM creates by default is 250GB meaning we will co-locate as many Hyper-V guests that fit on that 250GB volume up to 8 before we create another 250GB volume. You can override the overall replica volume size in the GUI during protection.

– With DPM 2010 RTM you can protect 400 VM’s of an average 50GB with 10% churn rate using a single DPM server (any mix of that delivers ~20TB of total VM space).

– With DPM 2012 RTM you can protect 400 VM’s of average 100GB with 10% churn rate using a single DPM server (any mix of that delivers ~40TB of total VM space).

– With DPM 2012 SP1 or DPM 2012 R2, you can protect 800 VM’s of average 100GB each with 10% churn using a single DPM server (any mix of that delivers ~80TB of total VM space).

– With DPM 2012 SP1 later, DPM will allow multiple DPM servers to communicate with nodes in the cluster so now you can scale your hyper-V cluster to 64 nodes and have multiple DPM servers protect the entire cluster.

See the following blog post on scale out Hyper-V protection:

SC 2012 SP1 – DPM: Leveraging DPM ScaleOut feature to protect VMs deployed on a big cluster

A Windows Server 2012 R2 64 node Hyper-V cluster can support 8000 VM’s, so 10 DPM 2012 R2 servers each protecting 800 VM’s covers all 8000 VM’s.

 

Location HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Data Protection Manager\Collocation\Hyperv
Value Name DSCollocationFactor
Type REG_DWORD
Value 0x8 (8 Decimal)
Value Name CollocatedReplicaSize
Type REG_SZ
Value 268435456000 (Must be a multiple of 1GB (1073741824 bytes))

To see which virtual machines are co-located on the same replica volume in a protection group, you can run the below DPM PowerShell commands. Look for co-located SQL databases that are on the same replicapath (Volume GUID).

Be sure to replace the ‘Protectiongroup_Friendly_Name‘ before running.

$pg = get-protectiongroup (&hostname) | ? { $_.friendlyname -eq ‘Protectiongroup_Friendly_Name’}
Get-datasource $pg  | sort-object -property replicapath | ft replicapath, name, diskallocation -AutoSize

Please be aware of these special considerations when dealing with co-located data sources:

Moving Between Co-Located and Non-Co-Located Protection Groups

Stopping Protection for Co-Located Data

Protect, Unprotect, Protect, Unprotect – Understanding how DPM 2010 retention works

In Summary, I hope you find the above information useful and convenient for one stop shopping for DPM related registry values. I will update this blog as new registry setting are introduced in future releases.

Mike Jacquet | Senior Support Escalation Engineer | Microsoft GBS Management and Security Division

Get the latest System Center news on Facebook and Twitter:

clip_image001 clip_image002

System Center All Up: http://blogs.technet.com/b/systemcenter/

Configuration Manager Support Team blog: http://blogs.technet.com/configurationmgr/
Data Protection Manager Team blog: http://blogs.technet.com/dpm/
Orchestrator Support Team blog: http://blogs.technet.com/b/orchestrator/
Operations Manager Team blog: http://blogs.technet.com/momteam/
Service Manager Team blog: http://blogs.technet.com/b/servicemanager
Virtual Machine Manager Team blog: http://blogs.technet.com/scvmm

Microsoft Intune: http://blogs.technet.com/b/microsoftintune/
WSUS Support Team blog: http://blogs.technet.com/sus/
The RMS blog: http://blogs.technet.com/b/rms/
App-V Team blog: http://blogs.technet.com/appv/
MED-V Team blog: http://blogs.technet.com/medv/
Server App-V Team blog: http://blogs.technet.com/b/serverappv
The Surface Team blog: http://blogs.technet.com/b/surface/
The Application Proxy blog: http://blogs.technet.com/b/applicationproxyblog/

The Forefront Endpoint Protection blog : http://blogs.technet.com/b/clientsecurity/
The Forefront Identity Manager blog : http://blogs.msdn.com/b/ms-identity-support/
The Forefront TMG blog: http://blogs.technet.com/b/isablog/
The Forefront UAG blog: http://blogs.technet.com/b/edgeaccessblog/

System Center 2012 Data Protection Manager System Center 2012 R2 Data Protection Manager DPM 2012 R2