Failover Clustering and Network Load Balancing Team Blog
In Windows Server 2008 R2 several improvements have been made to the Network Load Balancing (NLB) technology.
In the past, affinity was only honored for open connections when a failover occurs. In 2008 R2 we added what is known as “Extended Client Affinity”. When Extended Affinity is enabled and node membership in the NLB cluster changes (configuration change, adding or removing nodes, etc.) Extended Affinity allows clients to keep affinity to a cluster host even if there are no active, existing connections from the client to the host.
To enable Extended Affinity you need to set a timeout value on the port rule that you want Extended Affinity. The timeout value is in minutes and should be set to the time that you want the affinity to persist. The timeout counter is started when the connections is closed. If the client connects again the timeout countdown will be reset.
NOTE: if you have multiple port rules configured with different timeout values, the greater timeout will be used for both port rules.
More about Extended Affinity: http://blogs.msdn.com/b/clustering/archive/2009/10/21/9910338.aspx
Technically ETW tracing is not included in the RTM release of Windows Server 2008 R2, however it is very useful for troubleshooting connection related problems you might encounter.
To find out more detailed information on how to enable and use ETW logging there is a blog that provides detailed instructions. http://blogs.msdn.com/b/clustering/archive/2010/01/07/9944946.aspx
The System Center Operations Manager (SCOM) NLB Management Pack provides discoveries, monitors, alerts, and warnings to help the operator understand the state of NLB clusters and NLB servers running Windows Server 2008 and Windows Server 2008 R2. The Management Pack can provide early warnings that an operator can use to proactively monitor the state of the NLB servers in the computing environment.
More information about the management pack is available here: http://www.microsoft.com/downloads/details.aspx?FamilyID=dc17e093-bdd7-4cb3-9981-853776ed90be
In the past you could use WMI to manage NLB but the initial configuration was performed using NLBmgr.
In Windows Server 2008 R2 we added support for Windows PowerShell, which gives rich scripting options.
For more information about using Windows PowerShell for NLB clusters, see:
Or browse the CMDlets on TechNet: http://blogs.msdn.com/b/clustering/archive/tags/nlb/
The TechNet documentation is here: http://technet.microsoft.com/en-us/library/ee817138.aspx
Although this is not a new feature, it is worth mentioning that NLB supports rolling upgrades from Windows Server 2003 to Windows Server 2008 R2 and from Windows Server 2008 to Windows Server 2008 R2.
For more detailed deployment information for NLB, including information on rolling upgrades, see http://go.microsoft.com/fwlink/?LinkId=87253.
Gary JackmanSoftware Test EngineerClustering & High-Availability
Symon, thank you for the article! I have a question about affinity. You say "Extended Affinity allows clients to keep affinity to a cluster host even if there are no active, existing connections from the client to the host." What do "active, existing connections" mean? Is it about TCP session? And if it so how does it work with UDP?
Q:"What do "active, existing connections" mean?"
In this case "existing connection" means either existing TCP connection or existing IPSEC session.