Welcome to TechNet Blogs Sign in | Join | Help

Known Issues and recommended solutions on Secondary Protection (Disaster Recovery)

1.       We have seen issues under Secondary DPM server when production server node is expanded in DPM UI, you do not see any datasources enumerated. As a result of this, you cannot add secondary protection for any of the datasources of that production server. This could happen due to one of the following reasons

a.       One of the Protection Groups in Primary DPM has a special character in its name (like &, %, >. < etc) or one of the protected members of Primary DPM has special characters.

b.      DPM Writer is not started in Primary DPM server

c.       DPM Agent (by name DPMRA) crashed on Primary DPM server or Production server. If this is the case, you will find eventlog entries in respective servers.

d.      Secondary DPM server could not enumerate datasources from production server.  Run the powershell script under section “Check-ProductionServer” in the attached file on Secondary DPM Server. This will tell you whether Secondary DPM can enumerate datasources on production server or not. Steps to run this script

                                                               i.      Copy the contents under the section “Check-ProductionServer” in the attached file to a file named as “Check-ProductionServer.ps1”.

                                                             ii.      Run the powershell script “Check-ProductionServer.ps1” on a powershell window on Secondary DPM Server

e.      You had manually installed x64 DPM agent on top of the DPM 20007 x64 Primary DPM. Normally, this is blocked. You cannot manually install DPM agent on a DPM server. But, we have a known issue on X64 version which unblocks this scenario. If this is the case, you will see an entry for “Microsoft System Center DPM Protection Agent” in Add/Remove programs.

 

General solutions for this problem:

                                 i.            Make sure that Protection Groups or Protected members in Primary DPM don’t have any special characters in their names. Rename all such Protection Groups in Primary DPM and retry secondary protection

                               ii.            Make sure that DPM Writer is enabled and started/running on the Primary DPM server

                              iii.            Make sure that DPMRA service hasn’t crashed on Primary DPM server or production server while adding secondary protection through Secondary DPM server.

                             iv.            Disable and Enable protection for the production server which exhibits symptom 4 above.

                               v.            Uninstall the “Microsoft System Center DPM Protection Agent” from Primary DPM server through Add/Remove programs. Run the batch script under section “UpdatePrimaryDPM” in the attached file on Primary DPM server. Steps to run this script.

-          Copy the script  under the section “UpdatePrimaryDPM” in the attached file to a new batch file called UpdatePrimaryDPM.cmd

-          Run UpdatePrimaryDPM.cmd <DPM Intall Path>

E.g.: UpdatePrimaryDPM.cmd “C:\Program Files\Microsoft DPM\DPM”

2.       You get prerequisite not installed error while adding datasources for secondary protection. This might happen if the production server is a domain controller. Please contact Microsoft support if this is the case.

 

Thanks

Madhan S

 

Enabling/Disabling co-location of data on Tape

With DPM 2007 Feature Pack  (KB949779), we have added support for media co-location. With this feature, you can achieve better tape utilization by co-locating data from multiple protection groups with similar retention range. This feature is disabled by default. You can use following PowerShell commands to enable and disable tape co-location.

 

Enable Tape co-location:

 

Set-DPMGlobalProperty -DpmServer <DPM Server Name> -OptimizeTapeUsage $true

 

Disable Tape co-location:

 

Set-DPMGlobalProperty -DpmServer <DPM Server Name> -OptimizeTapeUsage $false

 

You can verify the status of tape co-location feature (Enabled/Disabled) from Library Management tab of DPMUI.

 

The Feature Pack can be downloaded from following locations.

x86:  http://www.microsoft.com/downloads/details.aspx?FamilyID=e9e1fe35-b175-40a8-8378-2f306ccc9e28&DisplayLang=en

 

x64:  http://www.microsoft.com/downloads/details.aspx?FamilyID=ad5cd1a2-9b87-4a2c-90a2-9dbaf1024310&DisplayLang=en

 

Madhan S

DPM 2007 Rollup Update -- NOW AVAILABLE

Data Protection Manager

We are very excited to announce that the ‘Rollup Update’ for System Center Data Protection Manager 2007 is now available.

There are new workloads to be protected, as well as new features in this update, including:

Windows Server 2008 support

Run DPM2007 Server on a Windows Server 2008 platform

Protect Windows Server 2008 – including Core systems

Protect Windows Server 2008 System State

Use of RemoteApp to enable DPM administration remotely

While DPM2007 has actually been protecting “Longhorn” since Beta 3, this makes Windows Server 2008 a supported protected workload

Protect SQL Server 2008

Including the ability to restore SQL Server 2005 databases to a SQL Server 2008 server for test migrations and ensuring that after you have updated your environment to SQL Server 2008, you will still be able to recover older SQL 2005 databases, when needed.

While DPM has actually been protecting "Katmai" since customer technology preview 4 (July 2007), this makes SQL Server 2008 a supported protect-able workload

Protect clustered Virtual Server 2005 R2 hosts

DPM 2007 could already protect clustered-Exchange, clustered-SQL Server and clustered-File Services … but clustered virtualization hosts was not initially available in DPM 2007 RTM.  Now for those environments that understand that as they rely on virtualization, the virtualization host needs to be highly available – those platforms are protected by DPM, as well.

New media capabilitiesadded based on feedback from some of our early DPM enterprise customers

Tape media sharing – so that multiple protection groups with similar tape retention periods can now share tapes

Tape library sharing – multiple DPM servers can now share your enterprise tape library silo’s.  This one has been running in MSIT for a while.

 

For more details on what is included in the DPM 2007 “Rollup Update” or in the upcoming Service Pack 1, please check out:

TechNet webcast on “What is coming next for DPM 2007” from April 23, 2008

 

The DPM 2007 Rollup Update is now available via Microsoft Update, if your DPM server is opt’ed in for updates … or it is downloadable from:

Data Protection Manager 2007 - Rollup Update - x86

Data Protection Manager 2007 - Rollup Update - x64

 

Microsoft is committed to continuing to make DPM2007 an ideal solution for protecting and recovering your Windows infrastructure.  So, stay tuned as we get ready to launch the beta for DPM 2007 Service Pack 1, targeted for later this Summer – including the updates listed above, PLUS protection for Hyper-V, more capabilities around SQL Server databases, new features for protecting SharePoint farms and some other features that we are keeping a surprise for now.  As always, you’ll hear about them first here – on the DPM blog site.

 

-- Balaji Hariharan, Jason Buffington

DPM CLI Tips 'n Tricks: Powershell Basics - Part II

Tab Completion

The most fascinating part of DPM Management Shell is Tab Completion of cmdlets. By learning the common verbs in Powershell (like Get, Set, Start etc.), a Windows or an Exchange admin can easily use that knowledge and learn the DPM cmdlets. This is because the same verbs are used in DPM Management Shell too.

 

For example: To get the list of protected servers backed-up by a DPM server, one needs to just type Get-P and keep pressing tab. This would result in Powershell suggesting the various cmdlets, and you can choose the right one needed. The ones that you would see in this example are - Get-Process, Get-ProductionCluster, Get-ProductionServer etc.

 

In addition, if you can also tab complete the various parameter names too in the same way, by typing a “-“ after the cmdlet name and pressing tab.

 

 

Examples of cmdlet usage(Get-Help <cmdlet> -example)

 

Getting directly to the example usage of a cmdlet can be done easily with optional parameters in Get-Help - Get-help <cmdletname> -example. This will directly print only the example usages of the cmdlet:

 

For example:

 

PS D:\> Get-help Get-ProtectionGroup -example

 

NAME

 Get-ProtectionGroup

 

SYNOPSIS

 Retrieves the list of protection groups on the DPM server.

 

EXAMPLE 1

 Get-ProtectionGroup -DPMServerName TestingServer

 

This command returns the protection group on a DPM server.

 

Getting only the cmdlet syntax (Get-Command <cmdlet> -syntax)

Another quick help about the syntax of cmdlet would be get by typing

 

PS D:\> Get-Command Get-Datasource -syntax

 

Get-Datasource [-DPMServerName] <String> [-Inactive] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]

 

Get-Datasource [-ProductionServer] <ProductionServer> [-Async] [-Inquire] [-Replica] [-Tag <Object>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]

 

Get-Datasource [-ProtectionGroup] <ProtectionGroup> [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]

 

Get-Datasource [-DPMServerName] <String> [-SearchPath] <String> [[-ProductionServerName] <String>] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]

 

 

Using the object member properties (Get-Member)

With the help of get-member you can verify/set the property of the object.

 

PS D:\> $pg = Get-ProtectionGroup “MyDPMServerName”

PS D:\> $pg | get-member

 

TypeName: Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.OMCommon.ProtectionGroup

 

Name                                  MemberType    Definition

----                                    ----------       ----------

AddProtectableObject             Method           System.Void AddProtecta...

AddProtectionOptions             Method           System.Void AddProtecti...

.

.

FriendlyName                        Property           System.String FriendlyN...

InitializationType                   Property           Microsoft.Internal.Ente...

 

Now these properties can be used to filter and get a specific PG.

 

For Example:

 

$clipg = Get-ProtectionGroup $dpmname | where { $_.FriendlyName -eq $pgname }

 

 

CLI Help Updates and Errata

Any additional help information or errata gets updated per cmdlet and is available at http://go.microsoft.com/fwlink/?LinkId=95130.

 

- Mukul Shekhawat, Balaji Hariharan

DPM CLI: Quick reference help

While using the DPM Management Shell, one would like to have a list of all cmdlets and its short help for quick reference. Also, we heard it would be useful to group the various cmdlets by the function they do – e.g. Library, Disk, Recovery or Protection related etc. Keeping this in mind, we have published this quick reference for you based on DPM 2007 Management Shell. You could take a print out of this and keep it handy while creating scripts. Btw, new cmdlets or parameters may be introduced in future versions or service packs of DPM, so you might want to update this list manually.

 

- Mukul Shekhawat, Balaji Hariharan

Posted by dpm | 0 Comments
Attachment(s): DPM CLI List.xls

Solving common DPM agent installation issues

This post is a summary of the most common support cases that we have been hearing so far in the area of DPM Protection Agent installation on a target server. We capture the following here in the excel sheet attached - common issues, why they fail, and the quick resolution steps to get past these issues. Hope this is useful, and let us know your feedback to make this better in future.

 

-   Mukul Shekhawat, Balaji Hariharan

 

 

CLI Script: Auto re-running consistency checks

Some customers had non-DPM issues, like network issues because of which consistency check (CC) jobs failed too often. For the benefit of them, we have added a script that would re-try CC until it succeeds. Note: In some cases, CC would impact the protected computer’s performance and hence use this script appropriately.

 

- Vikash Jain

Coming soon: The all new DPM Management Pack

 

As a customer of a product that we love, we always love to see what are the new features that are cooking in the DPM labs. We take this opportunity to take a preview of the cool new features that are coming soon…

 

Feature of the week: The all new DPM Management Pack for Operations Manager 2007

 

Introduction

Operations Manager 2007 (OpsMgr) is a cool new management software with new concepts in monitoring as compared to its previous version, Microsoft Operations Manager 2005 (MOM). The first and foremost of them is the class/object based modeling of my application, and monitoring the various states changes of these objects around the four pillars - Availability, Configuration, Security and Performance. This brings in consistency across multiple management packs (MP).

 

But the cool by-product is that the MP itself would double-up as a remote and centralized UI, as in the case of the DPM MP – by giving glimpse of all the admin managed objects and its various properties - like what is the number of recovery points in a datasource, or how much size does it occupy, or what tape libraries are working fine etc. In fact, it also build a visual picture (Diagram view) which gives a neat picture of the DPM setup and how the health roll-ups. The built-in break-fix help remotely fix issues, whereas the health explorer helps show the entire details of all facets to monitoring.

 

The cool features to watch out in the new pack are:

·         Diagram View to see entire DPM deployment and its managed objects

o   MP can be used like a Remote UI to see various properties like disk usage, library details, protection and recovery details etc.

·         State views to see the current state of all objects

·         Health Explorer that shows how the MP monitors the entire system, along with Product Knowledge for all.

·         Alert view where the actionable to-do items for operators are logged, that talk about what has failed, and how to fix it.

·         Break-Fix tasks  for common troubleshooting like re-running backups, fix replica errors in the remote DPM server directly without having to terminal service into it.

 

The pack would be available in Q4 of this year, and watch out for a sneak-preview demo of the same, pretty soon. We are sure you would love it.

 

- Balaji Hariharan

Posted by dpm | 1 Comments
Filed under: ,

DPM CLI Tips 'n Tricks: Powershell Basics

The scripts posted in this blog require knowledge of Powershell and DPM cmdlets. So we thought we would present some tips ‘n tricks to become power users!

 

Introduction

The first difference between any normal Command Line Interface (CLI) (typically, Windows cmd.exe based environment) & Powershell is that, Powershell is a full blown .Net environment and is object oriented. In other words, it treats all input/output parameters as objects and when you pipe one command to another, objects flow instead of plain text as in old shells. Similarly, DPM Management Shell also takes inputs in the form of objects – for example, DPM, Protection Group, Datasource, Library, Tape, Tape Drive, Disk etc. are all .Net objects. Let’s now move on to more interesting stuff.

 

Finding cmdLets (Get-Command or gcm)

For knowing all the cmdLets present in the Powershell instance, use Get-Command (or gcm in short). When run, the output will be something like this:

 

PS D:\ > Get-command

 

CommandType   Name                  Definition

-----------       ----                   ----------

Cmdlet              Add-Content       Add-Content [-Path] <String[...

Cmdlet              Add-DPMDisk       Add-DPMDisk [-DPMDisk] <Disk...

Cmdlet              Add-History         Add-History [[-InputObject] ...

Cmdlet              Add-Member        Add-Member [-MemberType]

Cmdlet              Add-PSSnapin      Add-PSSnapin [-Name] <String...

Cmdlet              Add-Tape            Add-Tape [-DPMLibrary] <Libr...

Cmdlet              Clear-Content      Clear-Content [-Path] <Strin...

 

Finding DPM cmdLets (Get-DPMCommand)

Similarly for getting all the cmdLets belonging to only DPM, use the Get-DPMCommand.

 

PS D:\ > Get-DPMCommand

 

CommandType  Name                      Definition

-----------      ----                        ----------

Cmdlet            Add-DPMDisk             Add-DPMDisk [-DPMDisk] <Disk...

Cmdlet            Add-Tape                 Add-Tape [-DPMLibrary] <Libr...

Cmdlet            Connect-DPMServer   Connect-DPMServer [-DPMServe...

Cmdlet            Disable-DPMLibrary     Disable-DPMLibrary [-DPMLibr...

Cmdlet            Disable-TapeDrive      Disable-TapeDrive [-TapeDriv...

 

How to use a cmdlet?

 

1. Understanding the cmdlet parameters (Get-Command and Format-List)

There are two parts to understanding a cmdlet. First, to look at the various input parameters and various usages, you can use the Get-Command itself on a specific cmdlet, in the following fashion – Get-Command <cmdlet> | format-list (or gcm <cmdlet> | fl, in short).

 

PS C:\> gcm Set-Alias | fl

 

Name                     : Set-Alias

CommandType         : Cmdlet

Definition                : Set-Alias [-Name] <String> [-Value] <String> [-Description <String>] [-Option <ScopedItemOptions>] [-PassThru] [-Scope <String>] [-Force] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]

 

 

2. Reading Help documentation for a cmdlet (Get-Help or help)

For reading the Help documentation for any cmdlet use the following (Get-Help or help)

 

Get-Help <cmdlet>

 

For example:

 

PS D:\ > Get-Help Add-Tape

 

NAME

    Add-Tape

 

SYNOPSIS

    Adds a tape to a DPM library.

 

 

SYNTAX

    Add-Tape [-DPMLibrary] <Library> [-Async] [-JobStateChangedEventHandler <Jo

    bStateChangedEventHandler>] [<CommonParameters>]

…..

 

3. Getting detailed help, and seeing sample scripts

For seeing additional information on each of the cmdLets, you can use the –Full or –Detailed parameters in Get-Help.

 

e.g.    Get-Help Add-Tape –Detailed

Get-Help Add-Tape –Full

 

DPM Object Properties (Get-Member or gm)

 

The DPM cmdlets are logically divided in three groups Protection (Backup), Recovery and Management related (Library & Disk). All the tasks that can be done from the DPM UI in these areas, can be done from the cmdLets in these areas. Infact, the CLI provides additional features than the UI, in some scenarios.

 

You can get the member properties of any object by pipelining the output to Get-Member:

 

For example:

 

$lib = Get-DPMLibrary -DPMServerName “Testing Server Name”

$lib | Get-Member

 

Will give all the members of $lib (Library object).

 

PS D:\ > $lib | get-member

 

TypeName: Microsoft.Internal.EnterpriseStorage.Dls.UI.ObjectModel.LibraryMan

agement.Library

 

Name              MemberType    Definition

----                ----------       ---------

ClearCache       Method            System.Void ClearCache()

Dispose            Method            System.Void Dispose()

 

We hope this was useful, feel free to add comments as feedback to this post. And in the next version, we can add more tricks!

 

- Mukul Shekawat, Balaji Hariharan

CLI Script: To recover a DPM replica volume from data stored in tape

When a disaster occurs, and you lose your replica volume for any datasource, you could re-seed the replica from the backed-up data you have in tape. This little script initializes replica from a tape recovery point. The parameters have to be customized for your environment first as given below. 

Save the attached file as a .ps1 file and invoke through the DPM Management Shell.

 

- Madhan S

CLI Script: To remove all datasources in inactive protection state

The attached script removes all inactive datasources under a given DPM server. It provides options to remove inactive datasources on disk/tape/both. Save this as a .ps1 file and invoke it from inside the DPM Management Shell. Please contact us if you need any further assistance in running the script or face any issues.

 

- Madhan S

We need your feedback! Help us improve SQL features by completing this survey...

The DPM Team would like to understand your Microsoft® SQL Server backups needs so we can serve you better. We need feedback from people who back up SQL Servers regularly - people like you!  Please take a moment to complete this survey and help the DPM Team for Ultimate SQL Backup Improvements!

Click here to begin the survey: https://connect.microsoft.com/Survey/Survey.aspx?SurveyID=6110&SiteID=205
Posted by dpm | 2 Comments

New DPM Case Study -- Sporton

http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000002020

“When Sporton discovered how completely Data Protection Manager met their criteria, and that it was significantly more cost efficient than other products they had been evaluating, including offerings from CommVault and Symantec, they knew they had found the ideal solution.”

Organization Profile

Headquartered in Taipei, Taiwan, Sporton International Inc. (Sporton) is the largest electromagnetic compatibility (EMC) authentication, safety regulation detection, wireless network communication authentication, mobile phone authentication, and digital television authentication company in the market.

Business Situation

Sporton’s existing process for backing up and restoring data had become inefficient and unreliable. The company needed an easy-to-use solution that would reduce the time, resources, and budget required to manage their backup and recovery processes across for their corporate headquarters and their remote offices in Taiwan, China, and Korea.

Solution

By deploying a solution based on Microsoft System Center Data Protection Manager 2007, Sporton was able to reduce their total IT backup and recovery overhead dramatically, with faster deployment, decreased time to back up and recover data, decreased staff overhead, and reduced need for support and maintenance.

Benefits

· 70% reduction in backup and recovery overhead

· 90% decrease in time to perform daily backups

· 70% reduction in time to troubleshoot back errors

· 90% decrease in file recovery time

· 70% savings in annual tape expenses

· 20% reduction in annual IT staff and maintenance

Vertical Industries
Telecommunications
Wireless Telecommunications Industry

Country/Region
Taiwan

For more DPM Case Studies -- click here

Why does DPM use the Recovery Storage Group in Exchange?

 

One of the more common questions that we hear from DPM customers is around the DPM dependency on the Exchange RSG, while other backup technologies do not require it.

 

How Microsoft customers were protecting Exchange previously

When Microsoft looked at how customers were protecting Windows applications today, we found two troubling scenarios:

1. Most customers were using one or more technologies for traditional nightly tape backup, particularly within heterogeneous environments.  In addition, many were using or considering the use of different technologies for disk-to-disk replication, often per workload.  And some were also using a third type of storage technology for long-distance synchronization for disaster recovery or business continuity solutions.  Often the mix of these solutions from various vendors created their own supportability issues, based on interoperability as well as multiple management tools and monitoring views.

2. Many customers expressed frustration over a support gap between protection/recovery solutions and the workloads themselves.  We have often heard customers and partners complain that while their backup software reported successful backups and their recoveries reported complete, when they attempt to bring the data online, they either can’t or discover corruption. 

· Calling the backup vendor, they are told that it must be the application. 

· Calling Microsoft support, we provide best effort support but sometimes surmise that the data was not backed-up or restored properly. 

There isn’t necessarily fault here, just the reality of multiple vendors with multiple approaches to solving the problem.

DPM 2007 was designed with these two scenarios in mind:

1. To provide a consistent and unified disk-to-disk-to-tape experience, that included near-continuous protection, routine tape backup and disaster recovery long-distance replication within a single protection product

2. Provide the best possible backup and recovery solution that assured not only reliability, but also supportability.

Strategic Choices for how DPM does what it does

To do this, we did make some strategic choices.  Because there were already several heterogeneous backup technologies that many customers believe fall short around complex Windows server application deployments – we chose to focus on the workloads that we are committed to, namely the Microsoft platforms and products: Windows Server, SQL Server, Exchange Server, SharePoint products and technologies, and our virtualization environments. 

The other strong commitment we made was to use only the backup and recovery methods that are wholly supported by the product teams of the workloads we are protecting:

  • To protect data, we rely on the Volume Shadowcopy Services capabilities that Microsoft has been providing since Windows Server 2003 and the application servers of that timeframe.  Almost every DPM protected workload uses a VSS writer that is provided by that product team, or other backup mechanism provided by the workload itself, as the best known and most supported way to secure that information -- as it was intended from those who know the inner-workings of the application itself.   These are not hidden mechanisms or secret calls - they are well published as the intended mechanisms provided by the application as the intended way to back them up.  But many legacy protection products choose to use other methods.
  • To restore data, we comply with the restoration capabilities and architecture of the application.  In the case of Exchange, that means using the Recovery Storage Group – and s