diff options
Diffstat (limited to 'roles/zfs')
-rw-r--r-- | roles/zfs/base/defaults/main.yml | 13 | ||||
-rw-r--r-- | roles/zfs/base/tasks/main.yml | 9 |
2 files changed, 16 insertions, 6 deletions
diff --git a/roles/zfs/base/defaults/main.yml b/roles/zfs/base/defaults/main.yml index 06218f6b..f3dfbce9 100644 --- a/roles/zfs/base/defaults/main.yml +++ b/roles/zfs/base/defaults/main.yml @@ -2,9 +2,16 @@ 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 +# zfs_zpools: +# storage: +# mountpoint: /srv/storage +# create_vdevs: mirror sda sdb mirror sdc sdd log mirror nvme0n1p3 nvme1n1p3 cache nvme0n1p4 nvme1n1p4 +# test: +# mountpoint: /srv/storage +# create_vdevs: raidz sda sdb sdc sdd +# properties: +# ashift: 12 +# prop: value #zfs_arc_size: # min: {{ 2 * 1024 * 1024 * 1024 }} diff --git a/roles/zfs/base/tasks/main.yml b/roles/zfs/base/tasks/main.yml index 3f1e8416..0a968235 100644 --- a/roles/zfs/base/tasks/main.yml +++ b/roles/zfs/base/tasks/main.yml @@ -35,7 +35,10 @@ 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 }}" +- name: create zpools + loop: "{{ zfs_zpools | dict2items }}" + loop_control: + label: "{{ item.key }}" + command: "zpool create -m {{ item.value.mountpoint }} {% for prop, value in (item.value.properties | default(zfs_zpool_properties)).items() %}-o {{ prop }}={{ value }} {% endfor %}{{ item.key }} {{ item.value.create_vdevs }}" args: - creates: "{{ zfs_zpool_mountpoint }}" + creates: "{{ item.value.mountpoint }}" |