Coda File System

Re: And one final(?) problem ...

From: Jan Harkes <jaharkes_at_cs.cmu.edu>
Date: Mon, 2 Apr 2001 15:40:25 -0400
On Mon, Apr 02, 2001 at 08:13:29PM +0200, Garry Glendown wrote:
> While I seem to have gotten everything set up halfway, and have followed
> the manual on how to set up a non SCM server, and after venus-setup and
> venus I get the drives and data from the main server, there seems to be
> no automatic replication of the data on the server ... when shutting
> down the SCM, my local machine can't get any files anymore, and the
> vicepa directory is more or less empty (apart from the directory tree
> file). What do I have to do to get the servers to constantly keep each
> other up to date? As the data I plan to keep on the servers doesn't
> change that much at a time, and will be mainly replicated through local
> ethernet, it shouldn't be a performance issue ... (plus I'd rather have
> reliable small performance than unreliable great performance)

Servers are not keeping each other up-to-date. The clients do this.

Different volumes can have different replication strategy (only server
one/only server two/both server one and two). The replication is defined
at volume creation time by the VSG number (the E0000100), which is
looked up in /vice/db/VSGDB.

Let's say you've got 2 servers and want to have everything doubly
replicated.

add to /vice/db/VSGDB:
    echo "E0000102 serverone servertwo" >> /vice/db/VSGDB

Create a (new) rootvolume replicated on both servers,
    $ createvol_rep newroot E0000102
    binding to serverone
    binding to servertwo
    ...

Replace /vice/db/ROOTVOLUME
    $ echo newroot > /vice/db/rootvolume

Restart both servers, and reinitialize the client, as is still has the
old root in it's persitent cache and doesn't like it that much when we
rip it's concept of reality apart.

    serverone$ /etc/rc.d/init.d/codasrv restart
    servertwo$ /etc/rc.d/init.d/codasrv restart
    client$ touch /usr/coda/venus.cache/INIT
    client$ /etc/rc.d/init.d/venus.init restart
    
This is always the messy part, the venus restart might be unable to
unmount /coda etc. So test whether the new root is accessible after all
this.

Then create a bunch of other doubly replicated volumes. If there is any
important data in one of the old singly replicated volumes mount it (cfs
mkm) and copy the data into a new doubly-replicated volume.

Oh, and make sure you set the client up to use both servers for initial
rootvolume and volume location queries. That way it can always boot and
mount unknown volumes as long as one of the servers remains reachable.

    $ echo "rootservers=serverone,servertwo" >> /etc/coda/venus.conf

Jan
Received on 2001-04-02 15:41:48