diff options
author | Christian Pointner <equinox@spreadspace.org> | 2019-10-10 21:47:17 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2019-10-10 21:47:17 +0200 |
commit | d0c37df615274cdbe44d634615e198253407128f (patch) | |
tree | 79dd4463c8403c4e109cba9a72dc86aa126fa4c2 | |
parent | docker: refactor lvm handling (diff) |
zfs: refactor zpool config
-rw-r--r-- | inventory/host_vars/sk-2019.yml | 7 | ||||
-rw-r--r-- | inventory/host_vars/sk-2019vm.yml | 7 | ||||
-rw-r--r-- | inventory/host_vars/sk-cloudia.yml | 7 | ||||
-rw-r--r-- | roles/zfs/base/defaults/main.yml | 13 | ||||
-rw-r--r-- | roles/zfs/base/tasks/main.yml | 9 |
5 files changed, 28 insertions, 15 deletions
diff --git a/inventory/host_vars/sk-2019.yml b/inventory/host_vars/sk-2019.yml index 80491c40..f59bdc64 100644 --- a/inventory/host_vars/sk-2019.yml +++ b/inventory/host_vars/sk-2019.yml @@ -25,9 +25,10 @@ cryptdisk_volumes: device: /dev/disk/by-id/nvme-eui.0025388791050fdc-part3 -zfs_zpool_name: storage -zfs_zpool_mountpoint: /srv/storage -zfs_zpool_create_vdevs: mirror /dev/mapper/crypto-nvme0 /dev/mapper/crypto-nvme1 +zfs_zpools: + storage: + mountpoint: /srv/storage + create_vdevs: mirror /dev/mapper/crypto-nvme0 /dev/mapper/crypto-nvme1 # zfs_arc_size: # min: "{{ 2 * 1024 * 1024 * 1024 }}" diff --git a/inventory/host_vars/sk-2019vm.yml b/inventory/host_vars/sk-2019vm.yml index 0b321061..766be5fc 100644 --- a/inventory/host_vars/sk-2019vm.yml +++ b/inventory/host_vars/sk-2019vm.yml @@ -39,9 +39,10 @@ cryptdisk_volumes: device: /dev/disk/by-id/nvme-eui.0025388291b201cb-part3 -zfs_zpool_name: storage -zfs_zpool_mountpoint: /srv/storage -zfs_zpool_create_vdevs: mirror /dev/mapper/crypto-nvme0 /dev/mapper/crypto-nvme1 +zfs_zpools: + storage: + mountpoint: /srv/storage + create_vdevs: mirror /dev/mapper/crypto-nvme0 /dev/mapper/crypto-nvme1 zfs_arc_size: min: "{{ 2 * 1024 * 1024 * 1024 }}" diff --git a/inventory/host_vars/sk-cloudia.yml b/inventory/host_vars/sk-cloudia.yml index 1f4c542b..0869c2c8 100644 --- a/inventory/host_vars/sk-cloudia.yml +++ b/inventory/host_vars/sk-cloudia.yml @@ -9,9 +9,10 @@ install: network: {} -zfs_zpool_name: storage -zfs_zpool_mountpoint: /srv/storage -zfs_zpool_create_vdevs: mirror nvme0n1p3 nvme1n1p3 +zfs_zpools: + storage: + mountpoint: /srv/storage + create_vdevs: mirror nvme0n1p3 nvme1n1p3 zfs_arc_size: min: "{{ 2 * 1024 * 1024 * 1024 }}" 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 }}" |