Sunday, June 25, 2017

Microsoft DPM 2010 MMC crashed when client join to protection group

Microsoft DPM 2010 MMC crashed when client join to protection group

 

Problem Details:

 

 


<FatalServiceError><__System><ID>19</ID><Seq>0</Seq><TimeCreated>22.12.2010 08:35:36</TimeCreated><Source>DpmThreadPool.cs</Source><Line>163</Line><HasError>True</HasError></__System><ExceptionType>DlsException</ExceptionType><ExceptionMessage>Eine Ausnahme vom Typ "Microsoft.Internal.EnterpriseStorage.Dls.Utils.DlsException" wurde ausgelöst.</ExceptionMessage><ExceptionDetails>Microsoft.Internal.EnterpriseStorage.Dls.Utils.DlsException: Eine Ausnahme vom Typ "Microsoft.Internal.EnterpriseStorage.Dls.Utils.DlsException" wurde ausgelöst.
   bei Microsoft.Internal.EnterpriseStorage.Dls.UI.UICommon.CmdLetWrapper.HandleError(Pipeline pipeline)
   bei Microsoft.Internal.EnterpriseStorage.Dls.UI.UICommon.CmdLetWrapper.Invoke()
   bei Microsoft.Internal.EnterpriseStorage.Dls.UI.Dpw.ProtectionGroupProgressPage.FinishWizard()
   bei Microsoft.Internal.EnterpriseStorage.Dls.UI.Dpw.ProtectionGroupProgressPage.OnEnteredPage(EventArgs e)
   bei Microsoft.Internal.EnterpriseStorage.UI.WizardFramework.WizardForm.InternalNavigateToPage(WizardPage targetPage, NavigateEventArgs e)
   bei Microsoft.Internal.EnterpriseStorage.UI.WizardFramework.WizardForm.NextPage()
   bei System.Windows.Forms.Control.OnClick(EventArgs e)
   bei System.Windows.Forms.Button.WndProc(Message&amp; m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
*** Mojito error was: InsufficientSpaceOnReplica; 0; None</ExceptionDetails></FatalServiceError>

 

 

 

 

 

 

Resolution

This is a known bug in DPM 2010 and a fix is in progress, however, in the meantime you can use the following power shell script to add the client to the secondary DPM servers protection group.

***************** Start Script here ***************
# Change variables as per need
$PGName = "Protection Group 1"
$primaryDPMName = "PrimaryDPM.corp.contoso.com"
$clientName = "laptop123.corp.contoso.com"

$dpmservername = &"hostname"
$dpmservername = $dpmservername.Substring(0, [Math]::Min(15, $dpmservername.Length))

# Get the modifiable PG object
$pg = Get-ProtectionGroup -DPMServerName $dpmservername | where { $_.FriendlyName -eq $PGName }
$mpg = Get-ModifiableProtectionGroup -ProtectionGroup $pg

# Run datasource inquiry on Primary DPM
$ps = Get-ProductionServer -DPMServerName $dpmservername | where {$_.Name -eq $primaryDPMName }
$clientToAdd = Get-Datasource -ProductionServer $ps -Inquire | where { ($_.Type.Id -eq "7b2e4c3d-876f-4535-b5c9-b344d4f05120") -and ($_.LogicalPath -like ($clientName + "\*")) }

if ($clientToAdd)
{
    # Add client to PG
    Add-ChildDatasource -ProtectionGroup $mpg -ChildDatasource $clientToAdd

    # Set disk allocation
    Set-DatasourceDiskAllocation -ProtectionGroup $mpg -ExpectedDataSizePerClientInMB ($mpg.ClientPGDetailsField.ExpectedDataSizePerClient/(1024*1024))

    # Set the IR method for newly added client. (Uncomment to start immediate IR)
    #Set-ReplicaCreationMethod -ProtectionGroup $mpg -Now

    # Commit the changes
    Set-ProtectionGroup -ProtectionGroup $mpg
}

***************  End script here *****

No comments:

Post a Comment