% mdadm et RAID

# Suppression

```bash
mdadm --detail /dev/md0
mdadm --stop /dev/md0
```

Sur chaque disque correspondant:

```
mdadm --zero-superblock /dev/sdAX
```

## 1:  Vérifier la présence du RAID dans initramfs

GRUB doit connaître le RAID pour charger le noyau.

```
`cat /etc/mdadm/mdadm.conf
`

```

Assure-toi qu'il contient bien une ligne similaire :

```
`ARRAY /dev/md0 metadata=1.2 UUID=xxxxxxxx:xxxxxxxx:xxxxxxxx:xxxxxxxx
`

```

Sinon, régénère-le :

```
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
update-initramfs -u


```

* * * *

## 2:  Vérifier l'installation de GRUB sur **tous les disques**

Sur un système en RAID1, GRUB doit être écrit sur **les deux disques** :

```
`grub-install /dev/sda
grub-install /dev/sdb
update-grub
`

```

Ensuite, vérifie :

```
`lsblk -f
`

```

et assure-toi que `/boot` (ou `/boot/md0`) est bien monté avant `update-grub`.

* * * *

## 3:  Vérifier le mode BIOS / UEFI

| Mode | Vérification | Commande / Action |
| --- |  --- |  --- |
| BIOS (Legacy) | GRUB s'installe dans le MBR de chaque disque | `grub-install /dev/sda` puis `/dev/sdb` |
| --- |  --- |  --- |
| UEFI | Une partition EFI (FAT32) doit exister et être montée sur `/boot/efi` | `ls /boot/efi/EFI` et vérifier la présence du dossier `debian` |

Si l'un des disques n'a pas de partition EFI :

-   recrée une partition EFI sur le second disque (même taille que la première) ;

-   synchronise le contenu :

-   ```
    `mkdir -p /mnt/efi2
    mount /dev/sdb1 /mnt/efi2
    rsync -a /boot/efi/ /mnt/efi2/
    umount /mnt/efi2
    `

    ```

* * * *

## 4:  Vérifier les UUID dans `/etc/fstab`

Un mauvais UUID peut empêcher `/boot` ou `/boot/efi` d'être monté, bloquant GRUB.

Commande :

```
`blkid
cat /etc/fstab
`

```

Compare les UUIDs : ils doivent correspondre aux bons volumes (`/dev/md0`, `/dev/sda1`, `/dev/sdb1`, etc.).
Aucun `UUID` d'un ancien RAID ne doit subsister.

* * * *

## 5:  Vérifier la métadonnée RAID du `/boot`

GRUB ne lit pas les métadonnées récentes (v1.2) au tout début du disque.
Si ton `/boot` est sur RAID1, **assure-toi qu'il utilise le format 0.9 ou 1.0**, pas 1.2 :

```
`mdadm --detail /dev/md0 | grep Version
`

```

Si c'est 1.2, recrée `/boot` ainsi :

```
`mdadm --create /dev/md0 --level=1 --raid-devices=2 --metadata=1.0 /dev/sda1 /dev/sdb1
`

```

Puis réinstalle GRUB.

* * * *

## 6:  Vérifier la séquence de boot dans le BIOS/UEFI

Chaque disque doit être amorçable.
Dans le BIOS :

-   active le mode "Boot from both drives" ou "Legacy+UEFI" selon le cas ;

-   place `/dev/sda` et `/dev/sdb` dans la liste d'amorçage.

* * * *

## 7:  Vérification finale

```
`mdadm --detail /dev/md0
cat /proc/mdstat
grub-probe /
grub-probe /boot
`

```

Les commandes `grub-probe` ne doivent pas renvoyer d'erreur ("disk not found").
