97 lines
2.5 KiB
YAML
97 lines
2.5 KiB
YAML
---
|
|
- name: zfs - linux-headers
|
|
package: name=linux-headers-{{ ansible_kernel }}
|
|
|
|
- name: zfs - install ZoL dkms
|
|
package: name=zfs-dkms
|
|
|
|
- name: zfs - install ZoL utils
|
|
package: name=zfsutils-linux
|
|
|
|
- name: zfs - install zfs-auto-snapshot
|
|
package: name=zfs-auto-snapshot
|
|
|
|
- name: zfs - zfs-auto-snapshot find cron files
|
|
shell: find /etc/cron* -type f -name zfs-auto-snapshot
|
|
register: snapshot_cron
|
|
changed_when: False
|
|
|
|
- name: zfs - zfs-auto-snapshot prefix
|
|
lineinfile:
|
|
path: "{{ item }}"
|
|
regexp: (.*zfs-auto-snapshot.*\d+)\ \ \/\/
|
|
line: \1 --prefix= //
|
|
backrefs: yes
|
|
with_items: "{{ snapshot_cron.stdout_lines }}"
|
|
when: snapshot_cron.stdout_lines is defined
|
|
|
|
- name: zfs - load module
|
|
modprobe: name=zfs
|
|
notify: zfs restart
|
|
|
|
- name: zfs - set quota
|
|
zfs:
|
|
name: "{{ item.name }}"
|
|
state: present
|
|
extra_zfs_properties:
|
|
quota: "{{ item.quota }}"
|
|
with_items:
|
|
- { name: zv1/homes, quota: "1T" }
|
|
- { name: zv1/daten, quota: "1T" }
|
|
- { name: zv1/fotos, quota: "1T" }
|
|
|
|
- name: zfs - install nfs-kernel-server
|
|
package: name=nfs-kernel-server
|
|
|
|
- name: zfs - sharenfs
|
|
zfs:
|
|
name: "{{ item.name }}"
|
|
state: present
|
|
extra_zfs_properties:
|
|
sharenfs: "{{ item.opts }}"
|
|
with_items:
|
|
- { name: zv1/homes, opts: "rw=@192.168.86.0/24,insecure,sync,no_subtree_check,root_squash,no_wdelay" }
|
|
- { name: zv1/daten, opts: "rw=@192.168.86.0/24,insecure,sync,no_subtree_check,root_squash,crossmnt" }
|
|
- { name: zv1/fotos, opts: "rw=@192.168.86.0/24,insecure,sync,no_subtree_check,root_squash,crossmnt" }
|
|
|
|
- name : zfs - zfs_mount.sh
|
|
copy: src=zfs_mount.sh dest=/usr/local/bin/ owner=root group=root mode=0755
|
|
|
|
- name : zfs - zfs_health.sh
|
|
copy: src=zfs_health.sh dest=/usr/local/bin/ owner=root group=root mode=0755
|
|
|
|
- name: zfs - zfs_health cronjob
|
|
cron:
|
|
name: zfs check health
|
|
minute: 0
|
|
hour: "7,11,16"
|
|
job: "/usr/local/bin/zfs_health.sh"
|
|
|
|
- name: zfs - pool scrub cronjob for zv1
|
|
cron:
|
|
name: zfs scrub zv1
|
|
minute: 5
|
|
hour: 2
|
|
weekday: 1
|
|
job: "/sbin/zpool scrub zv1"
|
|
|
|
- name: zfs - pool scrub cronjob for ssd
|
|
cron:
|
|
name: zfs scrub ssd
|
|
minute: 5
|
|
hour: 2
|
|
weekday: 0
|
|
job: "/sbin/zpool scrub ssd"
|
|
|
|
- name: zfs - chmod cronjob for daten and fotos
|
|
cron:
|
|
name: chmod daten and fotos
|
|
minute: "*/30"
|
|
job: "/bin/chmod -c -R ug+rwX,o-wx,o+rX /zv1/daten/ /zv1/fotos/ >> /var/log/chmod"
|
|
|
|
- name: zfs - chgrp cronjob for daten and fotos
|
|
cron:
|
|
name: chgrp daten and fotos
|
|
minute: "*/30"
|
|
job: "/bin/chgrp 2000 -R /zv1/daten/ /zv1/fotos/"
|