Hello Christian,
sounds like xfs_repair has moved a lot of the metadata files to lost+found.
There are two important parts of information for those files, which are
their names and their xattrs. Could you check for a couple of the files
below lost+found if they still have their correct filenames, which would be
either human-readable names like on the BeeGFS filesystem, or names that
match the pattern '[0-9A-Z]{1,8}-[0-9A-Z]{8}-[0-9A-Z]{1-8}', e.g.
D8D-5F1696AD-1.
Unfortunately, xfs_repair does not always preserve xattrs, which is where
BeeGFS stores all its metadata. Could you also check whether those files
still have the xattr 'user.fhgfs' like this for a couple of files in
lost+found:
$ getfattr -e base64 -n user.fhgfs -d <filename>
which should look similar to this:
$ getfattr -e base64 -n user.fhgfs -d /beegfs/meta/inodes/35/34/D8D-5F1696AD-1
# file: beegfs/meta/inodes/35/34/D8D-5F1696AD-1
user.fhgfs=0sBAMKAAAAAAAAAAAA7UEAAL+WFl8AAAAAv5YWXwAAAAC/lhZfAAAAAL+WFl8AAAAAAAAAAAAAAABkAAAADgAAAEQ4RC01RjE2OTZBRC0xAAAEAAAAcm9vdAAAAAABAAAAAQAAABoAAAABAAAAAAAIAAEACAAAAAgAAAAAAAAA
A hexdump of that metadata should look similar to this:
$ getfattr -e hex -n user.fhgfs --only-values -d /beegfs/meta/inodes/35/34/D8D-5F1696AD-1 | hexdump -C
00000000 04 03 0a 00 00 00 00 00 00 00 00 00 ed 41 00 00 |.............A..|
00000010 bf 96 16 5f 00 00 00 00 bf 96 16 5f 00 00 00 00 |..._......._....|
*
00000030 00 00 00 00 00 00 00 00 64 00 00 00 0e 00 00 00 |........d.......|
00000040 44 38 44 2d 35 46 31 36 39 36 41 44 2d 31 00 00 |D8D-5F1696AD-1..|
00000050 04 00 00 00 72 6f 6f 74 00 00 00 00 01 00 00 00 |....root........|
00000060 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 08 00 |................|
00000070 01 00 08 00 00 00 08 00 00 00 00 00 00 00 |..............|
0000007e
The first byte, which is 04 in this case, indicates that this is a
directory inode. You can also see the entryID again in the dump and also
the entryID of its parent directory, which is the special ID root in this
case.
The metadata for a file inode (which is inlined into the dentry) looks
similar to this:
$ getfattr -e hex -n user.fhgfs --only-values -d /beegfs/meta/dentries/35/34/D8D-5F1696AD-1/test | hexdump -C
00000000 01 06 13 00 02 00 00 00 80 00 00 00 00 00 00 00 |................|
00000010 00 00 00 00 a4 81 00 00 4a 6f c0 60 00 00 00 00 |........Jo.`....|
00000020 4a 6f c0 60 00 00 00 00 4a 6f c0 60 00 00 00 00 |Jo.`....Jo.`....|
00000030 4a 6f c0 60 00 00 00 00 00 00 00 00 00 00 00 00 |Jo.`............|
00000040 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000050 0c 00 00 00 30 2d 36 30 43 30 36 46 32 39 2d 31 |....0-60C06F29-1|
00000060 00 00 00 00 20 00 00 00 01 00 00 00 00 00 08 00 |.... ...........|
00000070 01 00 08 00 00 00 0e 00 00 00 03 00 00 00 0c 00 |................|
00000080 0f 00 0b 00 00 00 00 00 00 00 00 00 |............|
0000008c
In my case, all of these are still in their correct locations, but with the
meta information from those files, there is a chance that they can be put
in their original place again, or that you can at least match a filename to
a set of chunks on your system.
Best regards
- Philipp
* 'Christian' via beegfs-user <
fhgfs...@googlegroups.com> [210601 15:55]:
> To view this discussion on the web visit
https://groups.google.com/d/msgid/fhgfs-user/c987ddb8-78a9-489f-a541-47b432b20e4an%40googlegroups.com.