Como instalo o GRUB em uma instalação do sistema RAID?


43

Estou tentando configurar e instalar o Ubuntu em uma instalação RAID 1. Eu tenho dois discos, sdb e sdc. Eu tenho seguido este guia

https://help.ubuntu.com/community/Installation/SoftwareRAID

que funciona mais ou menos para configurar tudo e instalar o Ubuntu. O problema está no final da instalação, ele tenta instalar o GRUB. Por padrão, ele tenta o meu "primeiro disco", que fornece um "erro fatal". Eu tentei instalá-lo em uma partição específica, por exemplo, sdb1, bem como dispositivos RAID, por exemplo, md0, md1, etc. Nada parece funcionar.

O erro real é

Não foi possível instalar o GRUB no / dev / sdb

A execução do 'grub-install' / dev / sdb 'falhou.

Este é um erro fatal.

Então, eu sou levado de volta ao menu principal de instalação. Se eu escolher a opção "Instalar o carregador de inicialização GRUB em um disco rígido", posso escolher a partição, mas inserir sdb2 ou md1 gera o mesmo erro.

Então fui em frente e simplesmente não instalei o GRUB, o que significa que agora tenho uma instalação do Ubuntu funcionando, mas não consigo inicializá-la. Tentei inicializar a partir do LiveCD para instalar o GRUB, mas não consigo executar o chroot no meu sistema porque não parece reconhecer que meu disco é um disco Linux. Há um erro sobre ser uma partição RAID.

Então, basicamente, eu realmente gostaria de saber como você sabe em qual dispositivo instalar o GRUB na instalação ou, no mínimo, como instalá-lo no meu sistema agora.

Suponho que devo mencionar também que o sda é uma instalação do Windows 7 que eu gostaria de manter por perto e poder acessar na inicialização.

Obrigado por qualquer ajuda.


Sem dizer qual foi o erro, não podemos ajudar. Instalar no sda (e possivelmente sdb e sdc também) é a coisa correta a ser feita. Para acessar o ataque a partir do LiveCD você precisa instalar o pacote mdadm:sudo apt-get install --no-install-recommends mdadm
psusi

Desculpe, editei minha postagem para incluir a mensagem de erro. A razão pela qual eu estava tentando instalar algo diferente de sdb, sdc é que li este tópico que parecia dizer que eu deveria encontrar a partição correta em / dev / mapper. Mas quando eu passo para o shell no instalador, nada aparece no / dev / mapper além do controle.
Kris Harper #

Isso é para fakeraid, não para software raid.
Psusi

1
Você está usando uma tabela de partição MSDOS ou GPT? Se você estiver usando GPT, deverá criar uma partição bios_boot.
Psusi

1
Consegui fazê-lo funcionar, criando três partições em cada unidade, reunindo dois conjuntos para o sistema de arquivos e trocando e deixando os dois últimos semRAID. Então eu selecionei / boot como um ponto de montagem para um deles e o escolhi ao instalar o GRUB. Isso parece funcionar. Minha única preocupação é que o GRUB não esteja instalado na outra unidade; portanto, se houver uma falha na unidade, talvez não seja possível inicializar. Talvez eu possa consertar isso instalando o GRUB na outra unidade, apesar de essa partição não estar definida como um ponto de montagem / boot?
Kris Harper

Respostas:


16

Meu problema acabou sendo que eu tinha a tabela de partição GUID, pois minhas unidades tinham 2 TB cada. O método que eu originalmente tentei seguir não assumiu isso e, portanto, a instalação do GRUB não funcionou.

Em vez disso, você deve criar uma pequena partição (1 MB) em cada disco e agrupá-la em RAID e defini-la como uma partição de inicialização do GRUB (não tenho certeza do nome real). Configure suas outras partições RAID (por exemplo, swap e /) e, em seguida, o instalador do GRUB deve encontrar bem a área de inicialização.

(No Debian, isso é chamado de área reservada de inicialização do BIOS .)


1
isso simplesmente funciona para raid1 - eu estava tentando fazer isso para raid6 e ele continua falhando sem uma mensagem de erro de ajuda :(
Mr.Gosh

como você criou o ataque de software? Atualmente, estou tentando fazer o mesmo. veja minha pergunta sobre serverfault: serverfault.com/q/749274/71452
c33s

13

Muitas das respostas aqui estão incorretas, dizendo para desativar o BIOS RAID! A solução correta está nesta entrada do blog . Vou resumir abaixo.

No estágio da instalação em que está tentando instalar o GRUB, ele detectará como

/dev/mapper

Isso está incompleto! É por isso que a instalação do GRUB falha.

Você precisa do nome real da matriz RAID para instalar . Portanto, durante essa etapa, pressione ctrl+ alt+ F2para ir para um terminal do busybox e digite

ls -l /dev/mapper

Escolha o nome do seu array na lista mostrada e pressione ctrl+ alt+ F1para voltar à instalação (você pode alternar o quanto quiser sem problemas) e digite-o no campo como

/dev/mapper/{your array name}  

o GRUB é instalado perfeitamente e você está pronto para começar, com uma matriz RAID BIOS intacta.


7
E se ls -l / dev / mapper não mostrar nada além de "controle" como seu conteúdo?
Brian Bauman

Não tenho certeza. Eu suspeito que você não tem o RAID do BIOS, também conhecido como RAID "falso", nesse momento?
Jeff Atwood

Concluo o particionamento e a instalação como de costume, e a instalação falha na instalação do GRUB. Não sei por que o RAID não seria iniciado naquele momento, pois a instalação era especificamente para as três matrizes de ataque que eu construí - raid1 /, raid0 swap e raid1 / home.
Brian Bauman

Vale ressaltar que eu estava erroneamente usando o fakeRAID e o software RAID de forma intercambiável. Minha primeira tentativa foi baseada no uso do BIOS raid, mas os conselhos deste segmento recomendaram que eu usasse o RAID do software Linux, que é o que venho tentando fazer funcionar desde então. Tentará o seu conselho usando o BIOS fakeRAID novamente e apresentará um relatório.
27612 Brian Bauman

1
Isso ainda é válido para 14.04? Eu não posso ativar a flag boot em 14,04 - então eu estou querendo saber se esta solução só está disponível para 12,04
Mr.Gosh

2

Uma pequena variação na receita do @ root45 me levou a trabalhar (em um sistema somente Ubuntu). Eu não fiz a partição inicializável parte da matriz Raid.

Criei uma pequena partição inicializável do GRUB (escolhi a opção do editor de partições: "use is 'bootgrub'" ou algo semelhante) e não a fiz parte do dispositivo Raid junto com as partições swap e data (/).

Você pode reescrever os dados do Grub2 na partição 'bootgrub' a qualquer momento ... pois, de fato, o processo de instalação será, em seu nome, quando você tiver a opção após todos os pacotes selecionados terem sido instalados; ou a qualquer momento, se estiver corrompido ao grub-install /dev/sdaalterar o 'sda' para o dispositivo da partição que você usou na 'etapa um' acima para ser 'usado como "bootgrub"'.

Se você optar por causar a instalação de muitos pacotes em um servidor LAMP, por exemplo, pode demorar um pouco depois do particionamento antes de ser perguntado sobre a gravação dos dados do Grub2 no disco rígido ... e os padrões oferecidos nesse o tempo causou um erro até eu fornecer o dispositivo da minha partição "bootgrub" ... e tudo deu certo e agora tenho um sistema viável.


1

Não posso ajudar com a instalação do grub agora, mas o que fiz para executar meu RAID é que segui esta instrução:

Como instalar o Ubuntu 8.04 com software RAID1 | HowtoForge - Linux Howtos e Tutoriais e instale o grub em todas as partições raid (não swap).

Isso será útil quando um disco rígido falhar, ainda haverá um grub em funcionamento.


Quando crio minha primeira partição (para o sistema de arquivos), não consigo definir essa partição para ser inicializável. A opção está lá, mas se eu a selecionar, ela pisca e diz "sinalizador de inicialização: não". Fui em frente e instalei-o de qualquer maneira, mas ainda assim recebi o mesmo erro ao instalar o GRUB.
Kris Harper

Hmm, eu nunca ouvi falar desse tipo de comportamento antes. Qual é a configuração exata que você usou para configurar seu ataque.
K. Hendrik

Eu tenho três discos, sda é o Windows 7. Os outros, sdb e sdc estão em branco quando inicio. Quando chego ao gerenciador de partições, faço uma nova partição em cada unidade para o sistema de arquivos. O seu guia vinculado diz para definir isso como "volume físico para RAID", em vez de "sistema de arquivos Ext4", então eu fiz isso. Mas isso significa que não consigo definir o sinalizador inicializável. Eu fiz o resto da unidade trocar e fiz o mesmo nas outras unidades.
Kris Harper

Parece-me que você não segue as instruções até o fim. Depois de criar os volumes de incursão, você precisa mapeá-los para uma incursão e depois atribuir o sistema de arquivos, por exemplo, ext4, depois poderá atribuir o sinalizador inicializável. Você precisa criar 2 partições raid em cada unidade uma para trocar uma por /.
K. Hendrik

Bem, eu fiz isso eventualmente. Mas o seu guia diz "Tornar a partição inicializável" antes de criar o RAID do software, e o instalador não me permite fazer isso. Eu continuei com a instalação e criei o RAID, depois designei / e troquei pelos dois dispositivos RAID. Mas ainda há um erro ao tentar instalar o GRUB.
Kris Harper
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.