- hosts: minio-backups gather_facts: true tasks: - name: ensure mdadm is installed package: name: mdadm state: present tags: - install - name: ensure usb hdd partitions are removed command: wipefs -fa {{ item }} args: removes: '{{ item }}-part1' loop: '{{ raid_disks }}' tags: - wipefs - name: ensure md raid array exists command: >- systemd-cat -t mdadm mdadm --create --run --name={{ md_name }} --level=raid1 --raid-devices=2 /dev/md/{{ md_name }} {{ raid_disks | join(' ') }} args: creates: /dev/disk/by-id/md-name-{{ md_name }} tags: - mdadm - mdadm-create - name: ensure raid auto re-add udev rule exists copy: content: >+ ENV{ID_FS_LABEL}=="{{ md_name }}", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{ID_FS_USAGE}=="raid", RUN+="/usr/sbin/mdadm --re-add /dev/disk/by-id/md-name-{{ md_name }} $devnode" dest: /etc/udev/rules.d/80-{{ md_name }}.rules mode: u=rw,go=r owner: root group: root notify: - reload udev tags: - udev handlers: - name: reload udev command: udevadm control --reload