e4_computer_engineering.beegfs.metad role – Configure Beegfs Metadata services

Note

This role is part of the e4_computer_engineering.beegfs collection (version 2.2.0).

It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it use: ansible-galaxy collection install e4_computer_engineering.beegfs.

To use it in a playbook, specify: e4_computer_engineering.beegfs.metad.

Entry point main – Configure Beegfs Metadata services

New in e4_computer_engineering.beegfs 1.0.0

Synopsis

  • Install and configure Beegfs metadata services.

Parameters

Parameter

Comments

metad_auth_file_path

string

The location on local filesystem to deploy the connection auth file from

Default: "{{ role_path }}/files/conn.auth"

metad_beegfs_version

string / required

The Beegfs version that will be used https://doc.beegfs.io/latest/release_notes.html

Choices:

  • "7.4.1"

  • "7.4.2"

  • "7.4.3"

  • "7.4.4"

  • "7.4.5"

  • "7.4.6"

  • "8.1"

  • "8.2"

metad_filesystem_bytes_per_inode

integer

Bytes per inode ratio for ext4 filesystem

Default: 2048

metad_filesystem_features

string

Filesystem features to enable for ext4

Default: "dir_index,large_dir,filetype"

metad_filesystem_inode_size

integer

Inode size in bytes for the filesystem

Default: 512

metad_filesystem_journal_size

integer

Journal size in MB for ext4 filesystem

Default: 400

metad_filesystem_options

string

Mount options for the metadata filesystem

Default: "defaults,noatime,nodiratime,nofail"

metad_filesystem_purge

boolean

Whether to purge existing filesystem data before creating new filesystem

WARNING - This will destroy all data on the device

Choices:

  • false ← (default)

  • true

metad_filesystem_type

string

The filesystem type to use for metadata targets

Choices:

  • "ext4" ← (default)

  • "xfs"

metad_populate_etc_hosts

boolean

Whether to populate /etc/hosts file with Beegfs cluster nodes addresses

When enabled, all nodes in the inventory will be added to /etc/hosts

This is useful when DNS is not available or for testing environments

Not executed inside Docker/container environments

Choices:

  • false ← (default)

  • true

metad_server_targets

list / elements=dictionary

The list of metadata targets and their parameters for each metadata server

conn_interfaces

list / elements=string

The list of interfaces to use by the daemon

This list will be used in the `conn_interfaces_file`

Default: []

conn_metad_port_tcp

string

The TCP port at which the metadata service is responding at

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "8015"

conn_metad_port_udp

string

The TCP port at which the metadata service is responding at

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "8015"

conn_mgmtd_port_tcp

string

The TCP port at which the management service is responding at

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "8008"

conn_mgmtd_port_udp

string

The UDP port at which the management service is responding at

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "8008"

conn_rdma_buf_num

string

The RDMA buffer count allocated for the communication

conn_rdma_buf_num * conn_rdma_buf_size

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "70"

conn_rdma_buf_size

string

The RDMA buffer size allocated for communication

conn_rdma_buf_num * conn_rdma_buf_size

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "8192"

device

string / required

Name of the device that will mount the beegfs meta partition

Note that /dev/ must be omitted because it is already present in the path of the device

log_type

string

Where log entries for the Beegfs management daemon should go

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Choices:

  • "syslog" ← (default)

  • "file"

mirrorgroup_id

string

An ID that must be unique among metadata and storage target mirror group definitions

Even if Beegfs allows to have the same ID definition among metadata and storage mirrror groups we do not support it

You must specify the same mirrorgroup id in two and only two metadata target to have a mirror relationship created

The order in which the targets appear in the metad_server_targets structure defines if these are primaries or secondaries

Default: ""

quota_enable_enforcement

string

Enable the quota enforcement feature

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Choices:

  • "false" ← (default)

  • "true"

store_client_acls

string

Enable the ACL feature

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Choices:

  • "false" ← (default)

  • "true"

store_client_x_attrs

string

Enable the storing of extra attributes feature

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Choices:

  • "false" ← (default)

  • "true"

sys_mgmtd_host

string

The address at which the management service is responding at

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "localhost"

sys_target_offline_timeout_secs

string

The timeout in seconds for the metadata target to be considered “Offline”

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: "180"

target_id

string

The ID to assign to the metadata target object

Albeit not required by Beegfs, the ID needs to be unique in the cluster

The ID is used to create the target directory mountpoint `/data/beegfs_meta/t<target_id>`

Default: "1"

tune_bind_to_numa_zone

string

Bind the `beegfs-meta` daemon to a specific NUMA node

This option is used and documented in the file /etc/beegfs/beegfs-meta.conf

Default: ""

metad_start_services

boolean

Start the `beegfs-meta.service` or `beegfs-meta@.service`

Choices:

  • false

  • true ← (default)

Authors

  • Davide Obbi