Coda File System

Re: Adding a replicating server

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Thu, 21 Apr 2005 13:27:51 -0400
On Wed, Apr 20, 2005 at 05:35:59PM -0600, Patrick Walsh wrote:
> On scm:
> 
> 1) Add new server name to servers list

Missing step, restart the server, otherwise it doesn't know about the
new server and will not create correct VLDB and VRDB files in the
following steps since they refer to an 'unknown' server identifier.

> 5) volutil -h $newserver makevrdb /vice/db/VRList 
> 
> (not sure if this one is necessary)

This is definitely necessary, but you're doing it wrong. The SCM is
supposed to parse the VRList file into a VRDB file. This just tells the
new replica to create a local VRDB file which will not get replicated to
all servers. In the best case it will get overwritten by the old version
from the SCM, in the worst case the server muddles on with a different
idea of how volumes are replicated compared to everyone else.

try 'volutil -h localhost makevrdb /vice/db/VRList' on the SCM

> 	And everything looks great.  But, `cfs whereis /coda/myrealm` returns
> only the scm.  

Because there is no correct volume replication database. The servers
don't yet know about your modifications to the VRList file.

> # getvolinfo scm /
> RPC2 connection to scm:2432 successful.
> Returned volume information for /
...
>         ServerCount 1
>         Replica0 id 1000001, Server0 192.168.5.129
>         Replica1 id 0, Server1 0.0.0.0

See, this should be 
    ServerCount 2
    Replica0 id 1000001, Server 192.168.5.129
    Replica1 id 2000001, Server 192.168.5.xxx

Jan
Received on 2005-04-21 13:32:04