Wie installiere ich GRUB auf einer RAID-Systeminstallation?

43

Ich versuche Ubuntu auf einem RAID 1-Setup einzurichten und zu installieren. Ich habe zwei Festplatten, SDB und SDC. Ich habe diesen Leitfaden befolgt

https://help.ubuntu.com/community/Installation/SoftwareRAID

Das funktioniert mehr oder weniger, um alles einzurichten und Ubuntu zu installieren. Das Problem ist, dass am Ende der Installation versucht wird, GRUB zu installieren. Standardmäßig versucht es meine "erste Festplatte", die einen "schwerwiegenden Fehler" gibt. Ich habe versucht, es auf einer bestimmten Partition zu installieren, z. B. sdb1 sowie RAID-Geräte, z. B. md0, md1 usw. Nichts scheint zu funktionieren.

Der eigentliche Fehler ist

GRUB kann nicht in / dev / sdb installiert werden

Die Ausführung von 'grub-install' / dev / sdb ist fehlgeschlagen.

Dies ist ein schwerwiegender Fehler.

Dann kehre ich zum Hauptinstallationsmenü zurück. Wenn ich die Option "GRUB-Bootloader auf einer Festplatte installieren" wähle, kann ich die Partition auswählen, aber die Eingabe von sdb2 oder md1 führt zu demselben Fehler.

Also habe ich GRUB einfach nicht installiert, was bedeutet, dass ich vermutlich eine funktionierende Ubuntu-Installation habe, die ich aber nicht booten kann. Ich habe versucht, von der LiveCD zu booten, um GRUB zu installieren, aber ich kann nicht in mein System chrooten, da es nicht zu erkennen scheint, dass es sich bei meiner Festplatte um eine Linux-Festplatte handelt. Es liegt ein Fehler vor, dass es sich um eine RAID-Partition handelt.

Grundsätzlich würde ich gerne wissen, wie Sie wissen, auf welchem ​​Gerät GRUB bei der Installation installiert werden soll, oder zumindest, wie Sie es jetzt auf meinem System installieren können.

Ich nehme an, ich sollte auch erwähnen, dass sda eine Windows 7-Installation ist, die ich gerne behalten und beim Booten zugreifen möchte.

Vielen Dank für jede Hilfe.

Kris Harper
quelle
Ohne zu sagen, was der Fehler war, können wir nicht helfen. Die Installation auf sda (und möglicherweise auch auf sdb und sdc) ist die richtige Vorgehensweise. Um von der Live-CD auf den RAID zuzugreifen, müssen Sie das mdadm-Paket installieren:sudo apt-get install --no-install-recommends mdadm
psusi
Tut mir leid, ich habe meinen Beitrag so bearbeitet, dass er die Fehlermeldung enthält. Der Grund, warum ich versucht habe, auf etwas anderem als sdb, sdc zu installieren, ist, dass ich diesen Thread gelesen habe, der zu sagen schien, dass ich die richtige Partition unter / dev / mapper finden sollte. Aber wenn ich im Installationsprogramm auf die Shell gehe, erscheint in / dev / mapper nichts anderes als control.
Kris Harper
Das ist für Fakeraid, nicht für Software-Raid.
Psusi
1
Verwenden Sie eine MSDOS- oder GPT-Partitionstabelle? Wenn Sie GPT verwenden, müssen Sie eine bios_boot-Partition erstellen.
Psusi
1
Ich habe es geschafft, drei Partitionen auf jedem Laufwerk zu erstellen, zwei Sätze für das Dateisystem zu RAIDen und auszutauschen und die letzten beiden unRAIDiert zu lassen. Dann habe ich / boot als Einhängepunkt für einen von ihnen ausgewählt und diesen bei der Installation von GRUB ausgewählt. Das scheint zu funktionieren. Meine einzige Sorge ist, dass GRUB nicht auf dem anderen Laufwerk installiert ist. Wenn also ein Laufwerksfehler auftritt, kann ich möglicherweise nicht booten. Vielleicht kann ich dies beheben, indem ich GRUB auf dem anderen Laufwerk installiere, obwohl diese Partition nicht als / boot-Mount-Punkt festgelegt ist?
Kris Harper

Antworten:

16

Mein Problem stellte sich heraus, dass ich eine GUID-Partitionstabelle hatte, da meine Laufwerke jeweils 2 TB groß waren. Die Methode, die ich ursprünglich zu befolgen versuchte, ging nicht davon aus, und so funktionierte die Installation von GRUB nicht.

Stattdessen sollten Sie auf jeder Festplatte eine kleine Partition (1 MB) erstellen und diese zusammen RAID-fähig machen und als GRUB-Startpartition festlegen (der tatsächliche Name ist mir nicht bekannt). Richten Sie Ihre anderen RAID-Partitionen ein (z. B. Swap und / oder), und der GRUB-Installer sollte den Boot-Bereich in Ordnung finden.

(Unter Debian wird dies als reservierter BIOS-Boot-Bereich bezeichnet .)

Kris Harper
quelle
1
dies funktioniert nur für raid1 - ich habe dies für raid6 ausprobiert und es schlägt immer wieder fehl, ohne dass eine
hilfreiche
Wie haben Sie den Software-Raid erstellt? Ich versuche gerade, das Gleiche zu tun. siehe meine frage zu serverfault: serverfault.com/q/749274/71452
c33s
13

Viele der Antworten hier sind einfach falsch und fordern Sie auf, BIOS-RAID zu deaktivieren! Die richtige Lösung findet sich bei diesem Blogeintrag . Ich werde es unten zusammenfassen.

In der Phase der Installation, in der versucht wird, GRUB zu installieren, wird Folgendes erkannt:

/dev/mapper

Das ist unvollständig! Aus diesem Grund schlägt die GRUB-Installation fehl.

Sie benötigen den tatsächlichen Namen des RAID-Arrays, auf dem die Installation erfolgen soll . Drücken Sie während dieses Schritts ctrl+ alt+ F2, um zu einem Busybox-Terminal zu wechseln, und geben Sie dann ein

ls -l /dev/mapper

Wählen Sie den Namen Ihres Arrays aus der angezeigten Liste aus und drücken Sie ctrl+ alt+ F1, um zur Installation zurückzukehren (Sie können problemlos beliebig weiterschalten) und geben Sie ihn in das Feld ein

/dev/mapper/{your array name}  

Dann wird GRUB perfekt installiert und Sie können loslegen, wobei ein ordnungsgemäßes BIOS-RAID-Array intakt ist.

Jeff Atwood
quelle
7
Was ist, wenn ls -l / dev / mapper nur "control" als Inhalt anzeigt?
Brian Bauman
Ich bin mir nicht sicher. Ich vermute, Sie haben zu diesem Zeitpunkt noch kein BIOS-RAID, auch bekannt als "Fake" -RAID?
Jeff Atwood
Ich schließe die Partitionierung und Installation wie gewohnt ab und die Installation schlägt dann bei der GRUB-Installation fehl. Ich bin mir nicht sicher, warum das RAID zu diesem Zeitpunkt nicht initiiert wurde, da die Installation speziell auf die drei RAID-Arrays ausgerichtet war, die ich erstellt habe - raid1 /, raid0 swap und raid1 / home.
Brian Bauman
Es ist erwähnenswert, dass ich fälschlicherweise fakeRAID und Software-RAID austauschbar verwendet habe. Mein erster Versuch basierte auf der Verwendung des BIOS-Raids, aber der Rat dieses Threads empfahl, stattdessen Linux-Software-RAID zu verwenden, was ich seitdem versucht habe, um zu funktionieren. Werde deinen Rat mit BIOS fakeRAID nochmal versuchen und zurückmelden.
Brian Bauman
1
Gilt das noch für den 14.04? Ich kann die Boot-Flagge in 14.04 nicht aktivieren - daher frage ich mich, ob diese Lösung nur für 12.04
Mr.Gosh
2

Eine kleine Variation des @ root45-Rezepts hat mich dazu gebracht (auf einem Ubuntu-System). Ich habe die bootfähige Partition nicht zum Teil des Raid-Arrays gemacht.

Ich habe eine kleine bootfähige GRUB-Partition erstellt (ich habe die Option des Partitionseditors gewählt: "use is 'bootgrub'" oder ähnliches) und habe sie nicht zusammen mit den Swap- und Datenpartitionen (/) zum Teil des Raid-Geräts gemacht.

Sie können die Grub2-Daten jederzeit in die 'bootgrub'-Partition zurückschreiben. Der Installationsvorgang wird in Ihrem Namen ausgeführt, wenn Sie die Wahl haben, nachdem alle von Ihnen ausgewählten Pakete installiert wurden. oder zu einem späteren Zeitpunkt, wenn die grub-install /dev/sdaÄnderung von 'sda' zu dem Gerät der Partition, die Sie in 'Schritt 1' oben verwendet haben, als 'bootgrub' beschädigt wurde.

Wenn Sie beispielsweise die Installation der vielen Pakete auf einem LAMP-Server veranlassen, kann es einige Zeit dauern, bis Sie nach der Partitionierung gefragt werden, ob Sie die Grub2-Daten auf die Festplatte schreiben möchten Zeit verursachte einen Fehler, bis ich das Gerät meiner "bootgrub" -Partition versorgte ... und alles in Ordnung ging und ich jetzt ein funktionsfähiges System habe.

iainH
quelle
1

Ich kann jetzt nicht helfen, grub zu installieren, aber was ich getan habe, um mein RAID zum Laufen zu bringen, ist, dass ich diese Anweisung befolgt habe:

So installieren Sie Ubuntu 8.04 mit Software RAID1 | HowtoForge - Linux Howtos und Tutorials und installiere grub auf jeder RAID-Partition (nicht Swap).

Dies ist hilfreich, wenn eine Festplatte ausfällt und immer noch ein Problem vorliegt.

K. Hendrik
quelle
Wenn ich meine erste Partition (für das Dateisystem) erstelle, kann ich diese Partition nicht als startfähig festlegen. Die Option ist vorhanden, aber wenn ich sie auswähle, flackert sie nur und sagt "bootable flag: no". Ich habe es trotzdem installiert, aber bei der Installation von GRUB ist immer noch derselbe Fehler aufgetreten.
Kris Harper
Hmm, ich habe noch nie von so einem Verhalten gehört. Was ist die genaue Konfiguration, die Sie verwendet haben, um Ihren Raid einzurichten?
K. Hendrik
Ich habe drei Festplatten, sda ist Windows 7. Die anderen, sdb und sdc sind leer, wenn ich anfange. Wenn ich zum Partitionsmanager komme, erstelle ich auf jedem Laufwerk eine neue Partition für das Dateisystem. In Ihrem verlinkten Handbuch heißt es, dies als "physisches Volume für RAID" und nicht als "Ext4-Dateisystem" festzulegen, also habe ich das getan. Dies bedeutet jedoch, dass ich das Boot-Flag nicht setzen kann. Ich habe den Rest des Laufwerks getauscht und das Gleiche bei den anderen Laufwerken getan.
Kris Harper
Mir scheint, Sie folgen den Anweisungen nicht vollständig. Nachdem Sie die RAID-Volumes erstellt haben, müssen Sie sie einem RAID zuordnen. Anschließend weisen Sie das Dateisystem zu, z. B. ext4. Danach können Sie das startfähige Flag zuweisen. Sie müssen auf jedem Laufwerk zwei RAID-Partitionen erstellen, um eine für / auszutauschen.
K. Hendrik
Nun, das habe ich schließlich getan. In Ihrem Handbuch heißt es jedoch "Partition bootfähig machen", bevor Sie das Software-RAID erstellen, und das Installationsprogramm lässt mich das nicht zu. Ich habe die Installation durchgeführt und das RAID erstellt, dann zugewiesen / und auf die beiden RAID-Geräte gewechselt. Beim Versuch, GRUB zu installieren, ist jedoch immer noch ein Fehler aufgetreten.
Kris Harper