Setting node or target IDs¶
BeeGFS metadata and storage services and targets use a numeric ID, which is by default sequentially
generated by the management daemon. Numeric IDs are 16-bit values in range 1..65535
. It is
usually not required to set node IDs or target IDs manually since they are assigned automatically as
nodes and targets are created. It is, however, possible to force the use of specific node and target
IDs on creation before the service starts up for the first time. These IDs should not conflict with
any existing IDs in the file system.
Note
An ID only needs to be unique in its class. So a metadata server daemon and a storage server daemon may have the same node ID, but two metadata servers (or two storage servers) may not use the same ID.
Previously BeeGFS nodes and targets also had a string ID, which was replaced in BeeGFS 8 by aliases. The old string-based IDs were tightly coupled to the numeric IDs and could not be updated. The new aliases are initially generated by the management daemon and can be dynamically updated by the user/administrator at any time. These aliases are found in log messages and other output to help conveniently identify a particular service in place of the old string IDs.
Setting IDs by setup script¶
Use the corresponding setup script of each service to manually define IDs when first setting up the daemon:
# /opt/beegfs/sbin/beegfs-setup-meta
# /opt/beegfs/sbin/beegfs-setup-storage
See the help output of each script. Add -h
argument for help and usage examples.
Setting IDs manually¶
Each BeeGFS server daemon checks for special files inside their storage directory during startup. To manually force certain IDs instead of having them generated automatically, you would create these special files before the first startup of a BeeGFS server daemon. The names of these special files are:
nodeNumID
: numeric node IDtargetNumID
: numeric target ID (only for storage server targets)
Warning
These IDs are an essential part of all lookups in BeeGFS. Do not change IDs after starting up a daemon for the first time (or BeeGFS would no longer be able to retrieve the data that was stored based on the old ID).
For example if you want to set the numeric ID of your first storage server and its storage target to
1
. If your storeStorageDirectory
in /etc/beegfs/beegfs-storage.conf
is set to
/mnt/myraid/beegfs_storage
, before starting up the beegfs-storage
daemon for the first time you
would run the following commands:
$ echo 1 > /mnt/myraid/beegfs_storage/nodeNumID
$ echo 1 > /mnt/myraid/beegfs_storage/targetNumID
The ID settings can be confirmed by checking the storage server logs (journalctl -u
beegfs-storage
) after starting up the daemon. Or by querying the management server:
$ beegfs node list --node-type=storage --debug
$ beegfs target list --node-type=storage --debug