Under some rare circumstances it can be helpful to be able to locate BeeGFS storage objects on the underlying file system of the metadata and storage servers, as well as referencing them with files or directories on the BeeGFS file system.
Modifying the content of files and extended attributes, deleting, or otherwise changing the directory structure of the metadata or storage servers is likely to cause irreversible data loss!
Find storage chunks belonging to a file¶
This can be achieved by querying the file with
beegfs-ctl --getentryinfo --verbose. The command
will print out (among other information) a list of storage targets the file is striped across as
well as the relative path to its chunk files (which is the same on all targets).
$ beegfs-ctl --getentryinfo --verbose /mnt/beegfs/file Entry type: file EntryID: 0-5D285750-1 Metadata node: node1.beeg.local [ID: 1] Stripe pattern details: + Type: RAID0 + Chunksize: 512k + Number of storage targets: desired: 2; actual: 2 + Storage targets: + 1 @ node1.beeg.local [ID: 1] + 2 @ node2.beeg.local [ID: 2] Chunk path: u0/0/r/root/0-5EC39809-1 Dentry path: 38/51/root/
In this example, the chunk files belonging to
/mnt/beegfs/file are striped across the targets
1 and 2, which are located on storage node 1 and 2. Assuming the target data directories are put
/beegfs/storage on each node, the chunk files are located at
Find the metadata file of file or directory¶
This can be achieved by querying the file or directory with
beegfs-ctl --getentryinfo --verbose.
The command will print out (among other information) the metadata node where the files metadata is
located as well as the relative path to the directory where its inode is stored.
File inodes are inlined within the files dentry, so if you query a file, you will get the path to the files dentry instead (see example above).
Normally inodes are found under
inodes/ and dentries under
dentries/. If the file or
directory is meta mirrored, you need to look under
Example: Query a directory
$ beegfs-ctl --getentryinfo --verbose /mnt/beegfs/dir Entry type: directory EntryID: 0-5D285EEB-1 ParentID: root Metadata node: node1.beeg.local [ID: 1] Stripe pattern details: + Type: RAID0 + Chunksize: 512k + Number of storage targets: desired: 2 + Storage Pool: 1 (Default) Inode hash path: 54/57/0-5D285EEB-1
In this example, the directory inode is located on metadata node 1. Assuming the metadata directory
is put under
/beegfs/meta, the inode file is located at