LINUX.ORG.RU

Не устанавливается grub2 на некоторые диски btrfs raid

 , , ,


1

2

Доброго времени суток.

Пытаюсь установить систему на btrfs raid массив, состоящий из 3 дисков. При этом возникла проблема при попытке научить систему загружаться с любого из них. grub не хочет устанавливаться на 2 диска и пишет ошибку:

Installing for i386-pc platform.
grub2-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..
grub2-install: error: filesystem `btrfs' doesn't support blocklists.
Последовательность моих действий:

  • Подготовка всех 3-х дисков
    (parted) mklabel gpt
    (parted) mkpart bios 1MiB 3MiB
    (parted) set 1 bios_grub on
    (parted) mkpart root 3MiB 100%
    
    # mkfs.btrfs /dev/sda2 && mkfs.btrfs /dev/sdb2 && mkfs.btrfs /dev/sdc2
    
  • Установка системы на 1-й диск (/dev/sda2)
  • После загрузки в установленную систему делаю raid
    # btrfs device add -f /dev/sdb2 /dev/sdc2 /
    # btrfs balance start -v -dconvert=raid1 -mconvert=raid1 /
    
  • Добавляю возможность системе загружаться даже при условии что один из дисков массива будет физически отключен, путем добавления опции degraded в GRUB_CMDLINE_LINUX
  • Обновляю grub stage2 и на каждый из дисков пытаюсь накатить stage1 и stage1,5
    # update-grub
    # grub-install /dev/sda && grub-install /dev/sdb && grub-install /dev/sdc
    

На этапе grub-install /dev/sdb[c] получаю описанную ошибку. При этом на /dev/sda все встает без проблем.

З.Ы. Система debian 9.


первый шаг забыл. wipefs'ни свои диски

t184256 ★★★★★ ()
Ответ на: комментарий от t184256

А можно поподробней? Я так понял что эта утилита подчищает какие то сигнатуры от старых ФС, только разве они не должны были переписываться когда я создавал заново таблицу разделов и файловую систему на ней?

torm7 ()
Ответ на: комментарий от torm7

разве они не должны были переписываться когда я создавал заново таблицу разделов и файловую систему на ней?

Невозможно достоверно подсчитать все те литры пролитых слёз, вызванных перезаписью всех копий суперблока командой mkfs.extX, направленной на не тот раздел.

aidaho ★★★★★ ()

В чём сложность создать /бут раздел?

anonymous ()
  • GRUB не умеет грузиться из btrfs, но умеет работать с Ext2/Ext3/Ext4;
  • EFI ничего не знает про файловые системы, отличные от FAT (32, но можно и 16), за редким исключением (на компах производства Apple оно умеет только в HFS/HFS+);

А если у тебя RAID программный, то рекомендую от btrfs отказаться — оно будет тормозить.

r3lgar ★★★★★ ()

Господа, самый первый комментарий оказался полезным в ракурсе разбора ситуации. Проблема полечилась командой(есть в вики на btrfs):

# dd if=/dev/zero bs=1 count=8 of=/dev/sda seek=$((64*1024+64))
# dd if=/dev/zero bs=1 count=8 of=/dev/sda seek=$((64*1024*1024+64))
# dd if=/dev/zero bs=1 count=8 of=/dev/sda seek=$((256*1024*1024*1024+64))
Остались вопросы:

  • Что это такое?
  • Откуда оно вылезло?
  • Почему не потерлось когда я накатывал таблицу разделов с файловой системой?

З.Ы. t184256 спасибо за правильное направление мыслей

torm7 ()

После загрузки в установленную систему делаю raid

А почему изначально не создать raid и только потом на него уже ставить ОСь?

Gannet ★★★ ()
Ответ на: комментарий от Gannet

debian 9 этого не умеет в своем инсталляторе. Он работает с каждым диском по отдельности. Ну или я не нашел как это делается:)

torm7 ()
Ответ на: комментарий от torm7

В Убунте с аналогичным сталкивался. Думал, это баг. Хотя, раньше вроде не было такого в ней.

Gannet ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.