On Thu, Oct 15, 2009 at 06:55:47PM +0800, Jason Lu wrote:
> Hi,
> I have set up a LVS-DR cluster with four consumer PCs: two Directors,
> and two Real servers. Only one director is active, the other director is
> a hot backup by heartbeat. On the director server, i installed
> ldirectord (http://www.vergenet.net/linux/ldirectord/) to manage my real
> server connection status. My ldirectord configure file in heartbeat is:
>
> checktimeout=20
> checkinterval=5
> autoreload=yes
> quiescent=no
> virtual=45
> real=192.168.0.240 gate 1 ".healthcheck.html", "OKAY"
> real=192.168.0.241 gate 1 ".healthcheck.html", "OKAY"
> service=http
> persistent=36000
> checkport=80
> protocol=fwm
> scheduler=wrr
> checktype=negotiate
>
> Everything works fine except for the timer on the director server. For
> example, I use "ipvsadm -Lnc|grep ERR|grep 91.113.65.128" to get the
> following persistent template:
> IP 00:16 ERR! 91.113.65.128:0 0.0.0.45:0
> 192.168.0.240:0
>
> After a while, I check it again and get the following result:
> IP 00:50 ERR! 91.113.65.128:0 0.0.0.45:0
> 192.168.0.240:0
>
> Note here the expiration is greater than 16 seconds!
>
> I then check it every second using the above shell command, and found
> that each time when the timeout for the persistent template is up, it
> reset to 60 seconds again. So it never disappear from the lvs connection
> table. Also this is the same for some TCP connections with FIN_WAIT
> status. But I found some tempalte works with the correct 10 hour
> (persistent=36000) expiration time.
>
> I tried the backup director server, it never has such problems.
>
> So my question is why there are some TCP connections and persistent
> template's timer doesn't work as expected on the first director server?
>
> My Kernel version is: 2.6.9-42; heartbeat: 2.0.8; ipvsadm: 1.24-6
Hi Jason,
They are pretty ancient versions of both the kernel and heartbeat,
but upgrading is unlikely to change the behaviour that you are observing.
What I suspect is happening is that there are still connections
associated with the persistence template. And thus when its timeout
reaches zero it can't be removed and at that point its time is reset.
Repeat.
If that is what is happening then it is the expected behaviour - by which I
mean, that is how the code is written to work.
_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/
LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users
|