web-dev-qa-db-fra.com

La partition système EFI peut-elle être mise en RAID?

Je suis en train de configurer un HTPC avec Ubuntu 64 bits, en utilisant UEFI et RAID avec des disques GPT.

Est-il possible que la partition système EFI (type de partition 0xEF00) fasse partie d'une matrice RAID1 à l'aide de mdadm? J'espère que les métadonnées version 1.0 (à la fin du disque) le permettront.

En outre, que doit également définir "périphérique pour l'installation du chargeur de démarrage", ou est-ce que cela s'applique uniquement aux disques MBR?

10
Andrew

Après beaucoup d'expérimentation, je pense que c'est la réponse:

La partition système EFI (généralement montée sur /boot/efi/) ne contient pas beaucoup de fichiers, sauf par exemple. GRUB est stocké directement là-bas au lieu de /boot/grub/. Le contenu ne change généralement pas, il n’est donc pas nécessaire de mettre la partition en RAID. Avoir plusieurs copies de la partition sur différents disques nécessiterait également que les entrées de démarrage UEFI soient définies avec efibootmgr; généralement GRUB initialise cette opération en fonction de la partition montée de /boot/efi/.

Il semble donc que ce ne soit pas nécessaire ni nécessaire à la fois.

5
Andrew

Comme vous le dites, mdadm metadata ver. 1.0 fait le travail.

J'ai réussi à obtenir une configuration fonctionnelle que le GA-C1037UN-EU EFI de Gigabyte a pu démarrer. Cette configuration est limitée à RAID1 pour la partition ESP, mais permet d'utiliser n'importe quelle configuration RAID pour le reste des partitions. Prenons l'exemple de RAID1 sur deux lecteurs. Chaque disque est partitionné de la manière suivante:

sda (gpt)
--sda1 (512MB)
  mdadm array member with 1.0 metadata format
  boot and esp flags set
--sda2 (rest of disk)
  mdadm array member with 1.2 metadata format

Premier RAID créé sur des partitions sdX1 sur chaque lecteur et utilisé pour la partition ESP. La capacité restante des disques peut être utilisée de différentes manières, par exemple en RAID1. Laissez le premier RAID être /dev/md/efi et le second /dev/md/data. /dev/md/efi ne doit utiliser aucune étiquette de partitionnement, telle que MBR ou GPT. /dev/md/data peut être partitionné ultérieurement ou utilisé comme pv LVM. Par exemple:

/dev/md/efi
--fat32 fs, mounting to /boot/efi/
/dev/md/data
--/dev/md/data1
  linux swap partition
--/dev/md/data2
  ext4 root partition
  ... (other needed partitions)

Métadonnées ver. La version 1.0 a une caractéristique simple: son superbloc est stocké à la fin de la partition RAID, ce qui permet au BIOS de détecter une partition FAT32 simple avec les indicateurs ESP et BOOT. Donc, rien n'empêche le BIOS de rechercher EFI/BOOT/BOOTX64.EFI sur cette partition et de démarrer à partir de celle-ci.

La principale limitation de cette méthode est que GRUB doit être configuré pour installer le fichier EFI amorçable dans le chemin d'accès au support amovible, car efibootmgr tente de faire démarrer le BIOS directement à partir du périphérique md, et non sdX. Cela peut être fait en utilisant grub-install avec le drapeau --removable.

UPD. Il y a des problèmes de compatibilité. J'ai essayé la même configuration sur la carte mère ASUS P8Z68-V PRO/GEN3. Le système ne démarre pas, peu importe ce que je fais.

4
Gleb Mayorov

Je pense que la réponse courte est: non, les partitions système EFI (ESP) ne peuvent pas être RAID-ed. Toutefois, vous pouvez toujours obtenir des avantages similaires à ceux du RAID si vous clonez le ESP entre vos disques RAID et ajoutez les deux partitions à la chaîne de démarrage EFI. Pour plus de détails, voir Comment installer Ubuntu 14.04 64 bits avec une partition RAID 1 à double démarrage sur un système UEFI/GPT? .

4
Niclas Börlin

Non, ce n'est pas encore possible, la plupart des cartes mères qui ont UEFI peuvent lire un nombre limité de types de partition pour EFI (par exemple, FAT32) et le RAID n'en fait pas partie.

2
Samuel Jackson