This role allows users to configure local storage with minimal input.
As of now, the role supports managing file systems and mount entries on
- unpartitioned disks
- lvm (unpartitioned whole-disk physical volumes only)
The device_type
specifies the type of device on which the file system will reside.
Valid values for device_type
: lvm
(the default) or disk
.
The disks
specifies the set of disks to use as backing storage for the file system.
This is relevant for all values of device_type
.
The size
specifies the size of the file system. The format for this is intended to
be human-readable, eg: "10g", "50 GiB", or "100%" (use all available space on the
specified disks).
The device_name
specifies the name of the block device. This is only applicable
for values of device_type
that allow user-specified names, such as lvm
.
The fs_type
indicates the desired file system type to use, eg: "xfs"(the default),
"ext4", "swap".
The fs_label
is a string to be used for a file system label.
The fs_create_options
specifies custom arguments to mkfs
as a string.
The mount_point
specifies the directory on which the file system will be mounted.
The mount_options
specifies custom mount options as a string, eg: 'ro'.
The lvm_vg
specifies the name of the LVM volume group to manage/create as a
string.
---
- hosts: all
tasks:
- include_role:
name: storage
vars:
device_name: "shared"
size: "100g"
#device_type: lvm
disks: "{{ app_data_wwns }}"
#fs_type: "xfs"
mount_point: "{{ app_root }}/shared"
lvm_vg: "{{ app_name }}"
state: present
- include_role:
name: storage
vars:
device_name: "users"
size: "400g"
disks: "{{ app_data_wwns }}"
fs_type: "ext4"
fs_mount_point: {{ app_root }}/users
lvm_vg: "{{ app_name }}"
state: present
- include_role:
name: storage
vars:
disks: ["mpathc"]
mount_point: "/opt/images"
fs_label: "images"
MIT