Como instalar corretamente o GRUB em um RAID 1 flexível?

16

Na minha configuração, tenho dois discos que são formatados da seguinte maneira:

(GPT)
1)  1MB   BIOS_BOOT
2)  300MB LINUX_RAID   
3)  *     LINUX_RAID   

As partições de inicialização são mapeadas em / dev / md0, o rootfs em / dev / md1. md0 é formatado com ext2, md1 com XFS. (Eu entendo que a formatação tem que ser feita nos dispositivos md e não no sd - por favor, diga-me se isso está errado).

Como configuro o GRUB corretamente para que, se uma unidade falhar, a outra ainda inicialize? E por extensão, que uma unidade de substituição incluirá automaticamente o GRUB também? Se isso é mesmo possível, é claro.

    
por vic 17.09.2015 / 19:40

3 respostas

12

Se os dois discos forem /dev/sda e /dev/sdb , execute grub-install /dev/sda e grub-install /dev/sdb . Então ambas as unidades serão capazes de inicializar sozinhas.

Certifique-se de que sua configuração do Grub não codifique discos como (hd0) , mas busque os UUIDs dos sistemas de arquivos de inicialização e raiz.

Não estou ciente do suporte no Grub para declarar dois discos como estando em uma matriz RAID-1, para que grub-install seja automaticamente gravado em ambos. Isso significa que você precisará executar grub-install novamente se substituir um disco; é mais uma coisa a fazer além de adicionar novos membros aos arrays RAID.

    
por 18.09.2015 / 04:20
3

Eu fiz isso em alguns servidores ao longo do tempo passado e encontrei problemas às vezes, geralmente o que eu faço é executar o seguinte

sudo grub-install /dev/sdb
sudo update-grub /dev/sdb

Os problemas que eu enfrento geralmente são exibidos com mensagens de erro como

update-grub … update-grub failed with no such disk …

Para resolver isso eu corri

sudo mv /boot/grub/device.map /boot/grub/device.map.old 
sudo update-grub 

e isso parece ter resolvido o problema - como um teste, em alguns casos, removi /sdv/sda e usei /dev/sdb para inicializar, mas isso não é ideal e provavelmente não é possível na maioria dos ambientes de produção!

    
por 23.09.2016 / 11:54
0

Minha experiência na instalação do CentOS 5 e do CentOS 6 é que durante a fase de instalação eu configurei o RAID-1 naquele momento - a instalação dá a você a opção de fazer isso. O que aconteceu foi o seguinte: 1. Definido / dev / sda1 como 1 GB como uma partição RAID 2. Definido / dev / sdb1 como 1 GB como uma partição RAID 3. Dispositivo RAID criado / dev / md0 formado por / dev / sda1 e / dev / sdb1 4. Criada a partição / boot usando / dev / md0 5. Criadas partições adicionais usando as etapas 1 a 3. 6. LVM implementado em partições criadas no passo 5 seguindo instruções.

Após a inicialização do sistema inicial, no grub.conf eu alterei a entrada / dev / sda1 para / dev / md0. Eu então copiei a entrada da linha splashimage que ela tinha (hd0,0) e adicionei um # no início e mudei (hd0,0) para (hd1,0). Olhando para as respostas acima, mostrando como instalar o grub em / dev / sdb, siga-as. Modifique o fstab para que o ponto de montagem de inicialização use / dev / md0 (fazendo isso, quando você faz uma atualização do yum, algo é atualizado na partição / boot, ela será gravada em / dev / sda1 e / dev / sdb1 ). Se você tem uma falha no disco rígido / dev / sda, você deve inicializar usando o resgate e comentar a linha (hd0,0) e descomentar a linha (hd1,0). Seu sistema deve ser inicializável

    
por 17.11.2017 / 23:34