
UEFI erfordert das Booten von einem ESP, das meistens als vFAT formatiert ist. Wenn ich mich richtig erinnere, könnte BTRFS Untervolumes haben, die wie der Logical Volume Manager (LVM) als ext3/ext4 formatiert sind. UEFI unterstützt jedoch kein Booten von BTRFS. Meistens besteht die Lösung einfach darin, drei (oder 2N + 1) Festplatten zu verwenden, zwei für das RAID und eine zum Booten. Mein Hauptanliegen in diesem Fall ist eine einfache RAID1-Spiegelung. In diesem Fall kann ich jedoch nur zwei Festplatten verwenden. Wenn das Motherboard BIOS verwenden würde, könnte ich einfach die Bootpartition spiegeln.
Ich habe gehört, dass dieses Problem (die Notwendigkeit, zum Booten eine zusätzliche Festplatte zu verwenden) ein Grund dafür ist, warum Leute zu (FreeBSD mit) ZFS gewechselt sind, aber vielleicht erinnere ich mich auch falsch.
In meinem Fall habe ich eine ganze Festplatte mit einer Partition gespiegelt. Das heißt, die zweite Festplatte hatte zwei Partitionen: eine ESP- und eine BTRFS-Partition. Ich gehe jedoch davon aus, dass BTRFS-RAID1 nicht so verwendet werden soll. Meine Frage lautet also konkret:
- Führt diese Konfiguration zu Beschädigungen oder anderen unbeabsichtigten Folgen?
- Was wäre eine bessere Lösung?
Antwort1
Soweit ich Ihre Angaben entnehme, verfügen Sie über zwei Datenträger mit folgendem (oder einem ähnlichen) Datenträgerlayout:
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.
Dies ist in fast allen Fällen genau das, was Sie möchten, und wenn Ihre Konfiguration dies nicht widerspiegelt, möchten Sie dies wahrscheinlich entsprechend anpassen.
Das Linux-MD-Volume ist in diesem Fall ein RAID 1 zwischen sda1 und sdb1. Verändern Sie sd[a,b]1 nicht direkt und mounten Sie immer nur das daraus erstellte MD-Volume (normalerweise /dev/md0
oder /dev/md/0
es sei denn, Sie haben das Bedürfnis verspürt, ihm während der Erstellung einen speziellen Namen zu geben). Sie müssen unbedingt RAID1 für das ESP-Volume verwenden, da die Firmware des Motherboards erwartet, diese Daten beim Booten intakt auf jeder einzelnen Festplatte vorzufinden.
Die Swap-Partitionen werden natürlich aufgeteilt, aber der Ausfall einer Partition führt in fast allen Fällen nicht zum Systemabsturz. Verwenden Sie MD nicht für Swap, es sei denn, Sie haben einen guten Grund, da der Pager sehr intelligent ist.
Der BTRFS-Pool wird automatisch gescannt. Daher ist es am besten, dieses Volume per UUID anzugeben, wenn Sie Einträge dafür in der /etc/fstab
Datei hinzufügen.
GRUB2 kann von jedem BTRFS-RAID-Level booten. Stellen Sie einfach sicher, dass der „Stage 1“-Loader in beiden Partitionstabellen (sda, sdb) installiert ist. Dies geschieht beim Aufruf grub-install /dev/sda
(kann je nach Distribution leicht unterschiedlich sein).