Number of port rules exceeds the configured maximum

Microsoft.Windows.NetworkLoadBalancing.2008.NLB.driver.failed.to.initialize.because.the.number.of.port.rules.exceeds.the.configured.maximum (Rule)

Knowledge Base article:

Summary

In a Network Load Balancing (NLB) cluster, port rules are configured to control how each port's cluster network traffic is handled. The NLB cluster may fail to converge unless each port rule has a unique host priority (a number between 1 and 32), the port rules are consistent on all cluster hosts, you are using the proper number of port rules, and the virtual IP address is specified in a valid IPv4 or IPv6 address format.

Resolutions

Ensure that all NLB hosts have identical port rules

When a Network Load Balancing (NLB) host in the cluster either contains a different number of port rules from another host, or its configured port rules conflict with the port rules of another host, the cluster will not converge until the problem is corrected. You should first ensure that all NLB hosts have identical port rules, and then, if there are port rules that are not identical and if there are not the same number of port rules on each NLB host, you should reconfigure the port rules to make them identical.

Ensure that all NLB hosts have identical port rules

To ensure that all NLB hosts have identical port rules:

If there are port rules that are not identical and if there are not the same number of port rules on each NLB host, you should reconfigure the port rules to make them identical.

Configure port rules

To configure port rules:

Element properties:

TargetMicrosoft.Windows.NetworkLoadBalancing.2008.ServerRole
CategoryAlert
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.NetworkLoadBalancing.EventProvider Default
Alert WriteAction Microsoft.Windows.NetworkLoadBalancing.2008.GenerateAlert.SuppressByDescription Default
WriteToDB WriteAction Microsoft.Windows.NetworkLoadBalancing.2008.CollectEvent Default

Source Code:

<Rule ID="Microsoft.Windows.NetworkLoadBalancing.2008.NLB.driver.failed.to.initialize.because.the.number.of.port.rules.exceeds.the.configured.maximum" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.NetworkLoadBalancing.2008.ServerRole" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="NLBLibrary!Microsoft.Windows.NetworkLoadBalancing.EventProvider">
<Criteria>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">22</Value>
</ValueExpression>
</SimpleExpression>
</Criteria>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Microsoft.Windows.NetworkLoadBalancing.2008.GenerateAlert.SuppressByDescription">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.NetworkLoadBalancing.2008.NLB.driver.failed.to.initialize.because.the.number.of.port.rules.exceeds.the.configured.maximum.AlertMessage"]$</AlertMessageId>
<EnableAlert>true</EnableAlert>
</WriteAction>
<WriteAction ID="WriteToDB" TypeID="Microsoft.Windows.NetworkLoadBalancing.2008.CollectEvent">
<CollectEvent>false</CollectEvent>
</WriteAction>
</WriteActions>
</Rule>