Hi,
I've installed LVS (compiled kernel 2.4.20 + ipvs-1.0.7) on my RedHat 8.0
system. I'm using NAT with one network, one NIC director, and I used the
template configuration file 'lvs_nat.conf.one_NIC_one_network' to achieve my
settings.
Everything works perfectly well, except for when one of my realservers goes
down. When the LVS (rc.lvs_nat script) is started on the director machine
and one of the realservers is down, then the director just hangs; it seems
to ping the failed realserver with the following output as result:
--- excerpt start ---
clearing ipvsadm table
installing LVS services with ipvsadm
checking realserver foobar1 reachable from director -
PING foobar1 (192.168.1.212) from 192.168.1.214 : 56(84) bytes of data.
>From dirhost1 (192.168.1.214) icmp_seq=1 Destination Host Unreachable
<here it hangs forever...>
--- excerpt end ---
This seem to be very strange and quite not acceptable since my primary
director machine may go down while a realserver is down; the LVS services
will then be started on my secondary director and thus effectively prevent
all clients from reaching my other realservers since LVS cannot be started
on the secondary director.
What can be done about this?
Here is my simple lvs_nat.conf file:
# ________
# | |
# | client |
# |________|
# | CIP=eth0 192.168.1.254
# |
# |
# | __________
# | | |
# |------| director |
# | |(dirhost1)|
# | |__________|
# | VIP=eth0:215 192.168.1.215/32
# | DIP=eth0:214 192.168.1.214
# |
# |
# |
# -------------------
# | |
# | |
# RIP1=eth0 RIP2=eth0
# 192.168.1.212 192.168.1.213
# ______________ ______________
# | | | |
# | realserver1 | | realserver2 |
# | (foobar1) | | (foobar2) |
# |______________| |______________|
#
#
#----------lvs_nat.conf--
LVSCONF_FORMAT=1.1
LVS_TYPE=VS_NAT
INITIAL_STATE=on
CLEAR_IPVS_TABLES=yes
VIP=eth0:215 dirgw 255.255.255.0 dirgw
DIP=eth0 dirhost1 192.168.1.0 255.255.255.0 192.168.1.255
DIRECTOR_GW=192.168.1.1
SERVICE=t http rr foobar1:http foobar2:http
SERVER_NET_DEVICE=eth0
Thanks in advance.
/Tommy
|