Skip to content

unlhcc/puppet-beegfs

This branch is 36 commits ahead of, 148 commits behind deric/puppet-beegfs:master.

Folders and files

NameName
Last commit message
Last commit date
Mar 13, 2016
Mar 13, 2016
May 23, 2024
Sep 7, 2017
May 23, 2024
Mar 13, 2016
Nov 3, 2016
Mar 13, 2016
Sep 7, 2017
Nov 3, 2016
Sep 7, 2017
Mar 13, 2016
Jan 16, 2018
Mar 13, 2016
Jan 16, 2018
Sep 7, 2017
Mar 13, 2016
Mar 13, 2016
Sep 7, 2017
Apr 24, 2019
Apr 24, 2017
Jan 16, 2018

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%