Kann die EFI-Systempartition RAIDed werden?

12

Ich richte einen HTPC mit Ubuntu 64-Bit ein, verwende UEFI und RAID mit GPT-Festplatten.

Ist es möglich, dass die EFI-Systempartition (Partitionstyp 0xEF00) Teil eines RAID1-Arrays ist mdadm? Ich hoffe, dass Metadaten Version 1.0 (am Ende der Festplatte) dies zulässt.

Was sollte auch "Gerät für die Installation des Bootloaders" eingestellt werden, oder gilt dies nur für MBR-Festplatten?

Andrew
quelle

Antworten:

6

Wie Sie sagen, mdadm Metadaten ver. 1.0 macht den Job.

Ich habe es geschafft, eine funktionierende Konfiguration zu erhalten, die Gigabytes GA-C1037UN-EU EFI booten konnte. Diese Konfiguration ist auf RAID1 für ESP-Partitionen beschränkt, ermöglicht jedoch die Verwendung einer beliebigen RAID-Konfiguration für die restlichen Partitionen. Lassen Sie uns als Beispiel RAID1 auf zwei Laufwerken zeigen. Jede Festplatte wird auf folgende Weise partitioniert:

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

Erstes RAID, das über SDX1-Partitionen auf jedem Laufwerk erstellt und für die ESP-Partition verwendet wird. Der Rest der Laufwerkskapazität kann auf beliebige Weise verwendet werden, beispielsweise auch in RAID1. Lassen Sie das erste RAID sein /dev/md/efiund das zweite /dev/md/data. /dev/md/efisollten keine Partitionierungsbezeichnungen wie MBR oder GPT verwenden. /dev/md/datakann später partitioniert oder als LVM pv verwendet werden. Beispielsweise:

/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)

Metadaten ver. 1.0 hat eine einfache Funktion: Der Superblock wird am Ende der RAID-Partition gespeichert, sodass das BIOS eine einfache FAT32-Partition mit ESP- und BOOT-Flags erkennen kann. Nichts hindert das BIOS daran, EFI / BOOT / BOOTX64.EFI auf dieser Partition zu durchsuchen und von dieser zu booten.

Die Hauptbeschränkung dieser Methode besteht darin, dass GRUB so konfiguriert werden sollte, dass eine bootfähige EFI-Datei im Pfad für Wechselmedien installiert wird, da efibootmgrversucht wird, das BIOS direkt vom mdGerät zu starten , nicht sdX. Dies kann grub-installmit dem --removableFlag erfolgen.

UPD. Es gibt Kompatibilitätsprobleme. Versuchte gleiche Konfiguration auf ASUS P8Z68-V PRO / GEN3 Motherboard. Das System bootet nicht, egal was ich mache.

Gleb Mayorov
quelle
Ich frage mich auch, was passiert, wenn Ihr BIOS auf eine der Partitionen schreibt
sourcejedi
Was ist mit mdadm 0.90, das ältere Maden unterstützen sollte ( lesen Sie dies )? Vielleicht funktioniert es für ASUS P8Z68.
hrvoj3e
Ich habe es getestet und es ist nur mit MD-Metadaten Version 1.0 möglich, da die ESP-Partition in GPT verbleibt und Metadaten dahinter gespeichert werden. In Metadaten Version 2.0 ist die Partition in den MD-Superblock integriert, sodass die Firmware sie nicht erkennen kann.
Kouros
5

Nach langem Experimentieren denke ich, dass dies die Antwort ist:

Die EFI-Systempartition (normalerweise gemountet unter /boot/efi/) enthält nicht viele Dateien, es sei denn, GRUB wird stattdessen direkt dort gespeichert /boot/grub/. Der Inhalt ändert sich normalerweise nicht, sodass die Partition nicht RAID-fähig ist. Wenn mehrere Kopien der Partition auf verschiedenen Festplatten vorhanden sind, müssen auch die UEFI-Starteinträge festgelegt werden efibootmgr. Normalerweise initialisiert GRUB dies basierend auf der gemounteten Partition von /boot/efi/.

Es scheint also, dass beides nicht benötigt wird und nicht einfach zu tun ist.

Andrew
quelle
1
Angenommen, Sie möchten raid1 nur aus Sicherheitsgründen verwenden, wenn eine Festplatte ausfällt. Würde "und nicht einfach zu tun." meine es ist möglich
Zidarsk8
Was ist mit all diesen Handbüchern, in denen sowohl eine Boot-Partition als auch eine EFI-Systempartition demonstriert werden?
CMCDragonkai
4

Ich denke, die kurze Antwort lautet: Nein, EFI-Systempartitionen (ESPs) können nicht RAID-bearbeitet werden. Sie können jedoch weiterhin RAID-ähnliche Vorteile erzielen, wenn Sie das ESP zwischen Ihren RAID-Festplatten klonen und beide Partitionen zur EFI-Startkette hinzufügen. Weitere Informationen finden Sie unter Installieren von Ubuntu 14.04 64-Bit mit einer Dual-Boot-RAID 1-Partition auf einem UEFI / GPT-System. .

Niclas Börlin
quelle
Was würden Sie vorschlagen, um die einzelnen Partitionen am besten zu synchronisieren, /bootwenn Sie Änderungen wie das Hinzufügen eines neuen Kernels usw. vornehmen?
CMCDragonkai
Das musst du nicht! Siehe meinen Kommentar unter askubuntu.com/questions/660023/… .
Niclas Börlin
2

Nein, es ist noch nicht möglich. Die meisten Motherboards mit UEFI können eine begrenzte Anzahl von Partitionstypen für das EFI (z. B. FAT32) lesen, und RAID gehört nicht dazu.

Samuel Jackson
quelle