Я пытаюсь собрать систему Arch Linux с корнем btrfs RAID5/6. Когда я устанавливаю GRUB на один из дисков тома, он при запуске печатает следующее сообщение:

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

... а затем вываливает меня в оболочку восстановления. Если я ls (hdX) (где X - это один из физических дисков тома, он напечатает текст ошибки, в том числе такой:

Unsupported raid flags 82

Несколько веток форума предполагают, что GRUB не поддерживает такие виды томов btrfs прямо сейчас. Итак, моей следующей мыслью было создание отдельного загрузочного диска в формате ext4. Я начал с Arch Live CD и сделал это:

$ 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

Я успешно приземлился в GRUB, но получил сообщения после таймаута меню:

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...

… Затем меня снова выбросили в меню GRUB. Я пытаюсь найти ответы на два вопроса:

  1. Я делаю что-то не так при создании тома начальной загрузки?
  2. Есть ли другой, лучший способ загрузить мою систему с RAID-массива btrfs?

1 ответ1

1

Gentoo на моем домашнем сервере загружается с Btrfs с одним приводом, который я создал следующим образом (хотя настраиваемые параметры не должны иметь значения, и полная установка, очевидно, потребовала намного больше шагов между этими соответствующими строками):

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

и у него есть эти записи в fstab:

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

Пользовательские данные хранятся в файловой системе RAID5 Btrfs, состоящей из дисков 3x4Tb (sdb, sdc, sdd).

Я думаю, что я могу столкнуться с двумя ограничениями одновременно, когда я хочу переместить системный корень в большую файловую систему RAID5:

  • GRUB2 (по состоянию на 2.02_beta3), похоже, не поддерживает Btrfs RAID5 (я пробовал это на виртуальной машине с виртуальными драйверами 20Gb и получил те же ошибки, что и вы)
  • Загрузка EFI требует разбиения GPT и файловой системы FAT16 или FAT32 для загрузчика, в то время как для устаревшей загрузки BIOS требуется <= 2 ТБ места, адресуемого MBR (я не совсем уверен в этом [могут существовать подходящие обходные пути), но я думаю, что это применимо для> драйверов 2 ТБ / тома, даже если у нас нет реальных разделов, потому что с точки зрения MBR все наше пространство LBA на диске технически является единым базовым разделом, и я думаю, что у нас все еще есть стандартная MBR в "дыре MBR" файловой системы, чтобы BIOS загружал GRUB) , Хотя я не пытался проверить это на виртуальной машине после того, как мой вышеописанный тест не прошел.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .