1

Я использую Ubuntu 16.04.1 LTS. Система была настроена с RAID1 btrfs / (два диска sda1 и sdb1). Не было создано ни одного раздела / boot или загрузочных разделов BIOS.

После добавления еще двух дисков и преобразования в RAID10 система отказалась загружаться. Однако я смог восстановить его, запустив update-grub с Live CD, следуя инструкциям на этой странице.

Я не очень много знаю о том, как работает Grub. Но, оглядываясь назад, на самом деле кажется чудом, что удалось загрузить систему. Если я правильно понимаю, grub сохраняет адрес блока первого блока следующего этапа в MBR. Правильно ли я в том, что мне пришлось использовать update-grub, потому что баланс перетасовал блоки вокруг?

Во-вторых, что произойдет, если из-за RAID10 следующая стадия grub будет разделена на несколько дисков? Он знает, как справиться с этим, или я сижу здесь на бомбе замедленного действия?

1 ответ1

0

Вы не даете много информации. Например, GRUB вообще загружался или нет ?!

Я только что проверил это на виртуальной машине. Я установил Debian Stretch с ядром 4.9 и btrfs-progs V4.7 на одном диске. Загрузчик представляет собой пакет GRUB 2.02 ~ beta3-4.

После установки я добавил 3 дополнительных диска (всего 4 диска (по 1 разделу на каждый)). Я установил grub на все диски и выполнил update-grub.

Я перебалансировал данные и метаданные в RAID10. Я даже удалил один из дисков в наборе RAID10, чтобы посмотреть, что произошло. Мне пришлось редактировать командную строку ядра с помощью rootflags = degraded для загрузки с отсутствующего диска. После повторного подключения диска и запуска баланса (чтобы снова преобразовать отдельные чанки в raid10) я перетасовал данные, установил кое-что, перебалансировал несколько раз и все еще успешно загрузился. Обратите внимание, что я НЕ запускал update-grub ни на одном из дисков во время этих балансировок.

Также в руководстве GRUB говорится, что поддерживаются BTRFS RAID0, RAID1, RAID10, gzip и lzo): https://www.gnu.org/software/grub/manual/grub.html

Я не очень разбираюсь в том, как работает GRUB, но могу только предположить, что BTRFS должен иметь слой перевода ... например, виртуальный блок 1234 указывает на то, где он действительно находится на диске.

Исходя из моих тестов, я пришел к выводу, что загрузка с btrfs raid10 кажется не менее страшной, чем raid1. Я не могу отвечать за Ubuntu 16.04.1 LTS, так как я им не пользуюсь, но я советую вам поэкспериментировать сами, потому что, судя по моим тестам, он работает нормально.

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