% mdadm et RAID
mdadm --detail /dev/md0
mdadm --stop /dev/md0
Sur chaque disque correspondant:
mdadm --zero-superblock /dev/sdAX
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
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.
| 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
`
/etc/fstabUn 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.
/bootGRUB 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.
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.
`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").