Table des matières
RAID MDADM de la partition EFI
Cette documentation est une synthèse de cet article: https://std.rocks/fr/gnulinux_mdadm_uefi.html
Pour faire en sorte de mettre la partition EFI en RAID 1 avec MDADM, il faut évidement que les deux disques aient une partition de même taille, et on va assumer que la partition EFI est déjà en place sur /dev/sda1.
Création du RAID
Pour commencer, on va créer le RAID en mode détérioré avec la partition libre :
# mdadm --create /dev/md/1 --level 1 --raid-disks 2 --metadata 1.0 /dev/sdb1 missing
L'usage de metadata 1.0 est extrêmement importante, car celle-ci sont à la fin de la partition, rendant lisible la partition par le BIOS sans monter le RAID.
ensuite, on créer le système de fichier :
# mkfs.fat -F32 /dev/md/1
puis on monte la partition :
# mount /dev/md/1 /tmp/efi
et on synchronise les données EFI sur cette partition :
# rsync -av /boot/efi/ /tmp/efi/
ensuite on démonte les partitions:
# umount /boot/efi
# umount /tmp/efi
et on monte la partition
# mount /dev/md/1 /boot/efi
Ensuite on re-ajoute la partition de /dev/sda1 au RAID :
# mdadm --manage /dev/md/1 --add /dev/sda1
et pour il faut ajouter la partition dans la configuration mdadm:
# mdadm --detail --scan /dev/md/1 >> /etc/mdadm/mdadm.conf
Configuration des entrées EFI dans le BIOS
Maintenant on va passer à l'étape délicate, configurer le BIOS. Il vous faudra pour ça l'utilitaire efibootmgr.
Pour commencer on va récupérer la liste des entrées EFI avec la commande :
# efibootmgr -v
Voici un exemple de retour :
BootCurrent: 0007 BootOrder: 0007,0002,0004,0008 Boot0002* Embedded NIC 1 Port 1 Partition 1 VenHw(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) Boot0004* USB Placeholder VenHw(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) Boot0007* debian HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0xwwwwww)/File(\EFI\debian\shimx64.efi) Boot0008* EFI Fixed Disk Boot Device 1 PciRoot(0x1)/Pci(0x2,0x0)/Pci(0x0,0x0)/Ctrl(0x1)/SCSI(0,0)/HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0xwwwwww) MirroredPercentageAbove4G: 0.00 MirrorMemoryBelow4GB: false
On va donc supprimer l'entrée debian
# efibootmgr -B -b 0007
puis créer les deux entrées, une pour chaque disque :
# efibootmgr --create --disk /dev/sda --part 1 --label "debian sda1" --loader "\EFI\debian\shimx64.efi"
# efibootmgr --create --disk /dev/sdb --part 1 --label "debian sdb1" --loader "\EFI\debian\shimx64.efi"
Vous pouvez désormais re-vérifier les entrées EFI, elles devraient apparaitre et le Boot Order devrait aussi être ajusté.
Configurer le fstab
Ensuite, il faut aller modifier /etc/fstab, et mettre l'UUID de la partition /dev/md/1. Pour récupérer l'UUID il faut taper la commande :
# blkid /dev/md/1
et mettre la valeur UUID a la place de celle de la partition /boot/efi dans le fichier /etc/fstab.
Et pour finir lancer les commandes:
# systemctl daemon-reload
# update-initramfs -u
Et c'est tout, vous pouvez redémarrer en espérant que tout fonctionne bien.