LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] Problem using LVS

To: Hugo Delchini <delchini@xxxxxxxx>
Subject: Re: [lvs-users] Problem using LVS
Cc: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
From: Wensong Zhang <wensong@xxxxxxxxxxxx>
Date: Sun, 23 Jan 2000 00:39:40 +0800
Hugo Delchini wrote:
> 
> Hi,
> 
> thanx for this greate tool called "LVS".
> 
> I have a question about a problem we experiment on our cluster.
> 
> We use ipvs-0.9.7 and Linux 2.2.11 on a cluster of six nodes, one
> director and
> 5 real servers.
> 
> We configured the cluster as a virtual web server using the folowing
> script on the
> director :
> #!/bin/bash
> 
> ipchains -F
> ipvsadm -C
> 
> ifconfig eth1:0 192.168.7.100 netmask 255.255.255.255 broadcast
> 192.168.7.100 up
> route add -host 192.168.7.100 dev eth1:0
> ipvsadm -A -t 192.168.7.100:80 -s rr
> 
> rsh c2n3 /sbin/modprobe ipip
> rsh c2n3 /sbin/ifconfig tunl0 192.168.7.100 netmask 255.255.255.255
> broadcast 192.168.7.100 up
> rsh c2n3 /sbin/route add -host 192.168.7.100 dev tunl0
> rsh c2n3 /sbin/modprobe de4x5
> rsh c2n3 /sbin/ifconfig eth1 192.168.1.122 netmask 255.255.255.0
> broadcast 192.168.1.255 up
> rsh c2n3 /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
> 
> ipvsadm -a -t 192.168.7.100:80 -R 192.168.7.3:80 -i
> rsh c2n3 /usr/sbin/httpd -d /cluster/server/etc/httpd
> 
> rsh c2n4 /sbin/modprobe ipip
> rsh c2n4 /sbin/ifconfig tunl0 192.168.7.100 netmask 255.255.255.255
> broadcast 192.168.7.100 up
> rsh c2n4 /sbin/route add -host 192.168.7.100 dev tunl0
> rsh c2n4 /sbin/modprobe de4x5
> rsh c2n4 /sbin/ifconfig eth1 192.168.1.123 netmask 255.255.255.0
> broadcast 192.168.1.255 up
> rsh c2n4 /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
> 
> ipvsadm -a -t 192.168.7.100:80 -R 192.168.7.4:80 -i
> rsh c2n4 /usr/sbin/httpd -d /cluster/server/etc/httpd
> 
> rsh c2n5 /sbin/modprobe ipip
> rsh c2n5 /sbin/ifconfig tunl0 192.168.7.100 netmask 255.255.255.255
> broadcast 192.168.7.100 up
> rsh c2n5 /sbin/route add -host 192.168.7.100 dev tunl0
> rsh c2n5 /sbin/modprobe de4x5
> rsh c2n5 /sbin/ifconfig eth1 192.168.1.124 netmask 255.255.255.0
> broadcast 192.168.1.255 up
> rsh c2n5 /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
> 
> ipvsadm -a -t 192.168.7.100:80 -R 192.168.7.5:80 -i
> rsh c2n5 /usr/sbin/httpd -d /cluster/server/etc/httpd
> 
> rsh c2n6 /sbin/modprobe ipip
> rsh c2n6 /sbin/ifconfig tunl0 192.168.7.100 netmask 255.255.255.255
> broadcast 192.168.7.100 up
> rsh c2n6 /sbin/route add -host 192.168.7.100 dev tunl0
> rsh c2n6 /sbin/modprobe de4x5
> rsh c2n6 /sbin/ifconfig eth1 192.168.1.125 netmask 255.255.255.0
> broadcast 192.168.1.255 up
> rsh c2n6 /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
> 
> ipvsadm -a -t 192.168.7.100:80 -R 192.168.7.6:80 -i
> rsh c2n6 /usr/sbin/httpd -d /cluster/server/etc/httpd
> 
> rsh c2n7 /sbin/modprobe ipip
> rsh c2n7 /sbin/ifconfig tunl0 192.168.7.100 netmask 255.255.255.255
> broadcast 192.168.7.100 up
> rsh c2n7 /sbin/route add -host 192.168.7.100 dev tunl0
> rsh c2n7 /sbin/modprobe de4x5
> rsh c2n7 /sbin/ifconfig eth1 192.168.1.126 netmask 255.255.255.0
> broadcast 192.168.1.255 up
> rsh c2n7 /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1
> 
> ipvsadm -a -t 192.168.7.100:80 -R 192.168.7.7:80 -i
> rsh c2n7 /usr/sbin/httpd -d /cluster/server/etc/httpd
> 
> You can see here that the virtual server IP is 192.168.7.100 and that we
> 
> use the tunneling method.
> You can also see that we use "rsh" to remote configure the nodes from
> the director.
> We have two physical networks, the external network (192.168.1.0) and
> the internal (192.168.7.0).
> 
> The director has eth0 on the external network and eth1 on the internal.
> The nodes have eth0 on the internal
> network and eth1 on the external.
> 
> When we use a benchmark program we wrote to generate a lot of http
> queries, everything works fine
> during our, great tool.
> 
> But now we want to delete a node from the service by issuing the command
> 
> on the
> director while our bench is running :
> ipvsadm -d -t 192.168.7.100:80 -R 192.168.7.5:80
> Here we want to delete the node 5.
> 
> Immediatelly, the service stops on all nodes, the director seem to hang,
> 
> only for the
> ipvs part of the system, everything else seem to work normally.
> This is nearly the same if we add a node. When we add it it is never
> used by the director.
> When we delete a node we see with ipvsadm -l that it is really deleted.
> When we add a node we see that it is really added.
> 
> So several questions :
> 
> did we correctly configure the service ?

Mostly correct. Since you "insmod ipip", you must run kernel 2.2 on
your real servers, you need to hide the tunnel interfaces. Please
check the http://www.LinuxVirtualServer.org/VS-IPTunneling.html and
there are many examples. ;-)

> do we use a correct kernel version for the ipvs-0.9.7 ?

I have never tried to apply ipvs-0.9.7 to kernel 2.2.11. You need
upgrade to kernel 2.2.13 or 2.2.14. I guess that it is the reason that
you want to delete one real server but actually delete all.

> do you think that adding/deletting realservers while the service is
> running should work ?
> 

Sure, no problem.

Wensong

> Thanx for any help. Thanx again for your work.
> 
> Hugo Delchini.
> 
> ----------------------------------------------------------------------
> LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
> To unsubscribe, e-mail: lvs-users-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx
> For additional commands, e-mail: lvs-users-help@xxxxxxxxxxxxxxxxxxxxxx

----------------------------------------------------------------------
LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
To unsubscribe, e-mail: lvs-users-unsubscribe@xxxxxxxxxxxxxxxxxxxxxx
For additional commands, e-mail: lvs-users-help@xxxxxxxxxxxxxxxxxxxxxx

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