Obtendo o Grub2 para reconhecer um boot / root Raid 10

2

Eu estou tentando fazer com que o meu ataque inicie no grub2 por cerca de dois dias e não pareço estar chegando perto. O problema parece ser que ele não reconhece meu ataque. Não vejo (md0) etc. Eu não tenho certeza Por que ou como mudar isso. Estou usando o mdadm, 2 device (essencialmente um raid1) raid10, f2 , que atualmente é degradado .

Eu tentei adicionar os módulos raid e mdraid com o grub install junto com outros. Eu tentei várias variações em grub-install como grub-install --debug --no-floppy --modules="biosdisk part_msdos chain raid mdraid ext2 linux search ata normal" /dev/md0

Eu tenho procurado na net por uma resposta para o que eu não fiz, mas sem sorte. Na minha outra unidade que eu pretendo remover o ataque é inicializado e montado bem na inicialização, mas não é o boot / root para essa configuração. Meu grub.cfg não é reconhecido pelo grub porque ele não pode ler a partição raid, então não estou postando isso. md0 não está listado no meu /boot/grub/device.map .

    
por xenoterracide 16.05.2010 / 10:31

3 respostas

2

Não esqueça que o GRUB2 ainda está em fase de desenvolvimento, por isso, se você quiser usá-lo ... é por sua conta e risco.

Com base no acima exposto, acho que seria melhor aconselhá-lo a obter a fonte mais recente e compilar para ver se isso corrige os problemas que você pode estar vendo. Você deve usar pelo menos a versão 1.9.6, como os documentos , e fazer o sue seu raid é construído usando a v0.90 superbloco de metadados do mdadm.

Por exemplo, para criar um dispositivo "-l 10" RAID1 para o sistema de arquivos / boot, com discos "-n 4" e "-x 0":

mdadm --create -e 0.90 -n 4 -x 0 -l 1 /dev/md2 /dev/sda2 /dev/sdb2 [/dev/sdc2 /dev/sdd2 ...]

E no teste com o mdadm v3.2.3, o grub 1.99-21ubuntu3, apenas o sistema de arquivos de inicialização precisava dos metadados 0.90, não da raiz. E o raid10 não funcionou depois que um disco foi removido, então o exemplo é o raid1 acima. (outra questão relacionada a raid10 aqui )

    
por 16.05.2010 / 14:41
0

Atualizando para as versões atuais do software (Ubuntu 14.10):
Grub2 2.02 ~ beta2-15

Eu configurei minhas partições e criei dispositivos md nelas, depois executei o mkfs nelas. Então eu comecei o instalador do Ubuntu (onipresença). (Se você não faz mkfs primeiro, a ubiquity insiste em particionar seus dispositivos md. IDK se o grub manipular uma tabela de partição dentro de um MD em uma partição.)

Com / (incluindo /boot ) no XFS em um RAID10, f2 de 2 discos, o GRUB não tem problemas para inicializar, mesmo quando o disco está ausente. (Existe atualmente, ou foi, um bug onde o GRUB acha que um RAID10 é inutilizável se estiver faltando dois dispositivos, sem verificar QUEM dois dispositivos estão faltando. Portanto, há casos em que o Linux não teria problemas usando um RAID10 degradado, mas a verificação simples do GRUB falhar.)

(Notas do XFS: O grub2 2.02 beta2 NÃO suporta o novo formato de metadados mkfs.xfs -m crc=1 do XFS. Não use isso no sistema de arquivos que inclui /boot até obter um GRUB com patches.)

Eu testei com um chunksize de 32kiB para meu RAID10, f2 para garantir que vmlinuz e meu initrd não fossem contíguos no disco. Eu não testei com uma configuração que exigiria que o GRUB lesse vários discos para obter um arquivo completo, por isso ainda não sei se isso é suportado. (Eu acho que não embora: eu testei a partir da linha de comando GRUB (depois normal.mod foi carregado, não de um console de recuperação grub).

ls (md/0)
blah blah holds an XFS filesystem
ls (md/1)
<machine reboots instantly>
 or booting with only one disk connected:
error: failure reading sector 0xb30 from 'fd0'.
error: disk 'md/1' not found.

(Intel DZ68DB mobo, discos no controlador SATA da mobo (configurado para RAID, não AHCI, caso isso seja importante)) Então eu acho que está procurando uma partição com o UUID correto para completar o RAID0.

Meu RAID10, f2 usou o formato padrão de metadados 1.2 (localizado em 4kiB desde o início da partição). Como o grub entende os dispositivos md atualmente, você não precisa da antiga prática de esconder seu superbloco md no final da partição (o que você poderia obter com o formato 1.0, assim como 0.9 eu acho). O grub também suporta o ddf ou imsm (formatos de metadados de ataque do BIOS usados por alguns controladores mobo).

Meus discos tinham tabelas de partição GPT, com uma EF02 partição de inicialização do Bios antes da primeira partição "regular" . (do setor 40 a 2047). O Grub o usa para colocar as coisas necessárias para ler RAID e XFS, mas isso não se encaixa no setor de boot do 512B.

Não RAID suas partições de inicialização bios. Você precisa grub-install each /dev/sdX independentemente, assim você pode inicializar qualquer um dos seus discos. Fazer isso também grava o que o grub precisa na partição de inicialização do BIOS nesse disco. update-grub não toca na partição de inicialização do bios, apenas reconstrói o menu e o initrd a partir dos arquivos de configuração. Apenas grub-install toca na partição de inicialização e, como eu disse, precisa ser executado em cada disco de qualquer maneira.

Teste realmente inicializando com um HD removido: O Ubuntu oferece uma opção interativa para pular os sistemas de arquivos de montagem que não estão disponíveis. (Eu tinha /var/cache no RAID0). Mas depois de dizer para pular, tudo bem.

    
por 23.02.2015 / 16:08
0

Para quem está rolando até aqui, tive esse problema ao tentar fazer com que o Ubuntu 16/14 inicializasse um SW RAID 10 de 24 discos.

A chave acabou por ser definindo a partição / boot para RAID 1 ; O Grub aparentemente não gosta do RAID 10. O restante do sistema, a partição swap e a partição raiz ("/"), foram configurados para o RAID 10.

    
por 12.01.2017 / 20:33