NCSA Common Puppet Profiles - install and configure LVM
This puppet profile installs LVM software and configures LVs on a node.
It sets NCSA-defaults for certain configs.
It generally assumes you will set up PVs and VGs manually but they could be configured with the underlying lvm Puppet module.
Include profile_lvm in a puppet profile file:
include ::profile_lvm
Define LVs (logical volumes) using the lvs param, which takes raw data in the format that the lvm module expects. For example:
profile_lvm::lvs:
"slurm":
mountpath: "/slurm"
size: "100G"
size_is_minsize: true
volume_group: "data"
Optionally define non-standard required packages or a custom default filesystem type:
profile_lvm::default_fs_type: "ext4"
profile_lvm::required_pkgs:
- "lvm2"
- "lvm2-devel"
Optionally define bindmounts from LVs (or sub-directories contained in LVs):
profile_lvm::bindmounts::map:
"/var/log/slurm":
src_lv: "slurm"
src_path: "/slurm/log"
"/var/spool/slurmctld.state":
src_lv: "slurm"
src_path: "/slurm/slurmctld.state"
puppet/lvm (assumes use of this NCSA fork)
See: REFERENCE.md