You need one mgmtd server:
class { 'beegfs::mgmtd': }
in order to accept new storage and meta servers you have to (at least temporarily) enable allow_new_servers
and allow_new_targets
.
And probably many storage and meta servers:
class { 'beegfs::meta':
mgmtd_host => 192.168.1.1,
}
class { 'beegfs::storage':
mgmtd_host => 192.168.1.1,
}
It's easier to define shared settings for all servers at one place (Hiera, e.g. default.yaml
):
beegfs::mgmtd_host: '192.168.1.1'
so that you don't have to specify mgmtd_host
for each component.
defining a mount
beegfs::mount { '/mnt/share':
user => 'beegfs',
group => 'beegfs',
}
defining a second mount to a different management server
beegfs::mount { '/mnt/work':
client_cfg => '/etc/beegfs/beegfs-client-work.conf',
mgmtd_host => 'workmgmt.example.edu',
}
For meta and storage nodes you can specify interfaces for commutication. The passed argument must be an array.
class { 'beegfs::meta':
mgmtd_host => 192.168.1.1,
interfaces => ['eth0', 'ib0'],
}
class { 'beegfs::storage':
mgmtd_host => 192.168.1.1,
interfaces => ['eth0', 'ib0']
}
All configuration could be specified in Hiera config files. Some settings are shared between all components, like:
beegfs::mgmtd_host: '192.168.1.1'
beegfs::mgmtd::allow_new_servers: true
beegfs::mgmtd::allow_new_targets: true
beegfs::major_version: '6'
version could be also defined exactly, like:
beegfs::version: '2015.03.r9.debian7'
for module specific setting use correct namespace, e.g.:
beegfs::meta::interfaces:
- 'eth0'
Recent releases of Linux Kernel might include "deterministic interfaces naming" (like enp0s31f6
) that requires specifying which interface should be BeeGFS instances using:
beegfs::client::interfaces:
- "%{facts.networking.primary}"
beegfs::meta::interfaces:
- "%{facts.networking.primary}"
beegfs::storage::interfaces:
- "%{facts.networking.primary}"
- Ruby 1.9 or newer
- at least Puppet 4.0 and < 6.0
Apache License, Version 2.0