zfs_dkms/README.md
2025-10-20 03:27:30 -05:00

2.3 KiB

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

  1. community.general: rhsm_repository, dnf_config_manager, and modprobe

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: see NOTE below
      become: true

NOTE: Not recommended to inline zfs_mirror_disks, zfs_dkms_arc_pct_max, or pool/filesystem properties. Values are expected to be unique among hosts [or groups].
Use the inventory or host/group vars instead.

License

MIT