訊息佇列服務資源無法繫結至叢集 IP 位址。
實體節點中的 MSMQ 服務必須具備叢集感知功能。如果服務沒有叢集感知功能,則會使訊息佇列資源無法在此節點上線。
如果在電腦成為伺服器叢集的成員之前,實體節點中執行的 MSMQ 服務即已啟動,就會發生此問題。也就是說,在實體節點中執行的 MSMQ 服務會接聽電腦的所有 IP 位址,並阻止訊息佇列資源接聽叢集 IP 位址。
若要執行此程序,您必須有 [系統管理員] 中的成員資格,或者必須已獲委派適當的權限。
重新啟動 MSMQ 服務
若要重新啟動 MSMQ 服務:
開啟 [服務] 嵌入式管理單元。若要開啟 [服務],請按一下 [開始]。在搜尋方塊中,輸入 services.msc,然後按下 ENTER。
以滑鼠右鍵按一下 [Message Queuing] 服務,然後按一下 [重新啟動]。此外,您也必須重新啟動所有依存服務。
驗證
您可以使用容錯移轉叢集管理來判斷訊息佇列叢集資源是否上線,或者您可以使用 Cluster.exe 工具來判斷 Windows Failover Clustering 是否已安裝且正在執行。
如需詳細資訊,請參閱事件識別碼 2168 ( http://technet.microsoft.com/en-us/library/dd337422(WS.10).aspx)
Target | Microsoft.MSMQ.10.0.Servers | ||
Category | AvailabilityHealth | ||
Enabled | False | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<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>