Wie installiere ich GRUB korrekt auf einem Soft-RAID 1?


21

In meinem Setup habe ich zwei Datenträger, die jeweils folgendermaßen formatiert sind:

(GPT)
1)  1MB   BIOS_BOOT
2)  300MB LINUX_RAID   
3)  *     LINUX_RAID   

Die Boot-Partitionen werden in / dev / md0 zugeordnet, die Rootfs in / dev / md1. md0 wird mit ext2 formatiert, md1 mit XFS. (Ich verstehe, dass die Formatierung auf den md-Geräten und nicht auf sd erfolgen muss - bitte sagen Sie mir, wenn dies falsch ist).

Wie richte ich GRUB richtig ein, damit das andere Laufwerk trotzdem bootet, wenn ein Laufwerk ausfällt? Und außerdem, dass ein Ersatzlaufwerk automatisch auch GRUB enthält? Wenn das überhaupt möglich ist, natürlich.

Antworten:


16

Wenn die beiden Datenträger /dev/sdaund sind /dev/sdb, führen Sie beide grub-install /dev/sdaund aus grub-install /dev/sdb. Dann können beide Laufwerke alleine booten.

Stellen Sie sicher, dass Ihre Grub-Konfiguration keine Festplatten wie diese enthält (hd0), sondern nach den UUIDs des Boot- und Root-Dateisystems sucht.

Mir ist keine Unterstützung für Grub bekannt, bei der zwei Festplatten als RAID-1-Arrays deklariert werden, sodass grub-installautomatisch auf beide geschrieben wird. Dies bedeutet, dass Sie erneut ausgeführt werden müssen, grub-installwenn Sie eine Festplatte ersetzen. Sie müssen nur noch neue Mitglieder zu den RAID-Arrays hinzufügen.


1
Msgstr "Stellen Sie sicher, dass Ihre Grub - Konfiguration keine Festplatten wie (hd0) enthält, sondern nach den UUIDs des Boot - und Root - Dateisystems sucht." Wie?
LifeofGuenter

1
@lifeofguenter Withsearch
Gilles 'SO- hör auf, böse zu sein'


1
Auf einigen Systemen ist es grub2-installstatt grub-install.
Ndemou

1
Beachten Sie, dass sich das RAID auf Partitionsebene und nicht auf Festplattenebene befindet. Wenn dies der Fall wäre, gäbe es kein Problem, da die Spiegelung auch den MBR spiegeln würde.
Marcos Dione

3

Ich habe dies in der Vergangenheit auf einigen Servern getan und manchmal Probleme festgestellt. Normalerweise führe ich die folgenden Aktionen aus

sudo grub-install /dev/sdb
sudo update-grub /dev/sdb

Die Probleme, auf die ich gestoßen bin, werden normalerweise mit Fehlermeldungen wie angezeigt

update-grub … update-grub failed with no such disk …

Um dies zu beheben, habe ich ausgeführt

sudo mv /boot/grub/device.map /boot/grub/device.map.old 
sudo update-grub 

und dies scheint das problem gelöst zu haben - als test habe ich in einigen fällen /sdv/sdanur das /dev/sdbbooten entfernt und verwendet , aber dies ist nicht ideal und höchstwahrscheinlich in den meisten produktionsumgebungen nicht möglich!


0

Meine Erfahrung bei der Installation von CentOS 5 und CentOS 6 ist, dass ich während der Installationsphase das RAID-1 zu diesem Zeitpunkt konfiguriert habe. Bei der Installation haben Sie die Wahl, dies zu tun. Folgendes stellte sich heraus: 1. Definierte / dev / sda1 als 1 GB als RAID-Partition 2. Definierte / dev / sdb1 als 1 GB als RAID-Partition 3. Erstellt RAID-Gerät / dev / md0 aus / dev / sda1 und / dev / sdb1 4. Erstellt die / boot-Partition mit / dev / md0. 5. Erstellt zusätzliche Partitionen mit den Schritten 1 - 3. 6. Implementiert LVM auf Partitionen, die in Schritt 5 erstellt wurden. Befolgen Sie dazu die Anweisungen.

Nach dem ersten Systemstart habe ich in der grub.conf den Eintrag / dev / sda1 in / dev / md0 geändert. Ich habe dann den Eintrag in die Splashimage-Zeile kopiert, die (hd0,0) hat und am Anfang ein # hinzugefügt und (hd0,0) in (hd1,0) geändert. Wenn Sie sich die obigen Antworten ansehen, die zeigen, wie Sie grub in / dev / sdb installieren, folgen Sie ihnen. Ändern Sie die fstab so, dass der Boot-Mount-Punkt / dev / md0 verwendet (wenn Sie auf diese Weise ein yum-Update durchführen und auf der / boot-Partition etwas aktualisiert ist, wird es sowohl in / dev / sda1 als auch in / dev / sdb1 geschrieben) ). Wenn Sie einen / dev / sda-Festplattenfehler haben, müssen Sie mit der Option rescue booten, die Zeile (hd0,0) auskommentieren und die Zeile (hd1,0) auskommentieren. Ihr System sollte bootfähig sein

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.