On Wed, Apr 11, 2001 at 07:48:47PM -0700, O.W. wrote:
> The manual reads as: "Make two new entries in the
> /vice/db/VSGDB file. One for your new server by itself, one
> of the form: E0000104 scm-server second-server. ..."
>
> One old email by Jan seems that the single entry for server
> by itself is not really necessary, the example he suggested
> is:
>
> /vice/db/VSGDB:
> E00000100 us-server1 us-server2
> E00000101 nl-server1
> ...
>
> Can someone clarify this?
Both are suggestions. Essentially the VSG number should only really be
used when creating a volume. However these numbers have gotten misused
in many places in the code, even the client. btw. VSG == Volume Storage
Group, i.e. which servers are responsible for holding one of the
replicas of a replicated volume.
Around Coda-5.3.10 all occurences where we used this VSG number were
removed from the client. The current CVS version reintroduces the VSG in
the client, because it is a good conceptual thing and allows us to share
the MultiRPC connections to a group of servers for different volumes.
The new implementation doesn't rely on the VSG number anymore, the VSG
is now totally defined by which servers store replicas of a volume. A
similar cleanup still needs to be done for Coda servers.
<future dream mode>
In any case, I'd really like to end up with no /vice/db/VSGDB, and
simply specifying at volume creation time on which servers the volume
replicas should be created, i.e. something like
createvol_rep new_volume srv1,srv2 /vicepa[,/vicepb]
And more interestingly, the following type of operations would then
become possible,
change_rep volume move srv1 to srv3 # relocate a single volume replica
change_rep volume add srv3 # grow replication factor
change_rep volume remove srv2 # shrink replication factor
</future dream mode>
But for now, just think of the numbers in the first column as a handy
'abbreviation' for a server group. And try to avoid changing which
machines are members of a group once you've created any volumes in a
group. btw. the group numbers _have_ to start with 'E0'.
Jan