>I would still like to know why there are no tools to EXCLUDE servers
>from the server preference list 

I'm not sure.  It could be due to some really hairy technical reason,
or it could simply be that the developers didn't think of it, or
didn't think it would ever be necessary (they're a smart bunch, but
not yet omniscient ;^} (we're working on that!)). 

One small correction to a statement in your last post.

>        2) order the list according to any client side configuration file like
>           CellServDB 

By default, at afsd startup the servers listed in the client CSDB are
ranked (although they are guaranteed to be DBservers, they may not
house RO volumes - nonetheless, they are the only servers the
CacheManager knows about at startup time.)  They are, as you stated,
ranked solely by "proximity" determined by looking at IP addresses and
using subnet masking, and ties are broken randomly.

But note that fs setserverprefs has a -file option that will allow you
to create a server rank file that you would (most likely) store
locally on the clients.  In the rc file, shortly after afsd is started,
you can execute

fs setserverprefs -file /usr/vice/etc/server.ranking (or whatever you
call it).  

As soon as afsd is started, it will rank the CSDB machines, then will
rank accourding to the input to setserverprefs.

Conveniently, the format of the file should look exactly like fs
getserverprefs output - so you can start with getserverprefs output
and hack it up to suit your needs.  Perhaps by installing this file,
giving the suns a very low ranking and the rs6000s a very high
ranking, and running fs setserverprefs your problem could have been
alleviated.  Giving the 6000s the highest rating would effectively
remove them from the server pref list - at least they wouldn't be
tried until attempts to lower ranking servers failed.

There are undoubtedly some finepoints on serverprefs that I don't
understand that may make this hypothesis of mine invalid.  It could be
that once the CSDB servers are ranked, that setserverprefs can't
change them - it can only rank "other" servers.  So if the rs6000s
were DBservers (ie in the CSDB)....... There may be other interactions
that I don't know about - I certainly would never have suspected that
rebooting any servers would be required to make a new set of
serverprefs take effect - thats just not my understanding of
setserverprefs.  Its even possible that there is a bug in
setserverprefs (stranger things have happened!).  I'm going to try to
find out a bit more about this and report back - its been on my list
of things to do anyway.

Regarding:

>or minimally, why I cannot dynamically configure the timeout value 
>for contacting servers.

These timeout values are one below the layer where you think they are.
I'm not going to pretend to know enough about Rx (AFS Remote Procedure
Call package) to touch this one - I can only talk in generalities
about Rx.  It was once explained to me that monkeying with timeouts
was murderous - so many interactions, so many side effects, so many
things using Rx.

Pierette

Reply via email to