[OpenAFS] re-releasing/removing an offline readonly volume under 1.4.1

Thomas Mueller thomas.mueller@hrz.tu-chemnitz.de
Thu, 31 Aug 2006 08:42:41 +0200 (MEST)


On Wed, 30 Aug 2006, Mike Polek wrote:

> Failed to start a transaction on the RO volume.
> Volume needs to be salvaged
> The volume 538271995 could not be released to the following 1 sites:
>                       hostname.pictage.com /vicepa
> VOLSER: release could not be completed
> Error in vos release command.
> VOLSER: release could not be completed
> 
> In the VolserLog:
> 
> Wed Aug 30 09:51:32 2006 VAttachVolume: Error reading smallVnode vol header
> /vicepa/V0538271996.vol; error=101
> Wed Aug 30 09:51:32 2006 VAttachVolume: Error attaching volume
> /vicepa/V0538271996.vol; volume needs salvage; error=101
> 
> After attempting to salvage the volume--
> In the SalvageLog:
> 
> 08/30/2006 09:53:51 538271996 is a read-only volume; not salvaged
> 
> after vos zap --force, the volume appears to go away, but any attempt
> to addsite it back and re-release results in the same issue. Apparently
> the zap isn't really cleaning the whole thing up. Is there an easy way
> to get things back to a clean state? or do I need to wait until
> 1.4.2 becomes stable? I tried upgrading, but can't due to different
> bug in 1.4.2rc1.
> 

It seems to me that the "vos zap --force" has deleted your volume header 
file (/vicepa/V0538271996.vol) but not the directory containing the 
volumes data.
You can try to locate this directory.

On the RW-Server:

rwserver# cd /vicepa
rwserver# /usr/afs/bin/volinfo -volumeid 538271996 -filenames

this command will probably show at lot of lines containing a Filename like 
that:

... UFS-Filename: /vicepa/AFSIDat/k1/kbjQj=/+/+/=+++22

here the directory named /vicepa/AFSIDat/k1/kbjQj=/ is the directory 
holding all the data of the volume 538271996.

Now you may investigate your RO-Server and look for such a directory in 
the according partition.

roserver# cd /vicepa/AFSIDat/k1/kbjQj=/
roserver# cd special

Use your favourite hexdump tool (like "hexdump -c") to look into the 
volume special file (its name should start with "zzzz5*"). Among other 
binary data  you should see the name of the volume.
This step is to make sure that you are about to remove the 
right directory.

If you verified that and don't see the volume header file 
on this RO-Server you may remove this directory in this way:

roserver# cd /
roserver# rm -r /vicepa/AFSIDat/k1/kbjQj=/

If you are unsure you could rename this directory, re-try your
"vos release" an remove it later.

Good look!

Thomas.