I've gotten all the way through the setup process for LVS, and put the servers
into what I believe should be a working mode, but all of the requests still go
to directly to one server, bypassing the director. Here is my setup (fake
IP's):
VIP: 211.222.224.146
Mode: VS-DR
+----------+
| | eth0: 211.222.224.147 (RIP)
| Director | eth0:0: 211.222.224.146 (VIP)
| |
+----------+
|
|
|
------------------------------------
| |
| |
+--------------+ +--------------+
| | | |
| Realserver 1 | | Realserver 2 |
| | | |
+--------------+ +--------------+
eth0: 211.222.224.149 (RIP) eth0: 211.222.224.150 (RIP)
dummy0: 211.222.224.146 (VIP) dummy0: 211.222.224.146 (VIP)
Kernel configs:
Director
+ 2.4.12
+ linux-2.4.12-ipvs-0.8.2.patch
+ hidden-2.4.5-1.diff
+ /proc/sys/net/ipv4/conf/*/hidden NOT set
Realservers 1 and 2
+ 2.4.16
+ hidden-2.4.5-1.diff
+ /proc/sys/net/ipv4/conf/dummy0/hidden set
I've tried various ipvsadm configurations, with the same results (including
specify only one server to balance to). Here is a simple config:
-A -t vip:www -s rr
-a -t vip:www -r real_server_1:www -g -w 1
-a -t vip:www -r real_server_2:www -g -w 1
When requests are sent to the VIP (211.222.224.146), real_server_1 always
answers. ipvsadm connections statistics always show 0. When I ping
211.222.224.255 from another machine in the subnet and do an "arp -a", the RIP
for both real_server_1 and director show up, but no entries for the VIP.
real_server_1 would show up in the arp cache anyways, however, so this may not
be the best test.
So basically it appears that real_server_1 is not answering ARP requests for
the VIP, the director never sees the traffic (at least not through ipvsadm and
tcpdump doesn't show it either), yet all requests are getting to real_server_1.
I've spent a considerable amount of time setting this up (read _lots_ of
docs), but I'm not sure where to proceed with this. Any help is appreciated.
Thanks,
Jason Wies aka Zone
|