LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

LVS hangs when a realserver is not available

To: <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: LVS hangs when a realserver is not available
From: "Tommy Grändefors" <tommy.grandefors@xxxxxxxxxxx>
Date: Thu, 10 Apr 2003 11:06:57 +0200
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


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