Загрузиться с btrfs RAID5/6?
Я пытаюсь собрать систему 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. Я пытаюсь найти ответы на два вопроса:
- Я делаю что-то не так при создании тома начальной загрузки?
- Есть ли другой, лучший способ загрузить мою систему с RAID-массива btrfs?
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 (я пробовал это на виртуальной машине с виртуальными драйверами 20 Гб и получил те же ошибки, что и вы)
- Для загрузки EFI требуется разделение GPT и файловая система FAT16 или FAT32 для загрузчика, в то время как для устаревшей загрузки BIOS требуется <=2 ТБ места, адресуемого MBR (я не совсем уверен в этом [могут существовать подходящие обходные пути), но я думаю, что это применимо для>драйверов 2 ТБ / тома, даже если у нас нет реальных разделов, потому что с точки зрения MBR все наше пространство LBA на диске технически является единым базовым разделом, и я думаю, что у нас все еще есть стандартная MBR в "дыре MBR" файловой системы, чтобы BIOS загружал GRUB), Хотя я не пытался проверить это на виртуальной машине после того, как мой тест все равно не прошел.