mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-09 21:34:41 +02:00
La tâche "Mount RAID5 array (fstab + immediate)" écrasait l'entrée fstab bind-mount (/home/data → /srv/data) et remontait le RAID à chaque apply. - Suppression de ansible.posix.mount state=mounted pour le RAID - La tâche mdadm.conf devient conditionnelle (when: stdout non vide) et failed_when: false pour ne pas bloquer si le RAID n'est pas assemblé - Ajout d'un sanity-check : vérifie que /srv/data est un répertoire - Commentaires explicatifs dans tasks/ et defaults/ pour prévenir toute régression future Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
84 lines
2.2 KiB
YAML
84 lines
2.2 KiB
YAML
---
|
|
# NOTE ARCHITECTURE (2026-05-29) :
|
|
# /srv/data est maintenant un bind-mount de /home/data (LV NVMe almalinux-home).
|
|
# Le RAID5 md0 n'est PLUS monté sur /srv/data — ne jamais remettre une entrée
|
|
# UUID=3add8360 dans fstab ni utiliser ansible.posix.mount state=mounted ici.
|
|
# fstab actuel : /home/data /srv/data none bind 0 0
|
|
|
|
- name: Install nfs-utils and mdadm
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- nfs-utils
|
|
- mdadm
|
|
state: present
|
|
|
|
# --- RAID persistence (surveillance seulement — array non monté) ---
|
|
|
|
- name: Capture mdadm array state
|
|
ansible.builtin.shell:
|
|
cmd: mdadm --detail --scan
|
|
register: mdadm_scan
|
|
changed_when: false
|
|
failed_when: false
|
|
|
|
- name: Write /etc/mdadm.conf (si array détecté)
|
|
ansible.builtin.copy:
|
|
content: "{{ mdadm_scan.stdout }}\n"
|
|
dest: /etc/mdadm.conf
|
|
mode: '0644'
|
|
when: mdadm_scan.stdout | length > 0
|
|
notify: Rebuild initramfs
|
|
|
|
# --- /srv/data géré par fstab (bind-mount NVMe) ---
|
|
# La tâche "Mount RAID5 array" a été supprimée le 2026-05-29.
|
|
# /srv/data est monté via fstab au boot. On vérifie juste que le point de
|
|
# montage existe — Ansible ne touche pas au fstab ni au montage.
|
|
|
|
- name: Ensure /srv/data is a directory (sanity check)
|
|
ansible.builtin.file:
|
|
path: "{{ raid_mount }}"
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
# --- Répertoires NFS ---
|
|
|
|
- name: Create NFS export directories
|
|
ansible.builtin.file:
|
|
path: "{{ item.path }}"
|
|
state: directory
|
|
mode: '0755'
|
|
owner: nobody
|
|
group: nobody
|
|
loop: "{{ nfs_exports }}"
|
|
|
|
# --- NFS server ---
|
|
|
|
- name: Deploy /etc/exports
|
|
ansible.builtin.template:
|
|
src: exports.j2
|
|
dest: /etc/exports
|
|
mode: '0644'
|
|
notify:
|
|
- Reload exports
|
|
- Restart nfs-server
|
|
|
|
- name: Enable and start nfs-server
|
|
ansible.builtin.systemd:
|
|
name: nfs-server
|
|
enabled: true
|
|
state: started
|
|
|
|
# --- Firewall ---
|
|
|
|
- name: Allow NFS through firewall (firewalld uniquement, pas nftables)
|
|
ansible.posix.firewalld:
|
|
service: "{{ item }}"
|
|
permanent: true
|
|
state: enabled
|
|
immediate: true
|
|
loop:
|
|
- nfs
|
|
- mountd
|
|
- rpc-bind
|
|
when: ansible_facts.services['firewalld.service'] is defined
|
|
and ansible_facts.services['firewalld.service']['state'] == 'running'
|