Coda File System

Re: Q: Is Partial Replication Possible?

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Wed, 26 Feb 2003 13:37:02 -0500
On Wed, Feb 26, 2003 at 01:02:18PM -0500, Brian White wrote:
> > Server groups are not dynamic.  When you create a volume, it is assigned
> > to a server group and that group of servers stores that volume and
> > all files in the volume.  The number of servers storing that volume
> > does not change.
> 
> Understood.  I guess the next question would be if there are any thoughts
> about providing this feature?  It seems to me that this would provide the
> benefits of a replicating file system along with the benefits of a raid.
> The total volume size would scale automatically as more servers were added
> to it.

I've already modified the client to the point that it should be able to
handle it. We just need some callback that forces a client to refetch
the information about which servers actually hold a volume replica.
Ofcourse this has never been tested because...

The server is not able to deal with a changed replication group.
I'm currently fixing a resolution problem which should take us yet
another step closer to finally making it possible.

It will never automatically scale as more servers are added. The steps
would be something more like,

- Create a new volume replica on a server.
- Update the VRList 'attach' the new replica to an existing volume.
- Convert the VRList in a new VRDB, this is propagated and loaded by the
  servers, which can then send callbacks to clients to trigger
  refetching of the replicated volume information.
- Recursively walk through the volume with a client which triggers
  server-server resolution that forces the existing data to the new
  replica.

Almost the same when removing a replica, except that the resolution
isn't necessary. Once all of this starts to come together we might have
a script (or extension to createvol_rep) that does the administrative
parts of the process, i.e. volume creation and VRList updates.

All of this has slowly been coming together over the past 2 years, and
the resolution problem that I'm fixing is in fact a direct result of the
server side changes necessary to eventually support such dynamic
resizing of the replication group.

Jan
Received on 2003-02-26 13:39:18