DFS-R: Cluster Resource Deletion

Microsoft.Windows.FileServer.DFSR.6.2.Cluster.ResourceDeleteFailed (UnitMonitor)

This object monitors the deletion of the replicated folder cluster resource from a failover cluster, and creates a Warning alert if it detects that the resource wasn’t deleted.

Knowledge Base article:

Summary

This object monitors the deletion of the replicated folder cluster resource from a failover cluster, and creates a Warning alert if it detects that the resource wasn’t deleted. It does so by looking for the presence of DFS Replication Event 9004.

Causes

An unhealthy state of this monitor indicates that DFS Replication failed to delete a replicated folder cluster resource. This can occur if the clustered file server instance isn’t online.

Resolutions

Confirm that the failover cluster resource is online

If the server is a member of a failover cluster, confirm that the DFS Replication resource is online.

To confirm that a cluster resource is online using the Windows interface

Open Failover Cluster Manager on the affected server and confirm that the status of the appropriate clustered file server instance is Online. If it isn’t, select the appropriate resource and then click Bring this service or application online.

To confirm that a cluster resource is online using Windows PowerShell

Open a Windows PowerShell™ command prompt window while logged on with an account that is a member of the local Administrators group on the failover cluster, and then type the following command, where <replicatedfolder_rootpath> is the root path of the replicated folder hosted by the clustered file server instance:

get-wmiobject -namespace root\mscluster -class MSCluster_Resource -Filter "name='DFSR <replicatedfolder_rootpath>'"

If the resource is online, the value of the State field should be 2.

Important: Add a second backslash (\) before any backslashes in the replicated folder root path. For example d:\shares\public would be written as d:\\shares\\public.

DFS Replication will periodically retry this operation.

Verification

This monitor automatically resets to a healthy state after this issue is resolved.

Additional

DFS Replication Event 9004 (http://go.microsoft.com/fwlink/?LinkId=187170)

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.6.2.ClusteredReplicatedFolder
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-R: Couldn’t Delete Cluster Resource
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.6.2.Cluster.ResourceDeleteFailed" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.6.2.ClusteredReplicatedFolder" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSR.6.2.Cluster.ResourceDeleteFailed_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>DFS Replication</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">9004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="DFSRLib!Microsoft.Windows.FileServer.DFSR.ReplicatedFolderExtension"]/ReplicatedFolderGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>DFS Replication</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="DFSRLib!Microsoft.Windows.FileServer.DFSR.ReplicatedFolderExtension"]/ReplicatedFolderGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">9003</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">9005</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">9000</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">9111</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>