[OpenAFS] Adding Additional Fileserver to Cell
Russ Allbery
rra@stanford.edu
Fri, 08 Sep 2006 11:26:42 -0700
Mike Bydalek <mbydalek@contentconnections.com> writes:
> I did some searching around, and tried to execute the same steps as
> setting up the first AFS server, minus creating the root.afs and
> root.cell volumes, but I'm not getting too far. Does anyone have any
> instructions on how to expand an AFS cell? Google'ing around didn't
> really get me too far except for setting up first time cells.
Here are the instructions from README.servers in the Debian package:
Adding Additional Servers
If you decide one server is not enough, or if you're adding a server to
an existing cell, here is roughly what you should do:
1. Copy securely (using scp, encrypted Kerberos rcp, or some other
secure method) all of /etc/openafs/server to the new server.
2. Install the openafs-fileserver package on the new server.
3. If the machine is to be a file server, create an fs instance using
bos create:
bos create <host> fs fs -cmd /usr/lib/openafs/fileserver \
-cmd /usr/lib/openafs/volserver \
-cmd /usr/lib/openafs/salvager -localauth
For a file server, this is all you have to do. The above uses the
default fileserver options, however, which are not particularly
well-tuned for modern systems. afs-newcell uses the following
parameters from Harald Barth:
-p 23 -busyat 600 -rxpck 400 -s 1200 -l 1200 -cb 65535
-b 240 -vc 1200
If you want to add any additional fileserver options, enclose
/usr/lib/openafs/fileserver and the following options in double
quotes when giving the bos create command.
4. For database servers, also install openafs-dbserver and then use bos
addhost to add the new server to /etc/openafs/server/CellServDB:
bos addhost <server> <new-server>
for each db server <server> in your cell (including the new one).
Then, restart the ptserver and vlserver instances on each of your
existing servers with:
bos restart <server> ptserver
bos restart <server> vlserver
It's best to wait a few seconds after doing this for each server
before doing the next server so that voting finishes and you never
lose a quorum.
Only after ptserver and vlserver have been restarted on each of your
existing servers, create ptserver and vlserver instances on the new
server:
bos create <host> ptserver simple /usr/lib/openafs/ptserver \
-localauth
bos create <host> vlserver simple /usr/lib/openafs/vlserver \
-localauth
The existing servers should then propagate the database to the new
server. If you are using buserver, you will need to do the same
thing for it as with ptserver and vlserver.
Note that you do not need to run a file server on a db server if you
don't want to (and larger sites probably will not want to), but you
always need to have the openafs-fileserver package installed on db
servers. It contains the bosserver binary and some of the shared
infrastructure.
5. If you added a new db server, configure your clients to use it. If
you are using AFSDB records in DNS, you can just add a new record
(see point 10 in the instructions for creating a new cell).
Otherwise, clients will need to have the new server IP address added
to their /etc/openafs/CellServDB file (or /usr/vice/etc/CellServDB
for non-Debian clients using the standard AFS paths), and the client
will have to be restarted before it will know about the new db
server.
The standard rule of thumb is that all of your database servers and file
servers should ideally be running the same version of OpenAFS. However,
in practice OpenAFS is fairly good at backward compatibility and you can
generally mix and match different versions. Be careful, though, to
ensure that all of your database servers are built the same when it
comes to options like --enable-supergroups (enabled in the Debian
packages).
--
Russ Allbery (rra@stanford.edu) <http://www.eyrie.org/~eagle/>