Может ли системный раздел EFI быть RAID-массивом?

12

Я устанавливаю HTPC с 64-битной Ubuntu, используя UEFI и RAID с GPT-дисками.

Возможно ли, чтобы системный раздел EFI (тип раздела 0xEF00) был частью массива RAID1 с помощью mdadm? Я надеюсь, что метаданные версии 1.0 (в конце диска) позволят это.

Кроме того, что также должно быть установлено «устройство для установки загрузчика», или это относится только к MBR-дискам?

Эндрю
источник

Ответы:

6

Как вы говорите, метаданные mdadm вер. 1.0 делает свою работу.

Мне удалось получить рабочую конфигурацию, которую EFI Gigabyte GA-C1037UN-EU смог загрузить. Эта конфигурация ограничена RAID1 для раздела ESP, но позволяет использовать любую конфигурацию RAID для остальных разделов. Давайте покажем RAID1 на двух дисках в качестве примера. Каждый диск разбит следующим образом:

sda (gpt)
--sda1 (512MB)
  mdadm array member with 1.0 metadata format
  boot and esp flags set
--sda2 (rest of disk)
  mdadm array member with 1.2 metadata format

Сначала RAID создается на разделах sdX1 на каждом диске и используется для раздела ESP. Остальную емкость дисков можно использовать любым способом, например, в RAID1. Пусть первый RAID будет, /dev/md/efiа второй /dev/md/data. /dev/md/efiне следует использовать метки разделения, такие как MBR или GPT. /dev/md/dataможет быть позже разделен или использован как LVM pv. Например:

/dev/md/efi
--fat32 fs, mounting to /boot/efi/
/dev/md/data
--/dev/md/data1
  linux swap partition
--/dev/md/data2
  ext4 root partition
  ... (other needed partitions)

Метаданные вер. 1.0 имеет одну простую особенность: ее суперблок хранится в конце раздела RAID, поэтому BIOS может обнаружить простой раздел FAT32 с флагами ESP и BOOT. Так что ничто не мешает BIOS искать EFI / BOOT / BOOTX64.EFI на этом разделе и загружаться с него.

Основным ограничением этого метода является то, что GRUB должен быть настроен для установки загрузочного файла EFI в пути для съемных носителей, потому что efibootmgrпытается загрузить BIOS непосредственно с mdустройства, а не sdX. Это можно сделать с grub-installпомощью --removableфлага.

UPD. Есть проблемы с совместимостью. Пробовал ту же конфигурацию на материнской плате ASUS P8Z68-V PRO / GEN3. Система не загружается независимо от того, что я делаю.

Глеб Майоров
источник
Мне также интересно, что произойдет, если ваш BIOS пишет в один из разделов
sourcejedi
Как насчет mdadm 0.90, который должен поддерживать старый grub ( читайте это )? Возможно, это будет работать для ASUS P8Z68.
hrvoj3e
Я проверил это, и это возможно только с метаданными MD версии 1.0, потому что раздел ESP остается в GPT, а метаданные хранятся позади. В метаданных версии 2.0 раздел включен в суперблок MD, поэтому микропрограмма не может его обнаружить.
Курос
5

После долгих экспериментов я думаю, что это ответ:

Системный раздел EFI (обычно смонтированный в /boot/efi/) не содержит много файлов, если, например, GRUB не хранится непосредственно там, а не в /boot/grub/. Содержимое обычно не меняется, поэтому нет необходимости в RAID-разделе. Наличие нескольких копий раздела на разных дисках также потребует установки загрузочных записей UEFI efibootmgr; обычно GRUB инициализирует это на основе смонтированного раздела /boot/efi/.

Так что кажется, что это и не нужно, и нелегко сделать.

Эндрю
источник
1
Но допустим, вы хотите использовать raid1 только для безопасности, если один диск выходит из строя. Будет "и не легко сделать". значит это возможно?
zidarsk8
Как насчет всех этих руководств, в которых говорится о загрузочном разделе и системном разделе efi?
CMCDragonkai
4

Я думаю, что короткий ответ: нет, системные разделы EFI (ESP) не могут быть RAID-ed. Однако вы все равно можете получить преимущества, подобные RAID, если клонируете ESP между вашими дисками RAID и добавляете оба раздела в цепочку загрузки EFI. Подробнее см. Как установить 64-битную Ubuntu 14.04 с разделом RAID 1 с двойной загрузкой в ​​системе UEFI / GPT? ,

Никлас Бёрлин
источник
Что бы вы предложили, чтобы быть лучшим способом синхронизации каждого раздела, /bootесли вы вносите изменения, такие как добавление нового ядра ... и т. Д.?
CMCDragonkai
Вам не нужно! Смотрите мой комментарий на askubuntu.com/questions/660023/… .
Никлас Бёрлин
2

Нет, это пока невозможно, большинство материнских плат с UEFI могут считывать ограниченное количество типов разделов для EFI (например, FAT32), и RAID не является одним из них.

Сэмюэл Джексон
источник