Windows Server 2008 R2 - NLBS and VMware – Workaround!

**Firstly - This isn’t a VMware bashing post just a product workaround tip **

Recently I have been working on a customer site and they were keen to build a new MOSS 2007 server farm on Windows Server 2008 R2 as IIS 7.5 has some very cool silverlight streaming technology that they wanted to leverage.

Given that they are a VMware shop I am restricted to the virtualisation technology I could use, I prefer Hyper-V (of course) but the client runs VMware so we have to stick to that.

I built a medium size MOSS 2007 server farm and implemented the NLBS feature and all seemed to hum along for a while. Then suddenly NLBS just stopped! No IP traffic was being routed to anywhere. Then the networking stack in each of the VMs was falling over. The Virtual machines themselves were freezing.

This was serious!!

After a quite a bit of digging we found that VMware doesn't support Windows Server 2008 R2 unless you are running VSphere v4.0. Even then the support is limited. It is noted as being ‘experimental’.

Interesting……

After a bit of troubleshooting, debugging and searching we found the problem. You cannot use the VMware NBT100 virtual network drivers, you need to use the VMXNet driver for NLBS to work properly on Windows Server 2008 R2 with VMware.

We also upgraded to vsphere v4.0 and changed all the VMs to use the VMXNet virtual NIC driver. Happy days!

 

So here are my three key tips to ensure NLBS for MOSS works on VMware:

1) Use multicast – Unicast isn't recommended by VMware and you will require to implement ARP configuration changes etc.

2) DONT use the NBT100 VMware virtual NIC driver. It doesn't work and will cause you many hours of grief. *trust me on this*

3) DO USE the VMXNet VMware virtual NIC drivers. This seems to work in my customer specific environment. All of my tests seemed positive.

 

I would be interested to hear if others have had similar experiences with this.