diff options
author | Christian Pointner <equinox@spreadspace.org> | 2019-09-13 22:46:27 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2019-09-13 22:46:27 +0200 |
commit | 1c310987cb3783d0c8b3031c03e0598048463a5a (patch) | |
tree | ee5b716ec90a6753605b76e470d25b716bc7aced /roles/zfs/base | |
parent | vm: disk on zfs volumes (diff) |
added sk-2019
Diffstat (limited to 'roles/zfs/base')
-rw-r--r-- | roles/zfs/base/defaults/main.yml | 7 | ||||
-rw-r--r-- | roles/zfs/base/meta/main.yml | 3 | ||||
-rw-r--r-- | roles/zfs/base/tasks/main.yml | 33 |
3 files changed, 43 insertions, 0 deletions
diff --git a/roles/zfs/base/defaults/main.yml b/roles/zfs/base/defaults/main.yml new file mode 100644 index 00000000..917f3d84 --- /dev/null +++ b/roles/zfs/base/defaults/main.yml @@ -0,0 +1,7 @@ +--- +zfs_zpool_properties: + ashift: 12 + +# zfs_zpool_name: storage +# zfs_zpool_mountpoint: /srv/storage +# zfs_zpool_create_vdevs: mirror sda sdb mirror sdc sdd log mirror nvme0n1p3 nvme1n1p3 cache nvme0n1p4 nvme1n1p4 diff --git a/roles/zfs/base/meta/main.yml b/roles/zfs/base/meta/main.yml new file mode 100644 index 00000000..300d0ccf --- /dev/null +++ b/roles/zfs/base/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: +- role: prepare-dkms diff --git a/roles/zfs/base/tasks/main.yml b/roles/zfs/base/tasks/main.yml new file mode 100644 index 00000000..cddfbb09 --- /dev/null +++ b/roles/zfs/base/tasks/main.yml @@ -0,0 +1,33 @@ +--- +## TODO: @debian: make sure contrib repo is added + +- name: install zfs packages + apt: + name: zfs-dkms + state: present + +- name: check if module is available for the currently running kernel + command: modprobe --dry-run zfs + check_mode: no + register: zfs_module_available + failed_when: false + changed_when: false + +- name: rebuild zfs module + when: zfs_module_available.rc != 0 + command: dpkg-reconfigure zfs-dkms + +- name: load zfs kernel module + modprobe: + name: zfs + state: present + +- name: install zfs file system utilities + apt: + name: zfsutils-linux + state: present + +- name: create zpool + command: "zpool create -m {{ zfs_zpool_mountpoint }} {% for prop, value in zfs_zpool_properties.items() %}-o {{ prop }}={{ value }} {% endfor %}{{ zfs_zpool_name }} {{ zfs_zpool_create_vdevs }}" + args: + creates: "{{ zfs_zpool_mountpoint }}" |