[OpenAFS] Odd error on 'vos move'
Benjamin Kaduk
kaduk@MIT.EDU
Mon, 7 Dec 2015 15:51:22 -0500 (EST)
On Mon, 7 Dec 2015, Garance A Drosehn wrote:
> Hi.
>
> I've been busy moving our AFS volumes from ancient file servers to
> up-to-date file servers. So far this has been going along well,
> but last week I ran into an odd error moving one 10.79 GiB file.
>
> My main question is: Could a problem like this be caused by my
> AFS token expiring in the middle of the transfer? Here's the
> output from vos-move:
>
> /usr/sbin/vos move -id <_details_> -verbose
> Starting transaction on source volume <__old__> ... done
> Allocating new volume id for clone of volume <__old__> ... done
> Cloning source volume <__old__> ... done
> Ending the transaction on the source volume <__old__> ... done
> Starting transaction on the cloned volume <_clone_> ... done
> Setting flags on cloned volume <_clone_> ... done
> Getting status of cloned volume <_clone_> ... done
> Deleting pre-existing destination volume <__old__> ...Creating the
> destination volume <__old__> ... done
> Setting volume flags on destination volume <__old__> ... done
> Dumping from clone <_clone_> on source to volume <__old__> on destination
> ...vos move: operation interrupted, cleanup in progress...
> clear transaction contexts
> Recovery: Releasing VLDB lock on volume <__old__> ... done
> Recovery: Ending transaction on clone volume ... done
> Recovery: Ending transaction on destination volume ... done
> Recovery: Accessing VLDB.
> FATAL: VLDB access error: abort cleanup
> cleanup complete - user verify desired result
> #------>Error-> *** cs=256 ***
>
> The vos-move command took about 54 minutes. It started after I
> had moved several other large volumes, and it happened that my
> AFS token expired in the middle of this vos-move. I was doing
> some other things in AFS at the time, and the token could not
> have been expired longer than a minute or two before I noticed
> it. I did a new 'klog', and it was at least five minutes later
> before the vos-move terminated. I suspect it was more like
> 10-15 minutes, but I didn't really keep track of that.
>
> So, could the problem have been caused by the token expiring in
> the middle of the transfer?
Yes. The client will not create a new connection to pick up the new
token, and will continue using the old token until the server notices it
is bad and sends a new challenge (usually around expiry+skew window).
> At this point, if I do a 'listvol' on both the source and
> destination servers, the volume exists on both of them. On
> the destination server the volume is marked as 'Off-line'.
> If I do a 'vos examine', the volume is listed as being on
> the original (source) server, and is also marked as LOCKED.
>
> I assume that the thing to do right now would be to:
> 1. vos-remove the copy which exists on the destination
> file server (and which is not shown in vos-examine).
> 2. vos-unlock the copy which exists on the original
> file server.
> 3. Retry the vos-move, this time making sure my AFS token
> won't expire in the middle of the transfer!
>
> Does this seem reasonable? Is there any other checks I should
> do before trying those? I was able to read all the data in the
> volume (using 'md5sum') without warnings or errors showing up
> in any log files on the server.
That sounds like a correct procedure. Note that the credentials used by
-localauth do not expire; I suggest using that for a long-running move.
-Ben