Skip to content

unlhcc/puppet-beegfs

 
 

Repository files navigation

puppet-beegfs

Puppet Forge Build Status Puppet Forge Downloads

Usage

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',
}

Interfaces

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']
}

Hiera support

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}"

Requirements

  • Ruby 1.9 or newer
  • at least Puppet 4.0 and < 6.0

License

Apache License, Version 2.0

About

Manage BeeGFS parallel system installations.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 80.7%
  • Ruby 11.8%
  • Puppet 7.5%