EFI System Partition + Raid1 Mirror

Berniyh

Grand Admiral Special
Mitglied seit
29.11.2005
Beiträge
5.206
Renomée
219
So, ich versuche gerade Fedora 17 auf einem Computer zu installieren (das alleine scheint schon Hürde genug zu sein...).
Eckdaten:
- AMD Fusion System
- 2x 640GB Platten
* 200MB EFI System Partition
* 500MB Boot Partition
* Rest als / (ich könnte hier auch noch ein LVM o.ä. einfügen, aber das spielt hier keine Rolle)

Das Ziel soll sein, dass das System bootet auch wenn eine der beiden Platten ausfällt und zwar ohne dass ich gleich eine Live CD zur Hand nehmen muss. Das bedeutet, dass möglichst alle 3 Partitionen Teil eines RAID1 Verbundes sein sollten.
Hier beginnen allerdings die Probleme. Ob das bei der EFI Partition möglich ist konnte ich nach wie vor nicht zuverlässig herausfinden und bei der /boot Partition weigert sich der Fedora Installer mit der Begründung, dass /boot auf keinen RAID1 liegen darf (was aber Quark ist, ich habe ein derartiges System problemlos in Verwendung).
Gut, da es ja keine TB Platten sind könnte ich ja auch einfach die alte MBR Methode nehmen, aber denkste. Auch mit 1MB bios_boot Partition verweigert der Fedora Installer tapfer die Installation mit der Begründung, dass keine Partition für den Stage1 Bootloader vorhanden sei (das genau soll aber ja diese zusätzliche Partition bereitstellen und genau darauf verweisen ja auch alle Problemlösungen im Internet).

Naja, dann muss man wohl einen Umweg gehen:
1. Partitionen erstellen, aber nur auf Platte 1 EFI System Partition und Boot Partiton verwenden, auf Platte 2 den Platz entsprechend freihalten bzw. die Partitionen nicht verwenden
2. Nach der Installation die Änderungen vornehmen um auch die Boot Partition zu spiegeln und evtl. auch die EFI Partition
3. Hope & Pray?

Genau das habe ich gerade versucht, allerdings schmiert mir während der Installation der Fedora Installer ab, nach oder während der Größenänderung des Dateisystems bzw. der Partition.
Das ist allerdings in sich ziemlich mies, denn wenn er das auch bei existierenden Dateisystemen/Partitionen machen würde, wäre es ja möglich, dass das System in einem unsauberen Zustand zurückgelassen wird? Macht den Installer jedenfalls nicht vertrauenserweckend.
Dazu stellt sich mir zudem die Frage, warum der Installer überhaupt einen resize aufrufen muss. Die Partitionen werden frisch formatiert und nicht in der Größe geändert. Wie stupide muss man eigentlich vorgehen um immer zu formatieren und dann in der Größe anzupassen (genau das scheint er nämlich zu machen).

Hat jemand einen Vorschlag, wie man hier am besten vorgeht? Evtl. kann man das eine oder andere Problem umschiffen?
Weiß jemand, wie sich das mit EFI + Raid1 verhält? Kann irgendwie nicht glauben, dass redundandes Booten mit UEFI der Vergangenheit angehören soll.

Ach ja, eine Eigenheit des Fedora Installers geht mir auch noch auf die Nerven. Wenn man den Installer beendet (sei es über das X im Window Manager oder über Klicken auf Exit) wird ohne Nachfrage sofort das System neu gestartet. Man kann das Teil nicht beenden ohne Neustart, abgesehen von einem kill natürlich, was die einzige Möglichkeit zu sein scheint. Wer sich den Quatsch einfallen hat lassen gehört... naja, lassen wir das.
 
Die Lösung mit dem kopieren der Boot-Partition hatte mir Google vor ein paar Jahren für mein Raid-1 angegeben (CentOs), falls du eine andere Lösung findest wäre es schön wenn du sie hier veröffentlichst.
 
Die Lösung mit dem kopieren der Boot-Partition hatte mir Google vor ein paar Jahren für mein Raid-1 angegeben (CentOs), falls du eine andere Lösung findest wäre es schön wenn du sie hier veröffentlichst.
Die boot Partition ist eigentlich kein Problem mehr, seit es Grub2 gibt, da das raid-Unterstützung mitbringt. Linux selbst kannst du von einem RAID1 booten, um das nicht zu kompliziert zu machen müssen die Partitionen aber den Typ Linux RAID Auto haben (Kennzeichen fd bzw. fd00). Falls das nicht der Fall ist musst du dem Kernel als Parameter mitgeben was er als md0 ansehen soll, z.B.: md=0,/dev/sda1,/dev/sdb1 root=/dev/md0
Mit auto raid kannst du dir den md=0... Parameter sparen, da reicht dann root=/dev/md0
Kann natürlich auch die UUID des raids angeben.

Wichtig ist allerdings, dass bei Grub2 auch die entsprechenden raid-Module geladen werden. Das sollten glaube ich raid, mdraid1x und evtl. mdraid09 sein.
 
So, ich hab es mittlerweile gelöst.

Zunächst hatte ich folgendes probiert:
1. Den Installer per default auf eine der Platten installieren lassen
2. Inhalt von /, /boot und /boot/efi auf eine externe Festplatte gesichert (rsync -av)
3. Beide Platten neu partitioniert mit GPT
4. Auf beiden Platten eine EFI Boot Partition erstellt mit identischem Inhalt
5. Auf beiden Platten eine /boot Partition erstellt und die als RAID1 Mirror eingetragen, Partitionstyp fd00 (Linux RAID Auto)
6. Auf beiden Platten Paritionen für / erstellt und ebenfalls als RAID1 Mirror konfiguriert, Partitionstyp fd00 (Linux RAID Auto)
7. Inhalte von der externen Platte zurückkopiert (rsync -av)
8. fstab angepasst um die neuen UUIDs zu verwenden
9. grub.cfg (bzw. /etc/default/grub) angepasst um die raid module zu laden
10. mittels efibootmgr die neuen Einträge erstellt

Leider hat das nicht funktioniert, es kam keine Fehlermeldung, sondern nur ein schwarzer Bildschirm. Was hier schief gegangen ist kann ich leider nicht sagen, da habe ich keine Informationen und meine Erfahrungen mit EFI gehen auch nicht weit genug um das beurteilen zu können.

Also bin ich einen eher klassischen Weg gegangen:

1. Fedora CD nicht über UEFI starten sondern den klassischen BIOS Boot (dadurch installiert der Installer nicht die UEFI Variante, das ist wichtig)
2. Den Installer per default auf eine der Platten installieren lassen
3. Inhalt von / und /boot auf eine externe Festplatte gesichert (rsync -av)
4. GPT gelöscht, klassische MSDOS Pat erstellt
5. Auf beiden Platten eine /boot Partition erstellt und die als RAID1 Mirror eingetragen, Partitionstyp fd (Linux RAID Auto)
6. Auf beiden Platten Paritionen für / erstellt und ebenfalls als RAID1 Mirror konfiguriert, Partitionstyp fd (Linux RAID Auto)
7. Inhalte von der externen Platte zurückkopiert (rsync -av)
8. fstab angepasst um die neuen UUIDs zu verwenden
9. grub.cfg (bzw. /etc/default/grub) angepasst um die raid module (raid und mdraid1x) zu laden
10. grub auf beiden platten in den mbr installiert (grub2-install /dev/sda und grub2-install /dev/sdb)

Das hat dann funktioniert und läuft seitdem wunderbar.
Leider gab es dann noch weitere Probleme, welche hauptsächlich mit Selinux zusammenhingen, da Dinge falsch gelabelt wurden. Dadurch wurde z.B. der Login verhindert, was natürlich ziemlich bescheuert ist.
Ehrlich gesagt empfinde ich es ohnehin als Overkill hier standardmäßig Selinux einzusetzen, aber naja... :]
Wenigstens läuft es jetzt...

Edit: Wenn noch jemand Hinweise zu der EFI-Sache hat, dann bin ich dankbar. War sicher nicht das letzte mal, dass mir das begegnet ist...
 
Leider gab es dann noch weitere Probleme, welche hauptsächlich mit Selinux zusammenhingen, da Dinge falsch gelabelt wurden. Dadurch wurde z.B. der Login verhindert, was natürlich ziemlich bescheuert ist.

Waren die Dateien bei einer Neuinstallation ohne alte Daten falsch gelabelt? Das wäre in der Tat ein gravierender Bug. Meist stammen allerdings falsch gelabelte Dateien aus alten Beständen, welche in eine neuere Installation übernommen werden.

Dagegen hilft ein Relabeling der betroffenen Partitionen, heißt Datei mit dem Namen "autorelabel" auf der Partition anlegen und Rechner neu starten. Das ist bei mir inzwischen nach jedem Fedora Upgrade zum Ritual geworden.
 
Waren die Dateien bei einer Neuinstallation ohne alte Daten falsch gelabelt? Das wäre in der Tat ein gravierender Bug. Meist stammen allerdings falsch gelabelte Dateien aus alten Beständen, welche in eine neuere Installation übernommen werden.

Dagegen hilft ein Relabeling der betroffenen Partitionen, heißt Datei mit dem Namen "autorelabel" auf der Partition anlegen und Rechner neu starten. Das ist bei mir inzwischen nach jedem Fedora Upgrade zum Ritual geworden.
Genau das habe ich auch gemacht. Inzwischen habe ich die Vermutung, dass es damit zusammenhängt, dass ich die Daten ja einmal hin- und herkopiert habe (ging auf Grund der Installereinschränkungen ja nicht anders). rsync behält zwar sämtliche Rechte und Modifikationszeiten etc. aber vermutlich eben nicht die selinux labels.
Sicher bin ich aber nicht.
 
Zurück
Oben Unten