La partition système EFI peut-elle être RAIDée?

12

Je configure 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 utilisant mdadm? J'espère que la version 1.0 des métadonnées (à la fin du disque) le permettra.

En outre, que doit également être défini «périphérique pour l'installation du chargeur de démarrage», ou cela s'applique-t-il uniquement aux disques MBR?

Andrew
la source

Réponses:

6

Comme vous le dites, les métadonnées mdadm ver. 1.0 fait le travail.

J'ai réussi à obtenir une configuration de travail 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. Laissez l'exemple RAID1 sur deux disques. 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 disque et utilisé pour la partition ESP. Le reste de la capacité des disques peut être utilisé de n'importe quelle manière, par exemple en RAID1 également. Que le premier RAID soit /dev/md/efiet le second /dev/md/data. /dev/md/efine doit pas utiliser d'étiquettes de partitionnement, telles que MBR ou GPT. /dev/md/datapeut être partitionné ultérieurement ou utilisé comme LVM pv. 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. 1.0 a une fonctionnalité simple: son superbloc est stocké à la fin de la partition RAID, de sorte que le BIOS peut détecter la partition FAT32 ordinaire avec les drapeaux ESP et BOOT. Rien n'empêche donc 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 des supports amovibles, car il efibootmgressaie de faire démarrer le BIOS directement à partir du mdpériphérique, non sdX. Cela peut être fait en utilisant grub-installavec --removableflag.

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 quoi que je fasse.

Gleb Mayorov
la source
Je me demande également ce qui se passe si votre BIOS écrit sur l'une des partitions
sourcejedi
Qu'en est-il de mdadm 0.90 qui devrait prendre en charge les anciens grub ( lire ceci )? Peut-être que cela fonctionnera pour ASUS P8Z68.
hrvoj3e
Je l'ai testé et cela n'est possible qu'avec la version 1.0 des métadonnées MD car la partition ESP reste en GPT et les métadonnées sont stockées derrière. Avec la version 2.0 des métadonnées, la partition est intégrée au superbloc MD, de sorte que le micrologiciel ne peut pas la détecter.
Kouros
5

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 si par exemple GRUB est stocké directement à la place de /boot/grub/. Le contenu ne change généralement pas, il n'est donc pas nécessaire de RAID la partition. La possession de plusieurs copies de la partition sur différents disques nécessiterait également la définition des entrées de démarrage UEFI efibootmgr; généralement GRUB initialise cela en fonction de la partition montée de /boot/efi/.

Il semble donc que ce soit à la fois pas nécessaire et pas facile à faire.

Andrew
la source
1
Mais disons que vous voulez avoir raid1 juste pour la sécurité si un disque tombe en panne. Serait "et pas facile à faire." signifie que c'est possible?
zidarsk8
Qu'en est-il de tous ces guides qui montrent à la fois une partition de démarrage et une partition système efi?
CMCDragonkai
4

Je pense que la réponse courte est: Non, les partitions système EFI (ESP) ne peuvent pas être RAID-ed. Cependant, vous pouvez toujours obtenir des avantages de type RAID si vous clonez l'ESP entre vos disques RAID et ajoutez les deux partitions dans 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? .

Niclas Börlin
la source
Que suggéreriez-vous pour être le meilleur moyen de synchroniser chaque partition /bootsi vous apportez des modifications telles que l'ajout d'un nouveau noyau ... etc?
CMCDragonkai
Tu n'es pas obligé! Voir mon commentaire sur askubuntu.com/questions/660023/… .
Niclas Börlin
2

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

Samuel Jackson
la source