Inicializa a partir do btrfs RAID5 / 6?

0

Estou tentando criar um sistema Arch Linux com uma raiz RAID5 / 6 do btrfs. Quando instalo o GRUB em um dos discos do volume, ele imprime uma mensagem como esta na inicialização:

error: no such device: [my btrfs volume uuid]

... e depois me despeja em um shell de recuperação. Se eu digitar ls (hdX) (onde X é um dos discos físicos do volume, ele imprime algum texto de erro incluindo:

Unsupported raid flags 82

Alguns tópicos do fórum sugerem que o GRUB não suporta esses tipos de volumes btrfs no momento. Então, meu próximo pensamento foi criar uma unidade de inicialização separada com formatação ext4. Eu comecei a partir de um CD ao vivo do Arch e fiz isso:

$ mount /dev/sdb /mnt # one of the btrfs RAID5 disks
$ arch-chroot /mnt/root /bin/bash
$ mkfs.ext4 /dev/sdi # our new boot disk
$ mount /dev/sdi /mnt # /mnt inside the chroot
$ grub-install --target=i386-pc --root-directory=/mnt /dev/sdi
$ grub-mkconfig -o /mnt/boot/grub/grub.cfg
$ umount /mnt
$ exit # …the chroot
$ reboot # …and switch the boot drive in BIOS settings

Cheguei ao GRUB com sucesso, mas recebi essas mensagens após o tempo limite do menu:

error: no such device: [my btrfs volume uuid]
Loading Linux linux ...
error: hd6 cannot get C/H/S values.
Loading initial ramdisk ...
error: you need to load the kernel first.

Press any key to continue...

... então eu fui jogado de volta no menu do GRUB. Estou tentando encontrar respostas para duas perguntas:

  1. Estou fazendo algo errado ao criar meu volume de bootstrap?
  2. Existe outra maneira melhor de inicializar meu sistema a partir do RAID do btrfs?
por s4y 06.06.2016 / 04:36

1 resposta

1

O Gentoo no meu servidor home é inicializado a partir de um Btrfs de drive único que eu criei assim (embora as opções customizadas devam ser irrelevantes e a instalação completa obviamente requer muito mais etapas entre essas linhas relevantes):

mkfs.btrfs -f -s 4k -n 4k -O extref,skinny-metadata,no-holes /dev/sda
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg

e tem estas entradas fstab:

/dev/sda   /            btrfs    noatime,autodefrag              0 0
/dev/sdb   /            btrfs    noatime,autodefrag              0 0

Os dados do usuário são armazenados em um sistema de arquivos Btrfs RAID5, consistindo de unidades 3x4Tb (sdb, sdc, sdd).

Acho que posso atingir duas limitações de uma só vez quando quiser mover a raiz do sistema para o sistema de arquivos RAID5:

  • O GRUB2 (a partir de 2.02_beta3) não parece suportar o BTRfs RAID5 (tentei isso em uma máquina virtual com drivers virtuais de 20Gb e obtive os mesmos erros que você)
  • O boot EFI requer o particionamento GPT e o sistema de arquivos FAT16 ou FAT32 para o bootloader, enquanto o boot legado do BIOS requer < = 2Tb de espaço endereçado pelo MBR (não estou inteiramente certo sobre isso [soluções alternativas aplicáveis] mas acho que se aplica > 2Tb drivers / volumes, mesmo que não tenhamos partições reais porque, do ponto de vista do MBR, todo o nosso espaço LBA na unidade é tecnicamente uma única partição básica e acho que ainda temos um MBR padrão no "MBR hole" do sistema de arquivos fazer o BIOS carregando o GRUB). Embora, eu não tentei testar isso em uma VM depois que meu teste acima falhou de qualquer maneira.
por 22.06.2016 / 02:52