[347] in Info-AFS_Redistribution

home help back first fref pref prev next nref lref last post

Re: Merging AFS cells.

daemon@ATHENA.MIT.EDU (Liz_Hines@transarc.com)
Wed Oct 16 21:46:23 1991

Date: Wed, 16 Oct 1991 19:35:39 -0400 (EDT)
From: Liz_Hines@transarc.com
To: Info-AFS@transarc.com
In-Reply-To: <8cz6ivW1408IMSc2xe@mumrik.cs.chalmers.se>


Merging 2 cells into 1 is not as easy as you would like.  There are
several considerations:

1) You have 2 authentication DB's that use a different key to encrypt
passwords.  So if you want to merge the DB's, retaining the union of
the accounts in both, the accounts from the test cell (which is going
away), will not have usable encrypted passwords.  Those user will have
to be assigned new passwords.  Since this is a test cell merging into
a production cell, I would guess that you are willing to just throw
away the accounts in the test cell.

2) You have 2 protection DB's - the user name to UID mappings and the
user and group mappings.  Unless you were careful, you probably used the
same UID for two different users in each cell.  Again, since you are
merging a test cell into a production cell, you are probably willing to
lose the user/UID mappings and the groups.

3) I assume what you are really concerned with is getting all of the
volumes in the test cell into the production cell.  And the problem is
that you have probably used the same volume ID's in both cells, since
AFS starts with the same volume ID in each cell.  We don't have a command
to change the volume ID, which is what I thought of first.  I believe
that any other solution we come up with is going to take as much time
as doing a copy (vos dump piped into vos restore).

If you want to do this across cells, you need to get admin tokens in both
cells and type:

vos dump <volume> 0 -cell <testcell> | vos restore <server> <partition>
   <newvolname> -cell <productioncell>

If you would like to leave the volumes on the current server and then
bring the server up in the production cell, the volumes of interest (the
ones you want to have in the production cell) must be given volume ID's
higher than any used in the production cell.

First you have to find out the largest volume ID used in the production
cell.  One way to do this is to look at all of them via vos listvol or
vos listvldb.  A quicker way is to create a new volume and look at the
ID's it assigns, then delete the volume.  The max volume ID is now set
to the ID it assigned to the backup volume for this new volume.

Next, you can "copy" the volumes of interest on the test cell server
to the same server, specifying a volume ID higher than the max in the
production cell:

vos dump <volume> 0 | vos restore <server> <partition> <newvolname>
   -id <newvolid>

You only need to increment the volume ID used by 1 each time you do this.

You will probably want to delete the old volume (name <volume>) and
rename the new volume (<newvolname>) to the old volume name at this point.

Then, you should zap all of the volumes you don't care about from the
server.  Make sure that you zap any root.afs and root.cell volumes and
their replicas and backups.

Then you bring down the server and proceed along the lines of what Dan
Lovinger told you - bring up the server in the production cell and do
a vos syncvldb.

This is obviously more involved than you expected.  It certainly suprised
me when I looked into the details!!  Please feel free to contact your
Product Support Representative, Dan Hamel, if you decide to proceed.

Liz Hines
Product Support Manager, File Systems
Transarc Corporation



home help back first fref pref prev next nref lref last post