[OpenAFS] Re: IBM AFS to OpenAFS upgrade complete... problems continue

Harald Barth haba@kth.se
Thu, 06 May 2010 10:43:47 +0200 (CEST)

> The vlserver could really use a safety check to prevent adding
> duplicate addresses so this doesn't happen; I'll look into that.

My guess is that you only can get into that state if you have a vldb
that has a mix of old style entries without UUIDs and new ones. If you
have had a VLDB for a long time, you can accumulate a lot of crap in

> So, you need to remove one of those duplicates. The problem is, the only
> way of specifying a server to remove from the VLDB is by IP address, so
> we can't specify a specific one of those duplicates, since they have the
> same IP....

I had a different problem, but to solve it I wrote a modification to vos:

$ /usr/src/openafs-1.5.71/src/volser/vos help
/usr/src/openafs-1.5.71/src/volser/vos: Commands are:
setaddrs        set the list of IP address for a given UUID in the VLDB
$ /usr/src/openafs-1.5.71/src/volser/vos setaddrs -help 
Usage: /usr/src/openafs-1.5.71/src/volser/vos setaddrs -uuid <uuid of server> -host <address of host>+ [-cell <cell name>] [-noauth] [-localauth] [-verbose] [-encrypt] [-noresolve] [-help]

The patch is there (against 1.5.71, ass seen above):

It is in OpenAFS since 1.5.74 (Thanks Jeff). So I'd get a 1.5.74 vos
and change the IP addr of the UUID you do not like to something else
and then changeaddr -remove it. Record the UUIDs before you change
anything, because with setaddr you can set anything you want.

> vos changeaddr -remove
> That command is pretty safe; if there are volumes referencing the server
> it tries to delete, it will bail out and give you an error. If it
> succeeds, you should be done.

setaddr is not "safe" ;-)