[OpenAFS] Sysid file and name/addr/uuid confusion
Mon, 6 Oct 2008 15:50:53 -0400
We've bumped into an interesting problem here with a host actively
serving afs files but not showing up in 'vos listaddr.' There was no
actual service issue (ie, everything worked), but a number of our
utilities which use the output of vos listaddr-like stuff were failing
to process the 'missing' host.
It appears that if the public interface addresses change either by
rehoming the machine and/or changing the NetInfo file, the file server
longer shows up by name when using the vldb. Thus when one does
for H in `vos listaddr -noauth | sort | uniq` ; do
<<back up host H >>
the 'missing' host is never backed up. Similarly,
vos listvldb -server H
shows no volumes, even though H is actively serving them.
If you dump the vldb, you can see the address of H in the db. If you
empty the host and do 'vos changeaddr <host address> -remove' it works
just fine. If you then start to put volumes on the server, they work
just fine -- but the server still won't show up in vos listaddr.
This strikes me as bad performance. :-)
We've now repaired the problem with this particular host by removing
the volumes, shutting down afs, removing the sysfile, and starting up
afs again. A new sysfile is created, and the host now shows up
properly in listaddr.
We're going to do some playing around with our test cell in an attempt
to replicate the problem, but are curious if others have seen this
problem and if they think it's a bug or a feature.