Files
ansible-fet/roles/ariane/tasks/zfs.yml
2018-07-13 11:47:21 +02:00

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/"