Coda File System

Re: replicated servers

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Tue, 12 Apr 2005 16:10:37 -0400
On Fri, Apr 08, 2005 at 08:42:01AM -0600, Patrick Walsh wrote:
> On Fri, 2005-04-08 at 10:30 -0400, Greg Troxel wrote:
> > 	  *** My original question is: do I have to do any sort of volume
> >   creation on the scm or the replica to get that replica to host certain
> >   volumes?  A volutil command or a config file edit?
> > 
> > You have to create a replicated volume on the SCM, and then
> > I think instantiate it on the two servers, one of which may be on the
> > same machine as the scm.   I'm not up to speed on this.
> > see sbin/createvol_rep
> 
> 	createvol_rep fails if the volume already exists on the scm.  The
> documentation is outdated and makes references to updating the VSGDB
> file, which is no longer used.

On which servers a replicated volume is located is defined when the
volume is created. Use 'createvol_rep volname <server1> <server2>'.

Ofcourse that doesn't work if you have existing volumes on only a single
server that you want to get replicated. Dynamically growing/shrinking
the replicated group is almost supported (getting rid of that VSGDB file
was yet another small step in that direction), but isn't really feasable
just yet. I've done it a couple of times but it involves creating the
missing replicas with volutil and some editing of the VRList file and
finally reintializing the caches of all clients to make sure that they
all agree on which servers are holding volume replicas.

> > 	  *** My secondary question: how do I test to see if the replica really
> >   has copies of the scm's files?  (I plan on disconnecting the scm,
> >   flushing the cash on the client and testing that way, but I'm hoping
> >   there's an easier way.)
> > 
> > That's what you want to actually work, so yes, do that.
> 
> 	I'm sure there must be another way.  Otherwise how could you test your
> servers in a live environment.  If you take down the scm and it turns
> out your replica didn't have the files, then you just disconnected all
> your clients.

cfs whereis /coda/<realm>/<path-to-volume>/

Jan
Received on 2005-04-12 16:11:29