A partição do sistema EFI pode ser RAID?


12

Estou configurando um HTPC com o Ubuntu de 64 bits, usando UEFI e RAID com discos GPT.

É possível que a partição do sistema EFI (tipo de partição 0xEF00) faça parte de uma matriz RAID1 usando mdadm? Espero que a versão 1.0 dos metadados (no final do disco) permita isso.

Além disso, o que o "dispositivo para instalação do carregador de inicialização" deve ser definido também ou isso se aplica apenas aos discos MBR?

Respostas:


6

Como você diz, mdadm ver metadados. 1.0 faz o trabalho.

Consegui obter uma configuração de trabalho que a EFI GA-C1037UN-EU EFI da Gigabyte foi capaz de inicializar. Essa configuração é limitada ao RAID1 para partição ESP, mas permite usar qualquer configuração RAID para o restante das partições. Vamos mostrar RAID1 em duas unidades como exemplo. Cada disco é particionado da seguinte maneira:

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

Primeiro RAID criado através de partições sdX1 em cada unidade e usado para a partição ESP. O restante da capacidade das unidades pode ser usado de qualquer maneira, por exemplo, no RAID1 também. Seja o primeiro RAID /dev/md/efie o segundo /dev/md/data. /dev/md/efinão deve usar rótulos de particionamento, como MBR ou GPT. /dev/md/datapode ser particionado posteriormente ou usado como LVM pv. Por exemplo:

/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)

Ver metadados. O 1.0 possui um recurso simples: seu superbloco é armazenado no final da partição RAID, para que o BIOS possa detectar partições FAT32 simples com sinalizadores ESP e BOOT. Portanto, nada impede que o BIOS procure o EFI / BOOT / BOOTX64.EFI nesta partição e inicialize a partir dela.

A principal limitação desse método é que o GRUB deve ser configurado para instalar o arquivo EFI inicializável no caminho da mídia removível, porque efibootmgrestá tentando fazer a inicialização do BIOS diretamente do mddispositivo, não sdX. Isso pode ser feito usando grub-installcom --removableflag.

UPD. Há problemas de compatibilidade. Tentei a mesma configuração na placa-mãe ASUS P8Z68-V PRO / GEN3. O sistema não inicializa, não importa o que eu faça.


Gostaria também de saber o que acontece se o seu BIOS escreve para uma das partições
sourcejedi

E o mdadm 0.90, que deve suportar o grub antigo ( leia isto )? Talvez ele funcione para o ASUS P8Z68.
hrvoj3e

Eu testei e só é possível com os metadados MD versão 1.0, porque a partição ESP permanece na GPT e os metadados são armazenados atrás. Com os metadados versão 2.0, a partição é incorporada ao superbloco MD, portanto o firmware não pode detectá-lo.
Kouros

5

Depois de muita experimentação, acho que esta é a resposta:

A partição do sistema EFI (normalmente montada em /boot/efi/) não contém muitos arquivos, a menos que, por exemplo, o GRUB seja armazenado diretamente lá em vez de /boot/grub/. O conteúdo geralmente não muda, portanto não há necessidade de RAID na partição. Ter várias cópias da partição em diferentes discos também exigiria que as entradas de inicialização UEFI fossem definidas efibootmgr; normalmente o GRUB inicializa isso com base na partição montada de /boot/efi/.

Portanto, parece que não é necessário nem fácil.


1
Mas digamos que você queira ter o raid1 apenas por segurança se um disco falhar. Seria "e não é fácil de fazer." significa que é possível?
Zidarsk8

E o que dizer de todos os guias que demonstram uma partição de inicialização e uma partição do sistema efi?
CMCDragonkai

4

Penso que a resposta curta é: Não, as partições do sistema EFI (ESPs) não podem ser editadas por RAID. No entanto, você ainda pode obter vantagens semelhantes a RAID se clonar o ESP entre os discos RAID e adicionar as duas partições à cadeia de inicialização EFI. Para obter detalhes, consulte Como instalar o Ubuntu 14.04 de 64 bits com uma partição RAID 1 de inicialização dupla em um sistema UEFI / GPT? .


Qual você sugeriria a melhor maneira de sincronizar cada partição /bootse você fizer alterações como adicionar um novo kernel ... etc?
CMCDragonkai

Você não precisa! Veja meu comentário em askubuntu.com/questions/660023/… .
Niclas Börlin

2

Não, ainda não é possível, a maioria das placas-mãe com UEFI pode ler um número limitado de tipos de partição para a EFI (por exemplo, FAT32) e o RAID não é um deles.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.