Thu, 06 Apr 2006 04:55:03 -0400
On Thursday, April 06, 2006 10:21:19 AM +0300 Juha J=E4ykk=E4 =
> We're doing some disaster recovery tests on OpenAFS. The next test =
> to be done is recovery from a lost RW volume with living RO's still
> I understand this is easiest done with convertROtoRW - simply tell the DB
> that one of the RO's is now RW. Fine. What I'm wondering is, what happens
> if the old RW magically reappears from beyond the grave? Obviously we =
> to reconcile the situation of twin RW's. How?
Well, it's presumably not going to magically reappear on the same partition =
as the new one. So, the usual rules apply...
- An RW volume that is not on the server the VLDB says it should be on is
orphaned. No client will find that volume. If the server indicated by
the VLDB also contains a copy of that volume, then _that_ version will
be live and accessible to clients.
- If two volumes with the same ID appear on different partitions on the
same fileserver, the fileserver will attach exactly one of them, and
all accesses will go to the one it picks. Generally this will be the
volume on the "first" partition, but I don't recall if that's the
lowest-numbered partition or the one the fileserver happens to see
first during startup. Either way, you'll be able to tell what's going
on because the volume that is _not_ in use will show up as "Off-line"
in vos listvol.
You reconcile by picking one of the volumes, deciding it is the correct=20
authoritative one, and nuking the other one just to be sure. If you=20
actually want to look at the contents to decide, you will need to dump one=20
of the volumes and restore it with a different ID. Note that you can use=20
'vos dump' to dump volumes that the VLDB knows nothing about.