I'm finally getting into a situation where I'm trying to load balance. I
have a server running bind, lvs (I have RH 7.3, with kernel 2.4.18-10,
and am using the modules and ipvsadm included with it), and iptables.
This box is a firewall/gateway between public internet and my private
lan. I'm trying to do a weighted round-robin. The FQDN resolves to the
public IP of my LVS box, which has these rules configured
-A -t <public ip>:5222 -s wrr
-a -t <public ip>:5222 -r 192.168.10.17:5222 -m
-a -t <public ip>:5222 -r 192.162.10.18:5222 -m
ipvsadm -L shows this
TCP 66.150.129.229:5222 wrr
-> 192.162.10.18:5222 Masq 1 0 0
-> 192.168.10.17:5222 Masq 1 0 0
So I think it's configured right. My problem is that only 192.168.10.17
is responding through LVS. A tcpdump on 18 shows no packets arriving
when trying to go through LVS. I can telnet to port 5222 on both 17 and
18 from the LVS box. I have public DNS/IPs for both of those internal
boxes. I can telnet directly to these IPs, on port 5222, and connect to
each realserver bypassing LVS. But the application needs to be able to
hit either through the LVS.
After browsing through some of the documentation, the only thing I can
come up with is DNS. The bind installation returns public IP addresses
only, and I'm not really doing any DNS overriding with /etc/hosts. If
this were the problem, what kind of, but it can be reached directly (not
going through LVS) and from the LVS box itself changes would I need to make?
In summary, I have a weighted round-robin service, where all realservers
have equal weight. I have specified no persistence, so defaults are
used. One of the realservers can't be reached through LVS. I can reach
it internally using internal IP (from any machine on the 192.168.10/0/24
subnet using the 192.168.10.18 IP) or publically, bypassing the LVS,
using an alternate public IP address than the one I'm load balancing
between realservers.
--
Justin Georgeson
UnBound Technologies, Inc.
http://www.unboundtech.com
Main 713.329.9330
Fax 713.460.4051
Mobile 512.789.1962
5295 Hollister Road
Houston, TX 77040
Real Applications using Real Wireless Intelligence(tm)
|