LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: LVS and NFS

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: LVS and NFS
From: Horms <horms@xxxxxxxxxxxx>
Date: Fri, 28 Sep 2001 08:52:10 +1000
On Wed, Sep 26, 2001 at 01:44:38PM -0700, Steven Lang wrote:
> The primary protocol I am interested in here is NFS.  I have the director 
> setup with DR with LC scheduling, no persistence, with UDP connections timing 
> out after 5 seconds.  I figured the time it would need to be accessing the 
> same host would be when reading a file, so they are not all in contention for 
> the same file, which seems to cost preformance in GFS.  That would all come 
> in a series of accesses.  So there is not much need to keep the traffic to 
> the same host beyond 5 seconds.

Hi,

I know this isn't the problem you are asking about, but I think there
are some problems with your architecture. I spent far to much of last
month delving into NFS - for reasons not related to laad balancing -
and here are some of the problems I see with your design. I hope they 
are useful.

As far as I can work out you'll need the persistance to be much longer than
5s. NFS is stateless, but regardless, when a client connects to a server a
small ammount of state is established on both sides. The stateless aspect
comes into play in that if either side times out, or a reboot is detected
then the client will attempt to reconnect to the server.  If the client
doesn't reconnect, but rather its packets end up on a different server
because of load balancing the server won't know anything about the client
and nothing good will come of the sitiation. The solution to this is to
ensure a client consistently talks to the same server, by setting a really
long persistancy.

There is also the small issue of locks. lockd should be running on the
server and keeping track of all the locks the client has.  If the client
has to reconnect, then it assumes all its locks are lost, but in the mean
time it assumes everything is consistent. If it isn't accessing the same
server (which wouldn't work for the reason given above) then the server
won't know about any locks it things it has.

Of course unless you can get the lockd on the different NFS servers to talk
to each other you are going to have a problem if different clients
connected to different servers want to lock the same file.  I think if you
want to have any locking you're in trouble.

-- 
Horms


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