puppet-module-gpfs
Table of Contents
- Description
- Setup - The basics of getting started with gpfs
- Usage - Configuration options and additional functionality
- Reference - Module reference
Description
This module will manage GPFS.
Setup
What gpfs affects
At this time the module is capable of installing GPFS packages and managing ISKLM configurations as well as SSH key authorization for client root logins.
Usage
The class to include is based on a host's role:
gpfs::client
- GPFS clientsgpfs::server
- GPFS NSDsgpfs::ces
- GPFS CES nodesgpfs::gui
- GPFS GUI nodes
The class gpfs
is not intended to be included directly but instead configured via Hiera
NOTE: All usage examples will assume you're using Hiera to define data.
Repo configuration
The following is an example of configuring central YUM repository that hosts GPFS RPMs.
gpfs::repo_baseurl: 'https://repo.example.com/gpfs/4/$releasever/'
Clients
The following example will install packages necessary for GPFS client, configure SSH keys and enable ISKLM encryption.
gpfs_keystore_password: >
ENC[...]
gpfs::client::ssh_authorized_keys:
'root@gpfs':
key: 'AAAAB3Nza=='
gpfs::client::rkms:
'ISKLM_srv':
type: 'ISKLM'
kmip_server_uris:
- 'tls://isklm01:5696'
- 'tls://isklm02:5696'
key_store: '/var/mmfs/etc/RKMcerts/ISKLM.gpfs'
key_store_source: 'puppet:///modules/profile/gpfs/ISKLM.gpfs'
passphrase: "%{lookup('gpfs_keystore_password')}"
client_cert_label: 'gpfs'
tenant_name: 'GS_ISKLM'
Filesets and Fileset Quotas
This module provides native types for managing GPFS filesets and GPFS quotas. Each defaults to the shell
provider but there is also a rest_v2
provider.
NOTE: The rest_v2
provider is no longer tested or maintained
NOTE: The gpfs_fileset_quota
type is capable of managing user and group quotas but only fileset quotas have been tested in production.
Create a fileset and fileset quota:
gpfs_fileset { 'test':
ensure => 'present',
filesystem => 'project',
path => '/gpfs/project/test',
owner => 'user1:group1',
permissions => '0770',
max_num_inodes => 1000000,
alloc_inodes => 1000000,
}
gpfs_fileset_quota { 'test':
filesystem => 'project',
block_soft_limit => '5T',
block_hard_limit => '5T',
files_soft_limit => 1000000,
files_hard_limit => 1000000,
}