BTRFS-RAID и загрузка из системного раздела EFI

UEFI требует загрузки из ESP, который большую часть времени отформатирован как vFAT. Если я правильно помню, BTRFS мог иметь подтома, отформатированные как ext3 / ext4, как диспетчер логических томов (LVM). Однако UEFI не поддерживает загрузку из BTRFS. В большинстве случаев решение состоит в простом использовании трех (или 2N + 1) дисков, два для RAID и один для загрузки. В этом случае меня больше всего беспокоит простое зеркалирование RAID1. В этом случае я могу использовать только два диска. Если бы материнская плата использовала BIOS, то я мог бы просто отразить загрузочный раздел.

Я слышал, что эта проблема (необходимость использовать дополнительный диск для загрузки) является одной из причин, по которой люди перешли на (freeBSD с) ZFS, хотя я мог бы вспомнить ложно.

В моем случае я сделал зеркальное отображение всего диска с разделом. То есть на втором диске было два раздела: один ESP, один раздел btrfs. Тем не менее, я' m при условии, что BTRFS-RAID1 будет использоваться не так. Итак, у меня конкретный вопрос:

  • Приведет ли эта конфигурация к повреждению или другим непредвиденным последствиям?
  • Какое решение может быть лучше?
4
задан 14 January 2017 в 18:29
1 ответ

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

sda: GPT
  sda1: Linux MD RAID member
  sda2: Swap
  sda3: BTRFS pool member (RAID 1 allocation policy)

sdb: GPT
  sda1: Linux MD RAID member
  sda2: Swap
  sda3: BTRFS pool member (RAID 1 allocation policy)

md0: ESP (~100mb? VFAT) mounted at /boot/efi (RAID 1 allocation policy)

BTRFS pool: 
  root subvol (mounted at /)
  home subvol (mounted at /home)
  et cetera ad nauseam.

Это именно то, что вам нужно почти во всех случаях, и если ваша конфигурация не отражает это, вы, вероятно, захотите, чтобы он отражал это.

Том Linux MD в этом случае представляет собой RAID 1 между sda1 и sdb1. Не связывайтесь напрямую с sd [a, b] 1 и монтируйте только том MD, созданный из них (обычно / dev / md0 или / dev / md / 0 , если только вы почувствовали необходимость дать ему особое имя во время создания). Вы обязательно должны использовать RAID1 для тома ESP, так как прошивка материнской платы ожидает найти эти данные нетронутыми на любом отдельном диске во время загрузки.

Разделы подкачки будут естественным образом чередоваться, но отказ одного из них почти не приведет к сбою вашей системы. все дела. Не используйте MD для подкачки, если у вас нет веской причины, поскольку пейджер очень умен.

Пул BTRFS будет сканировать автоматически, поэтому лучше указать этот том по UUID при добавлении записей для него в Файл / etc / fstab .

GRUB2 может загружаться с любого уровня BTRFS RAID. Просто убедитесь, что загрузчик "stage 1" установлен в обе таблицы разделов (sda, sdb). Это делается при вызове grub-install / dev / sda (может немного отличаться в зависимости от дистрибутива).

1
ответ дан 3 December 2019 в 04:08

Теги

Похожие вопросы