Most posts about load balancing TFS Application Tiers using NLB use either physical servers or Hyper-V virtual servers. So you would think that you can do the same using VMWare for the Application Tiers, right?
Wrong. NLB doesn’t play nicely with VMWare out-of-the-box – actually, it’s the virtual switches that are problematic. The details have to do with port-flooding and RARP packets when you configure NLB in unicast mode – the details are not that important, but the solution is. There are two solutions to the problem: configure the VMWare virtual switch and set up NLB in unicast mode, or set up NLB in multicast mode.
At a customer that I had to work at recently, we couldn’t tinker with the virtual switch because there were other servers connected to it, so we had to take the multicast route. To do this, you need to set up a static ARP route once you’ve set up the NLB.
When setting up the NLB, make a note of the MAC address that the cluster is assigned – you’ll need both the IP address and the MAC address of the cluster to set up the static ARP entry.
On your router, configure the static ARP entry: arp [ip] [cluster multicast mac] ARPA
Once that’s done, you can configure all the nodes in the NLB cluster with an application tier only install. Configure the friendly name of the TFS url to the “Full Internet Name” from the above dialog (of course you’ll need an A record that points the friendly name to the IP address of the cluster).
Once that’s done, you’re good to go!