LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Problems with persistent client connection

To: jacob.rief@xxxxxx, lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Problems with persistent client connection
From: Wensong Zhang <wensong@xxxxxxxxxxxx>
Date: Sun, 05 Dec 1999 09:17:29 +0800
Wensong Zhang wrote:
> 
> jacob.rief@xxxxxx wrote:
> >
> > persisency the connection will be redirected onto the remaining
> > real servers. Now if I turn on persistency again, a prevoiusly
> > attached client does not reconnect anymore - it seems as
> > if LVS remembers such clients. It does not even help, if I delete
> > the whole virtual service and restore it immediately, in the
> > hope to clear the persistency tables.
> > (ipvsadm -D -t <VIP>; ipvsadm -A -t <VIP> -p; ipvsadm -a -t <VIP> -R <alive
> >  real server>)
> > And it also does not help closing the browser and restarting it.
> > I run LVS in masquerading mode on a 2.2.13-kernel patched
> > with ipvs-0.9.5.
> > Would'nt it be a nice feature to flush the persistent client
> > connection table, and/or list all such connections?
> >
> 
> There are several reasons that I didn't do it in the current code. One
> is that it is time-consuming to search a big table (maybe one million
> entries) to flush the connections destined for the dead server; the
> other is that the template won't expire until its connection expire,
> the client will be assigned to the same server as long as there is a
> connection not expired. Anyway, I will think about better way to solve
> this problem.
> 

I just got a simple idea to work around this problem. If the virtual
service is persistent, there is a persistent connection template like
<cip,0,vip,vport,rip,rport> or <cip,0,vip,0,rip,0> to guarantee that
all connections from the same client will redirected to the same
server. If the real server is down, there is no need to keep this
persistent template work, we could simply change the template to
<cip,65535,vip,65535,rip,65535>, then create a new template destined
for a new server.

Since the persistent template is the control of its connections, and
searching all its connection in the big hash table and removing all of
them together isn't feasible, we cannot simply remove the template.
Therefore, the above method sounds good.

However, I cannot work on it this Sunday. My professor wants a
document in Monday, so I have to write it today. I will probably work
on it and make a new webpage about persistence this Monday and
Tuesday.

Thanks,

Wensong

----------------------------------------------------------------------
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>