Network Load Balancing in Windows 2003 Server using VMWare Workstation 7.1

posted Jul 28, 2010 11:53 AM by Anton Bondar
So, here is the story.
I had to setup a Network Load Balancing (NLB) between two instances of Windows 2003 R2 running IIS6. Since I have never done it before in my life, I've decided that I'll do a practice run and try setting up two machines with NLB in my VMWare Workstation.
After reading all of the guides and manuals on the internet everything started to seem rather simple.

And, I've jumped right into it.

I used a vm template for Windows 2003 Server R2 that I have created myself just for occasions like this one, my company that I work for is a Microsoft partner, so  no licensing issues there.

Here is how it went:
  • made sure that the network interface on each vm was set as Bridged;
  • got two instances of Windows 2003 Server R2 up and running - win2003serv1 and win2003serv2 - yay;
  • install or update VMWare tools;
  • made sure that the only thing that I have available for the network interfaces on each server was TCP/IP protocol and nothing else;
  • setup each network interface to use a static IP in such a way, that I was able to ping win2003serv1 and win2003serv2 outside of the vm environment;
  • make sure that each server can ping each other, then modify hosts file in the c:\windows\system32\drivers\etc and add NS records for each server;
Now, before you are going to try and setup any Load Balancing here is something you have to do:
  • open vmx files of each corresponding server and search for the ethernet0.virtualDev="<some value here>" 
  • <some values> could be vmxnet, e1000, vlance (use this site for reference)
  • now, make sure that that ethernet0.virtualDev are different for each instance, for instance win2003serv1 uses e1000 and win2003serv2 uses vmxnet
And now you are ready to setup your Network Load Balacing between the two vms using any of the available howtos out there, just make sure to set it up using multicast mode, I was not able to use unicast (even after I've added another network adapter to each server and placed them on a separate vmnet).

Good Luck and Happy Network Load Balancing!