Ansible Role for ZFS on Fedora, Red Hat/derivatives, Debian, or Ubuntu
| .github/workflows | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| vars | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| requirements.yml | ||
zfs_dkms
Ansible Role for ZFS on Fedora, Red Hat/derivatives, Debian, or Ubuntu.
Role Variables
| Variable | Description | Role Default | Upstream Default |
|---|---|---|---|
zfs_dkms_arc_pct_min |
Minimum physical memory (%) for ARC. (Adaptive Read Cache) |
0 |
0 |
zfs_dkms_arc_pct_max |
Peak physical memory (%) for ARC. | 16 |
0 |
zfs_dkms_timeout |
Seconds to wait while rebooting Fedora, RHEL, or derivatives for kernel/header currency. Not applicable to Debian or Ubuntu.Skipped when zfs is already loaded. |
3600 |
N/A |
Dependencies
community.general:rhsm_repository,dnf_config_manager, andmodprobe
Example Playbook
---
- name: ZFS + Pool
hosts: all
vars:
zfs_mirror_disks: # see NOTE below
- /dev/disk/by-id/ata-WDC_WD120EFBX-ABCDEFG_12345678
- /dev/disk/by-id/ata-WDC_WD120EFBX-HIJKLMN_87654321
roles:
- name: zfs_dkms # this role, installs/builds ZFS
vars:
zfs_dkms_arc_pct_max: 33
tasks:
- name: "Pool (mirror, 'rust')" # see also: 'community.general.zfs'
when: zfs_mirror_disks is defined
community.general.zpool:
name: rust
pool_properties:
ashift: 12
filesystem_properties:
compression: lz4
vdevs:
- type: mirror
disks: "{{ zfs_mirror_disks }}" # reminder: 'host_vars'/inventory, host-specific
become: true
NOTE: It is not recommended to inline zfs_mirror_disks or zfs_dkms_arc_pct_max as this example shows.
Values are expected to be unique among hosts [or groups].
Use the
inventory
or host/group
vars instead.