消息队列服务资源无法绑定到群集 IP 地址。

Microsoft.MSMQ.10.0.Rule.Alert.Event2168 (Rule)

Knowledge Base article:

摘要

消息队列服务资源无法绑定到群集 IP 地址。

原因

物理节点上的 MSMQ 服务必须是群集感知的。如果服务不是群集感知的,将阻止消息队列资源在该节点上联机。

如果在计算机成为服务器群集的成员之前,启动在物理节点上运行的 MSMQ 服务,则可能会出现此问题。因此,在物理节点上运行的 MSMQ 服务将侦听计算机的所有 IP 地址并阻止消息队列资源侦听群集 IP 地址。

解决方法

要执行此过程,必须拥有“管理员”成员身份,或者已向你委派了适当的权限。

重启 MSMQ 服务

要重启 MSMQ 服务:

验证

可以使用故障转移群集管理来确定消息队列群集资源是否已联机,或可以使用 Cluster.exe 工具来确定是否已安装 Windows 故障转移群集并正在运行。

其他

有关详细信息,请参阅事件 ID 2168 ( http://technet.microsoft.com/zh-cn/library/dd337422(WS.10).aspx)

Element properties:

TargetMicrosoft.MSMQ.10.0.Servers
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
消息队列服务资源无法绑定到群集 IP 地址。
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.MSMQ.10.0.Rule.Alert.Event2168" Enabled="false" Target="Microsoft.MSMQ.10.0.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>AvailabilityHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="Microsoft.MSMQ.10.0.ServerRole"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2168</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.10.0.Rule.Alert.Event2168.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>