Lvs dont remove route automatic (squid+direct routing)

nattapon viroonsri nattaponv at hotmail.com
Fri Mar 3 04:20:39 UTC 2006


## My Config show as below

RHEL 4 update 1
ipvsadm-1.24-6
piranha-0.8.1-1

service: Squid
forward method: Direct routing
schedule: lblc
persistence: 360

director:
eth0: 172.16.100.37
eth0:1: 172.16.100.36 (virtual ip)

realserver1 (cache1):
eth0:  172.16.100.39
eth1: 172.16.100.36 (virtual ip)

## hide virtual ip on  cache1
arptables -A IN -d 172.16.100.36  -j DROP
arptables -A OUT -d  0/0 -j mangle --mangle-ip-s 172.16.100.39

realserver2 (cache2) :
eth0: 172.16.100.40
eth1: 172.16.100.36 (virtual ip)

## hide virtual ip on cache2
arptables -A IN -d 172.16.100.36  -j DROP
arptables -A OUT -d  0/0 -j mangle --mangle-ip-s 172.16.100.40


## check.sh
#!/bin/bash
echo "GET / HTTP/1.0\n\n" | nc $1 8080
if [ $? == "0" ]; then
        echo "OK"
else
        echo "FAIL"
       /sbin/ipvsadm -d -t 172.16.100.36:8080 -r $1
fi

## lvs.cf
serial_no = 123
primary = 172.16.100.37
service = lvs
backup_active = 0
backup = 172.16.100.38
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = direct
nat_nmask = 255.255.255.0
debug_level = NONE
monitor_links = 1
virtual PROXY {
     active = 1
     address = 172.16.100.36 eth0:1
     vip_nmask = 255.255.255.0
     port = 8080
     persistent = 360
     expect = "OK"
     use_regex = 0
     send_program = "/etc/sysconfig/ha/check.sh %h"
     load_monitor = none
     scheduler = lblc
     protocol = tcp
     timeout = 5
     reentry = 10
     quiesce_server = 1
     server Cache1 {
         address = 172.16.100.39
         active = 1
         weight = 200
     }
     server Cache2 {
         address = 172.16.100.40
         active = 1
         weight = 200
     }
}


When nanny cant connect to fail service (squid) on real server.
it dont remove route to that real server , so director still forward request 
to that fail squid realserver.

so i try to manual remove route in check.sh when nanny detech fail service. 
but it work for 20 minute
and then client  cant connect to virtual ip.

Is it lvsd suppose to remove route to fail node automatically when nanny 
detech fail service ?
or have any way for lvs to remove route to that fail node automatically when 
nanny detech fail service ?

Regards,
Nattapon

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE! 
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/




More information about the Piranha-list mailing list