DFS-R:复制错误状态

Microsoft.Windows.FileServer.DFSR.ReplicationStoppedOnErrorMonitor (UnitMonitor)

此对象可监视复制,如果复制因错误而停止,将会创建“警告”警报。

Knowledge Base article:

摘要

此对象可监视复制,如果复制因错误而停止,将会创建“警告”警报。它通过检查 DFS 复制事件日志中是否存在 DFS 复制事件 4004 实现此操作。

原因

此监视器的不正常状态表示已复制文件夹上的复制由于存在错误而停止。这可能由多种原因导致,包括以下原因:

有关导致触发此事件的具体原因的详细信息可在事件文本中找到。

解决方案

增加可用磁盘空间

若要解决此问题,请使用以下过程:

1. 在 Operations Console 中检查警报描述中列出的错误。当没有足够的可用磁盘空间时,将列出以下错误:错误 112(磁盘上没有足够的空间。)

2. 请增加卷上的可用磁盘空间,增加卷大小,或增加包含暂存文件夹的文件夹配额设置。

若要手动检查可用磁盘空间量,请打开命令提示符窗口并键入以下命令,其中 [servername] 是托管受影响文件夹的服务器的名称,而 [domain\user] 是您的用户名:

WMIC /node: "[servername]" /user: [domain\user] volume list status

释放空间后,请重新启动 DFS Replication 服务。

调整 DFS 复制配额

您可以编辑暂存文件夹以及冲突和已删除文件夹的配额大小,以减少 DFS 复制的磁盘空间需求。要执行此操作,请参阅 编辑暂存文件夹以及冲突和已删除文件夹的配额大小 (http://go.microsoft.com/fwlink/?LinkId=186944)。

重要事项:如果配置的暂存文件夹配额太小,DFS 复制可能会占用其他 CPU 和磁盘资源来重新生成暂存文件。复制速度也可能会减慢,因为暂存空间不足会有效地限制与伙伴的并发传输数。增加暂存文件夹以及冲突和已删除文件夹的大小可提高复制性能,并增加可恢复的冲突和已删除文件的数量。

更正已复制文件夹权限

如果 DFS Replication 服务对已复制文件夹和暂存文件夹不具备“完全控制”权限,复制将会失败。要解决此问题,请向已复制文件夹和子文件夹以及暂存文件夹(如果位于已复制文件夹之外)授予本地系统帐户“完全控制”权限。

修复已复制文件夹的路径

要解决此问题,请确认已复制文件夹的本地路径可用,并在必要时使卷联机。

如果路径已更改,您必须删除服务器在复制组中的成员身份,然后再重新创建。要执行此操作,需为 Domain Admins 组的成员或已被委派权限。

确认故障转移群集资源处于联机状态

如果该服务器是故障转移群集的成员,确认 DFS 复制资源处于联机状态。若要执行此操作,请在受影响的服务器上打开故障转移群集管理器并确认相应群集文件服务器实例的状态为联机。否则请选择相应的资源,然后单击“使该服务或应用程序联机”

若要通过使用 Windows PowerShell™ 执行此操作,请在使用为故障转移群集本地 Administrators 组成员的帐户登录后,打开 Windows PowerShell 命令提示符窗口,然后键入以下命令,其中 [replicatedfolder_rootpath] 是由群集文件服务器实例托管的已复制文件夹的根路径:

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

如果资源已联机,“状态”字段的值应为“2”

重要信息:在复制文件夹根路径中的任何反斜杠前添加第二条反斜杠 (\)。例如 d:\shares\public 将写为 d:\\shares\\public。

验证

复制完成后,此监视器将自动重置为正常状态。

若要手动确认复制正常运行,可通过使用 DFS 管理或以下命令在受影响的文件夹中运行传播测试,其中 [ReplicationGroup] 是复制组的名称,而 [ReplicatedFolder] 是已复制文件夹的名称:

dfsrdiag propagationtest /rgname:"[ReplicationGroup]" /rfname:"[ReplicatedFolder]" /testfilename:DFS-RTestFile.xml

dfsrdiag propagationreport /rgname:"[ReplicationGroup]" /rfname:"[ReplicatedFolder]" /testfilename:DFS-RTestFile.xml /reportfilename:c:\DFS-R_Report.xml

其他

Element properties:

TargetMicrosoft.Windows.FileServer.DFSR.ReplicatedFolder
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-R:复制因错误而停止
在本地路径 {0} 下的已复制文件夹上,DFS Replication 服务已停止复制。
其他信息:错误:{1} ({2}) 错误的其他上下文:{3} 已复制文件夹名称:{4} 已复制文件夹 ID:{5} 复制组名:{6} 复制组 ID:{7} 成员 ID: {8}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSR.ReplicationStoppedOnErrorMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSR.ReplicatedFolder" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSR.ReplicationStoppedOnErrorMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[3]$</AlertParameter1>
<AlertParameter2>$Data/Context/Params/Param[4]$</AlertParameter2>
<AlertParameter3>$Data/Context/Params/Param[5]$</AlertParameter3>
<AlertParameter4>$Data/Context/Params/Param[2]$</AlertParameter4>
<AlertParameter5>$Data/Context/Params/Param[6]$</AlertParameter5>
<AlertParameter6>$Data/Context/Params/Param[1]$</AlertParameter6>
<AlertParameter7>$Data/Context/Params/Param[7]$</AlertParameter7>
<AlertParameter8>$Data/Context/Params/Param[8]$</AlertParameter8>
<AlertParameter9>$Data/Context/Params/Param[9]$</AlertParameter9>
</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="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<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[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.ReplicatedFolder"]/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>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.ReplicatedFolder"]/ReplicatedFolderGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4002</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4008</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4010</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4114</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
<Expression>
<And>
<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">9111</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.FileServer.DFSR.ReplicatedFolder"]/ReplicatedFolderGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>