DFS-R: Clustered Replicated Folder Initialization

Microsoft.Windows.FileServer.DFSR.10.0.Cluster.ResourceOnlineFailed (UnitMonitor)

This object monitors clustered replicated folders, and creates a Critical alert if it detects that a clustered replicated folder is not able to initialize.

Knowledge Base article:

Summary

This object monitors clustered replicated folders, and creates a Critical alert if it detects that a clustered replicated folder is not able to initialize. It does so by looking for the presence of DFS Replication Event 9009.

Causes

An unhealthy state of this monitor indicates that a replicated folder hosted by a clustered file server instance failed to initialize and isn’t online. 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 9009 (http://go.microsoft.com/fwlink/?LinkId=187172)

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.10.0.ClusteredReplicatedFolder
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-R: Clustered Replicated Folder Failed to Initialize
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.10.0.Cluster.ResourceOnlineFailed" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.10.0.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.10.0.Cluster.ResourceOnlineFailed_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<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">9009</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>
<And>
<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">9008</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<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">9111</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>