LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

[lvs-users] lvs/dr round robin with windows 2008 web servers not working

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: [lvs-users] lvs/dr round robin with windows 2008 web servers not working as expected
From: Eric <campee@xxxxxxxxx>
Date: Mon, 17 May 2010 16:32:39 -0700
I've read the docs, searched the archives, and I still can't figure out why
I can't get my windows 2008 R2 web servers to round robin correctly. it will
only connect to a single web server despite the fact that i haven't
configured persistent connections and both servers have the same weight.

here is all of the information about my setup:

installed windows 2008 R2 on two virtual machines running on esxi 4.0

win2008web1 = 10.0.7.45
win2008web2 = 10.0.7.46

installed IIS on each server, made the default document a simple text file
that says "this is <hostname>"

disabled windows firewall on both servers

confirmed that i can access both servers on their IP addresses via port 80
in a browser

added microsoft loopback adapter to each server
added 10.0.7.9 to both microsoft loopback adapters

ran the following commands on both hosts to disable ARP for the loopback
adapter: (as per
http://blog.loadbalancer.org/direct-server-return-on-windows-2008-using-loopback-adpter/
)

netsh interface ipv4 set interface "net" weakhostreceive=enabled
netsh interface ipv4 set interface "loopback" weakhostreceive=enabled
netsh interface ipv4 set interface "loopback" weakhostsend=enabled

verified windows ip configurations:

C:\Users\Administrator>hostname
win2008web1

C:\Users\Administrator>ipconfig

Windows IP Configuration

Ethernet adapter loopback:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::bd3b:2469:c05a:c5f7%14
   IPv4 Address. . . . . . . . . . . : 10.0.7.9
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Ethernet adapter net:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::1ddf:bbe3:493f:cd%11
   IPv4 Address. . . . . . . . . . . : 10.0.7.45
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.7.1



C:\Users\Administrator>hostname
win2008web2

C:\Users\Administrator>ipconfig

Windows IP Configuration

Ethernet adapter loopback:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::f0aa:2a96:9464:e125%14
   IPv4 Address. . . . . . . . . . . : 10.0.7.9
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . :

Ethernet adapter net:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::c937:9e7:b63d:97b7%11
   IPv4 Address. . . . . . . . . . . : 10.0.7.46
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.0.7.1


added the following configuration to lvs:

TCP  10.0.7.9:http rr
  -> 10.0.7.46:http               Route   1      0          0
  -> 10.0.7.45:http               Route   1      0          0


i connect to 10.0.7.9 on my local machine using firefox

a page opens that says "win2008web2"

i hold down the shift key and click refresh in my browser. it still says
"win2008web2" even though i have configured load balancing to do round
robin. i keep trying, no change.

[root@loadbalancer1 ~]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.7.9:http rr
  -> 10.0.7.46:http               Route   1      1          0
  -> 10.0.7.45:http               Route   1      0          0


i see an active connection to win2008web2, which is 10.0.7.46

i remove win2008web2:

[root@loadbalancer1 ~]# ipvsadm --delete-server --tcp-service
10.0.7.9:80--real-server
10.0.7.46:80
[root@loadbalancer1 ~]# ipvsadm -l
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  10.0.7.9:http rr
  -> 10.0.7.45:http               Route   1      0          0


i refresh 10.0.7.9 in a web browser. it says "waiting for 10.0.7.9" for one
and a half minutes. it eventually loads the page and says "win2008web1". why
did it take so long to switch over? i'm guessing it has something to do with
the fact that i am encountering the arp problem that so many documents have
described, even though i think i have taken the appropriate steps to prevent
it from happening. is there something else that i can try?
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

<Prev in Thread] Current Thread [Next in Thread>