Coda File System

Re: non-SCM failover

From: Jan Harkes <>
Date: Sat, 19 Jul 2003 12:05:47 -0400
On Fri, Jul 18, 2003 at 01:25:40AM -0400, UpFront Technology wrote:
> 	When I mount...I believe the E0000100 is mounted first (as
> /coda).  I say I believe because I never set a mount point and
> get this output:

The servers have a file named /vice/db/ROOTVOLUME. In this file is the
name of the volume that will be mounted as root of your local realm. The
first thing a client does after connecting is ask the server what the
rootvolume name is.

So you could create a replicated volume (root.rep) and put it's name in
the ROOTVOLUME file. When new clients connect they get the new name.
Existing client will need to be at least restarted, but possible
reinitialized (started with 'venus -init', which purges any cached

> [root_at_OLIVIA CODA]# cfs lv /coda
>   Status of volume 0x7f000000 (2130706432) named "root.vol"
>   Volume type is ReadWrite

A useful query to check which servers are managing a volume replica,

    cfs whereis /coda /coda/public_html

> When the SCM goes down, the clients can not see the volume.  /public_html
> shows with the nasty "red block" (either blinking or static) around the
> directory, I believe it has lost the link.

Hmm, that is unusual, first of all, your clients have the contents of
/coda cached, which is expected. Even without replication a client can
and will run with whatever they have cached. The danling symlink
indicates that they are unable to locate the web volume.

My guess is that you only have the SCM listed as one of the
'rootservers' for your realm. Volume location queries can technically
be sent to any server within a realm, but when I was experimenting
with early versions of cross-realm mounting this was giving problems
because clients would start asking servers in the wrong realm about
volume location. So volume queries are currently only sent to the
group of servers listed as rootservers.

I'm not sure why your client isn't using already cached volume location
information for /coda/public_html, but by setting up your clients to
have both the SCM and the non-SCM as rootservers will provide you with
the required redundancy.

Received on 2003-07-19 12:09:03