Bi-directional affinity creates multiple instances of Network Load Balancing (NLB) on the same host, which work in tandem to ensure that responses from published servers are routed through the appropriate ISA servers in a cluster. Bi-directional affinity is commonly used when NLB is configured with Internet Security and Acceleration (ISA) servers. If bi-directional affinity is not consistent across all NLB hosts or if NLB fails to initialize bi-directional affinity, the NLB cluster will remain in the converging state until a consistent teaming configuration is detected.
The bi-directional affinity (BDA) configuration must be identical on all cluster hosts. The team in which this cluster participates will be marked inactive and this cluster will remain in the converging state until consistent teaming configuration is achieved. You should first reconfigure the BDA configuration, and then restart the NLB cluster.
Reconfigure the bi-directional affinity configuration
Reconfigure the bi-directional affinity settings by using the server application tools. If the Network Load Balancing (NLB) cluster is an Internet Security and Acceleration Server (ISA Server) cluster, use the ISA Server configuration. For more information about configuring bi-directional affinity, see the ISA Server documentation.
Restart the NLB cluster
To restart the NLB cluster:
Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
Type nlb.exe reload, which reloads the NLB driver's current parameters from the registry.
Type nlb.exe start, which starts cluster operations on the specified hosts.
You can also reload the configuration and restart the cluster node using the links below:
Reload configuration
Stop NLB node
Start NLB node
Target | Microsoft.Windows.NetworkLoadBalancing.10.0.ServerRole |
Category | Alert |
Enabled | True |
Alert Generate | False |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.NetworkLoadBalancing.EventProvider | Default |
WA | WriteAction | Microsoft.Windows.NetworkLoadBalancing.10.0.GenerateAlert.SuppressByDescription | Default |
WriteToDB | WriteAction | Microsoft.Windows.NetworkLoadBalancing.10.0.CollectEvent | Default |
<Rule ID="Microsoft.Windows.NetworkLoadBalancing.10.0.BiDirectional.affinity.team.configuration.problem.detected" Enabled="true" Target="Microsoft.Windows.NetworkLoadBalancing.10.0.ServerRole" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="NLBLibrary!Microsoft.Windows.NetworkLoadBalancing.EventProvider">
<Criteria>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(57|56|55|114)$</Pattern>
</RegExExpression>
</Criteria>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.NetworkLoadBalancing.10.0.GenerateAlert.SuppressByDescription">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.NetworkLoadBalancing.10.0.BiDirectional.affinity.team.configuration.problem.detected.AlertMessage"]$</AlertMessageId>
<EnableAlert>true</EnableAlert>
</WriteAction>
<WriteAction ID="WriteToDB" TypeID="Microsoft.Windows.NetworkLoadBalancing.10.0.CollectEvent">
<CollectEvent>false</CollectEvent>
</WriteAction>
</WriteActions>
</Rule>