grub falha ao instalar no MBR (RAID + LVM + LUKS)

0

Por favor, note a edição no final

Estou construindo um servidor doméstico (minha primeira tentativa) usando o Ubuntu Server 14.04.1 em uma máquina antiga (o BIOS não suporta UEFI), e quero configurar todo o sistema no RAID5 usando 3 vazios discos (3 TB cada). Não instalarei nenhum outro sistema operacional nessa máquina.

Eu segui principalmente as etapas descritas por este guia , exceto que, no meu entender, o grub2 suporta o RAID e o LVM2 criados pelo mdadm e, portanto, não é necessário mexer com /boot partitions (com base em respostas como este ; mesmo usuário - @ psusi - também comentou no AskUbuntu para o mesmo efeito). Por isso, eu defino o seguinte esquema de particionamento:

  • Cada unidade tem uma única partição que ocupa o máximo da unidade que o instalador do live-server usaria (alguns 1MB permaneceram sem uso no final de cada unidade). Vou reiterar que o meu sistema não suporta o UEFI, por isso, presumo que o live-installer criou uma tabela MBR em todas as unidades. Essas partições são marcadas para serem usadas no RAID.

  • Um único dispositivo RAID5 md0 é criado com essas 3 partições.

  • Um único volume físico LVM preenche md0 . Tem um único grupo de volumes srv-vg1 , que contém 3 volumes lógicos:

    1. srv-lvboot contém 5 GB e é usado como ext4 e montado como /boot

    2. srv-lvswap contém 20 GB (intencional) e é usado como LUKS com uma chave aleatória, na qual criei uma única partição linux-swap (montada como swap ).

    3. srv-lvroot abrange o restante do grupo lógico e é usado como LUKS com senha, na qual criei uma única partição ex4 montada como / .

Usando este esquema de particionamento continuei com a instalação, até que fui solicitado a Install the GRUB boot loader to the master boot record (da minha primeira unidade). Eu tentei continuar, mas uma mensagem de erro retornou:

Unable to install GRUB in /dev/sda

Executing 'grub-install /dev/sda' failed.

This is a fatal error.

Posso voltar e tentar instalar o GRUB em um dispositivo diferente, mas não sei qual escolher (se eu instalá-lo em md0 ou srv-lvboot , supondo que ele funcionaria, não Eu então preciso chainload ele de outro gerenciador de inicialização ?). Além disso, não tenho 100% de certeza de que o meu esquema de particionamento é viável. Alguém pode ajudar?

Editar :

Eu finalmente descobri que a razão pela qual o grub não pode instalar no MBR do meu primeiro disco foi porque meus discos (a 3TB) tinham uma tabela GPT, então eu deveria ter criado uma partição de 2MB com o bios_grub no início de cada unidade. Depois disso, a instalação é concluída sem erros. No entanto, o meu servidor não inicializa no Ubuntu. Em vez disso, ele continua reiniciando (aparentemente o grub não carrega no sistema operacional, por algum motivo). Eu tentei usar o reparo de inicialização para resolver o problema, sem sucesso (ele salvou seus registros para o link ).

    
por Jonathan Y. 07.12.2014 / 12:02

2 respostas

3

Como se viu, o verdadeiro problema subjacente foi o que foi adicionado no final da minha pergunta: como a máquina não inicializa a partir do UEFI, o grub requer uma partição dedicada (2MB é supostamente mais do que suficiente) com o sinalizador" bios_grub "no início de cada unidade (cada unidade que você planeja poder inicializar se a matriz ficar degradada , finalmente). Pode-se configurá-los no live-installer escolhendo usar essas partições para bios boot .

(O motivo pelo qual essa correção não funcionou inicialmente para mim foi que criei as partições usando outro live-cd antes de executar o instalador do Ubuntu Server, o que estragou um pouco as coisas.)

Eu gostaria de lembrar o lembrete do @kyodake sobre a necessidade de instalar o grub nos MBRs do resto dos discos em sua matriz RAID (acho que executar manualmente o sudo grub-install /dev/sdX é mais rápido). Finalmente, por questões de integridade, enfatizarei que a razão para a partição /boot separada é que, dessa forma, é possível criptografar o restante do sistema de arquivos (conforme descrito no guia ao qual fiz o link e resumido em meu próprio esquema de particionamento). Se alguém não estiver inclinado a implementar criptografia de volume total, não há uma boa razão para criar uma partição separada.

    
por Jonathan Y. 07.12.2014 / 20:56
1

O Grub2 é totalmente compatível com RAID e LVM.

Na verdade, você não precisa de uma partição / boot separada.

Você também precisa instalar o grub em todas as unidades no raid5.

O pacote Ubuntu grub-pc solicitará que você marque todas as unidades nas quais deseja instalá-lo e instale-o para você.

    
por kyodake 07.12.2014 / 16:19