14.04 - Unidade substituída no Software RAID 1 - Como tornar inicializável?

4

Eu tenho um servidor Ubuntu 14.04 x64 com 2 drives de 500 GB ( sda e sdb ) em um software RAID 1.

Acabei de substituir sdb . Adicioná-lo de volta ao array com o mdadm e a ressincronização foi rápida. O problema que estou correndo é ter certeza que ele pode ser iniciado se sda falhar no futuro.

Nota: todos os comandos abaixo foram executados como root

1ª tentativa

A maioria das orientações que encontrei me disseram para executar:

grub-install /dev/sda /dev/sdb

Qual é exatamente o mesmo comando que eu vi o instalador do Ubuntu rodar centenas de vezes? No entanto, quando corri isso, consegui:

grub-install: error: More than one install device?.

Isso sempre funcionou para mim. Talvez algo mudou com 14.04?

segunda tentativa

Algumas orientações recomendam a configuração manual do grub para o novo disco rígido. O prompt grub me assusta, mas eu estava disposto a tentar estes passos:

# grub --device-map=/boot/grub/device.map
grub> root (hd0,0)
grub> setup (hd0)
grub> root (hd1,0)
grub> setup (hd1)
grub> quit

Único problema? Após o primeiro comando, recebo:

The program 'grub' is currently not installed. You can install it by typing:
apt-get install grub

???

Então eu tentei instalar o grub.

# apt-get install grub
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  grub-legacy-doc
The following packages will be REMOVED:
  grub-gfxpayload-lists grub-pc grub2-common
The following NEW packages will be installed:
  grub
0 upgraded, 1 newly installed, 3 to remove and 0 not upgraded.
Need to get 913 kB of archives.
After this operation, 438 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

Escusado será dizer que eu respondi que não.

3a tentativa

Ficando desesperado, eu tentei algo que eu tinha certeza que estava errado. O guia oficial do servidor recomenda (na parte inferior da seção "Raid Maintenance" ):

grub-install /dev/md0

Esta foi a saída:

# grub-install /dev/md0
Installing for i386-pc platform.
grub-install: warning: Couldn't find physical volume '(null)'. Some modules may be missing from core image..
grub-install: warning: Couldn't find physical volume '(null)'. Some modules may be missing from core image..
grub-install: warning: File system 'ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.

Assustador.

Parece que o grub foi substituído de alguma forma em 14.04, mas não consigo encontrar nenhuma informação sobre como as coisas mudaram. Eu tenho um diretório /boot/grub/ , então eu sei que alguma forma de grub está instalada.

Atualização:

Consegui executar os seguintes comandos de forma independente:

grub-install /dev/sda
grub-install /dev/sdb

No entanto, não tenho certeza se sda será inicializado após instalar o grub em sdb e vice-versa. Eu estou bem?

    
por Andrew Ensley 11.08.2014 / 17:07

2 respostas

2

Eu encontrei a resposta. A maneira de certificar-se de que o GRUB está instalado corretamente e reconhece as duas unidades de cada uma é executar:

sudo dpkg-reconfigure grub-pc

Quando perguntado sobre quais unidades devem ser instaladas, verifique se todas as unidades de inicialização estão selecionadas. No meu caso, isso foi /dev/sda e /dev/sdb . Não selecione /dev/md0 ou qualquer outro dos outros md dispositivos.

    
por Andrew Ensley 18.12.2015 / 21:34
0

Por que vale a pena: Eu precisava adicionar um script de atraso à minha configuração de inicialização para permitir que um array RAID degradado tivesse tempo suficiente para montar. Caso contrário, tudo funcionou bem ao inicializar com 2 unidades de trabalho, mas assim que desconectei uma unidade para testar a redundância, acabei ficando no busybox (sem o teclado para uma boa medida)! Para detalhes, veja o final do passo 6 em por Niclas Börlin 13.08.2015 / 23:03