configpolicy/raid-array.yml

51 lines
1.2 KiB
YAML

- 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