[OpenAFS] Offline migration of AFS partition files (i.e. the
contents of `/vicepX`)
Ciprian Dorin Craciun
ciprian.craciun@gmail.com
Sat, 2 Mar 2019 22:42:16 +0200
On Wed, Dec 5, 2018 at 3:29 PM Harald Barth <haba@kth.se> wrote:
> > Can I safely `rsync` the files from the old partition to the new one?
>
> For Linux (The "new" server partition layout):
>
> If the file tree really is exactly copied (including all permissions
> and chmod-bits) then you have everything you need.
I would like to follow-up on this with some additional questions,
which I'll try to keep as succinct as possible. (Nothing critical,
however I would like to have a little bit more insight into this.)
(A) When you state `exactly copied` you mean only the following
(based on the `struct stat` members):
* `st_uid` / `st_gid`;
* `st_mode`; (i.e. permissions;)
* `st_atim`, `st_mtim` and `st_ctim`? (i.e. timestamps)
* no ACL's, no `xattr` (or `user_xattr`);
* anything else?
(B) Also (based on what I gathered by "peeking" into the `/vicepX`
partition) there are only plain folders and plain files, without any
symlinks or hard-links.
(C) Moreover based on the same observations, I guess that the
metadata (i.e. uid/gid/permissions/timestamps) for the actual folders
inside of `/vicepX` don't matter much. (Only the matadata for the
actual files do.)
(D) (Not really related to migration) Am I to assume that some of
the files inside `AFSIDat` are identical in contents to the actual
files on the `/afs` structure? (Disregarding all meta-data, including
filenames.) Moreover am I to assume that all the files accessible
from `/afs` are found somewhere inside `AFSIDat` with identical
contents?
I.e. formalizing the last one: if one would take any file accessible
under `/afs` and would compute its SHA1, then by looking into all
`/vicepX` partitions belonging to that cell, one would definitively
find a matching file with that SHA1.
My curiosity into all this is because I want to prepare some `rsync`
and `cpio` snippets that perhaps could help others in a similar
endeavor. Moreover (although I know there are at least two other
"official" ways to achieve this) it can serve as an alternative backup
mechanism.
BTW, is there a document that outlines the actual layout of the
`/vicepX` structure? I've searched a bit but found nothing useful.
Thanks for the feedback,
Ciprian.