Coda File System

Re: coda server replicant peer removal (and caveats)

From: <u+codalist-wk5r_at_chalmers.se>
Date: Fri, 11 Jun 2010 16:58:26 +0200
Hi Don,

On Wed, Jun 09, 2010 at 11:01:25PM -0700, don wrote:
> Ok, so I've created my replicant peer: 
> 
> *) updated vice/db/servers
> *) run vice/db/volutil createrep

I am not entirely sure what you did at this step but my guess is
/vice/bin/volutil create_rep ....

> *) updated vice/db/VRList (using volutil createrep output)
> *) run vice/db/volutil makevrdb
> *) run vice/db/bldvrdb.sh (new host) 

My other guess is that you tried to increase replication of some existing
volume or volumes. I can hardly comment on whether your procedure was
right or wrong due to insufficient information.

> Now, I want to remove the replicant entirely from coda.  How do I do this? 

Do you mean removing a server from your Coda realm?

Note that reduction in replication is not supported. You may try to
destroy a volume replica and create it on another server but you can
not run the realm infinitely with volumes lacking some replicas.
The modification logs will eventually overflow, hard to say how much of
destructive consequences this will cause.

Thus, if you want to reduce the number of replicas of a certain
volume, you have to save the data, destroy the whole volume, create it
with desired replication and populate with the saved data.

As soon as there are no volumes using a server (the server thus being
empty or only containing unused replicas), it can be safely removed
from the server list and taken down. Choose your SCM among the remaining
servers.

> Obviously I'll need to update the vice/db/servers & vice/db/VRList, but 
> what other commands ought I to run to completely remove the server from 
> volume replication? 

As said, you modify the volumes' setup and so make the replicas residing
on the "extra" server becoming destroyed (or unused). Note that I never
tried an exercise like recreating replica on a different server, this
may or may not work. Your best bet is save-data,destroy,create,repopulate.

Note also that the clients may keep the information about the old server
infinitely so they need reinitialization when you take a server down
and/or they have to be told to refresh their volume-server mappings.

cfs checkvolumes    may or may not be sufficient.

> If I try to later add a new server by the same name as the removed peer, 
> will it be a problem? 

It shouldn't, if you removed it "properly".

Regards,
Rune
Received on 2010-06-18 15:32:35