Kein RAID1 mit Ubuntu Server 9.10?

Roadrunner2k

Enthusiast
Thread Starter
Mitglied seit
28.10.2007
Beiträge
1.415
Hallo

habe die letzten Tage versucht ein RAID1 aus zwei WD 320GB Festplatten für meinen Homeserver einzurichten. Installation funktioniert soweit ganz gut auch die Erstellung des Software RAID Verbundes im Installer funktionier, doch dann wenn er GRUB2 installieren will kommt ein Fenster, in dem ich gefragt werde wohin mit dem Bootlader.
Vorausgewählt ist /dev/md
md0 und md1 funktionieren nicht und bei sda oder sdb hat jeweils nur eine Platte den Bootloader. Was also tun?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Software Raid am besten über Partitionen und den Bootloader einfach in eine kleine extra Partition auf sda.
 
Aber das Raid1 für das OS soll dazu dienen wenn eine Festplatte ausfällt, dass der Server immer noch starten kann.
Wenn der Bootloader auf sda sitz und diese Platte ausfällt ist die RAID1-Kopie auf sdb nutzlos.
 
du musst 3 RAID Volumen Basteln.

/boot
/
und SWAP
für jedes machst du ein RAID1 (md0-2)
und das machst du befor du ubuntu installierst mit einer live cd oder einer shell etc...

und dann wählst du /boot -> Eingängevolumen unter /boot
/ -> /
SWAP -> SWAP

Fertig...

Alles natürlich Grob, Hilfe findest du in einem Thread von mir. Suchmal hier im Linux Forum

(http://www.hardwareluxx.de/community/showthread.php?t=665390)
 
Wieso live CD?

Das kann ich doch alles im Text-basierten Installer machen.

Also nochmal langsam:

Auf sda:
1 GB /boot
4 GB /swap
rest / root

auf sdb:
1 GB /boot
4 GB /swap
rest / root

und dann 1GB boot sda und sdb zu Raid1 verbinden?
Rest ebenso.

Alles richtig?
 
richtig im schnellvorlauf ;)

Boot brauch zwar nur ca. 60 MB aber man weiß ja nie ;)

dann sda1 und sdb1 = md0 = boot
sda2 u sdb2 = md1 = /
sda3 u sdb3 = md2 = SWAP

mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1

und dann normal in der Ubuntu Installation weitermachen. Hab ja nochmal ein link gepostet wos richtig geil von Foxxx ( danke nochmal ) geschildert wurde
 
Aber das Raid1 für das OS soll dazu dienen wenn eine Festplatte ausfällt, dass der Server immer noch starten kann.
Wenn der Bootloader auf sda sitz und diese Platte ausfällt ist die RAID1-Kopie auf sdb nutzlos.

Dann machste das halt auf beiden Platten gleich und musst dann halt immer beide Bootloader pflegen.

Oder halt so wie NiclasM es beschrieben hat.
 
Warum 2 Bootloader pflegen? Die Menu.lst von grub hat man ja beispielsweise auf der md0 also praktisch unter /boot/grub/menu.lst. Den Bootloader musst du nur 2x installieren. Einmal auf der SDA und einmal auf der SDB. Die Befehlsabfolge wäre in etwa:

grub
root (hd0,0)
setup (hd0)
root(hd1,0)
setup(hd1)
quit

Dann hast du den Bootloader auf jeder Platte und die erste kann einfach kaputt gehen und das System bootet weiterhin
 
Nein ! Ich habs selbst getestet!

Wenn ie Boot Parititon auch gespiegelt ist, ist egal und man muss keine 2 Bootloader Configurieren, selbst wenn die nicht gespiegel sind da :

Fals die Festplatte nichtmehr erkannt wird, und abrauch (sda) wird sdb zu sda und wenn dann die hd auf 1 anstadt auf 0 steht, bootet er von sdb(1)
und funzt nicht ;)
 
@Nascar: Gut, wahrscheinlich geht es mit deiner Konfiguration einfacher. Jedoch bin ich von ingesamt 4 Partionen ausgegangen. 2x /boot und 2x / (Raid1).

@NiclasM: Die Config muss natürlich zweimal die gleiche sein, ich meinte nur wenn man irgendwas ändert, Kernel oder so. Das man dann beide Config-Dateien ändern muss.
 
Ja das ist klar, aber ist schwachsinnig, da du ja auch die /boot als RAID machen kannst, somit sparste dir die arbeit. Wäre das schlauste was du machen kannst :d
 
Nein ! Ich habs selbst getestet!

Wenn ie Boot Parititon auch gespiegelt ist, ist egal und man muss keine 2 Bootloader Configurieren, selbst wenn die nicht gespiegel sind da :

Fals die Festplatte nichtmehr erkannt wird, und abrauch (sda) wird sdb zu sda und wenn dann die hd auf 1 anstadt auf 0 steht, bootet er von sdb(1)
und funzt nicht ;)

Hää?? Wenn die SDB zur SDA wird, dann bootet er, sofern der Bootloader auch auf die hd1 installiert wurde. Denkt dran, dass der Bootloader NICHT in die Partition geschrieben wird und repliziert wird. Der Bootloader wird immer noch in den MBR geschrieben und dieser ist in keiner Partition, sondern auf den ersten 512Byte der Festplatte.
 
um genau zu sein hast du bei GRUB 446 Byte für die map.
Wenn du ein RAID1 hast , dann liegt auf beiden Platte immer das gleiche, auch auf den ersten 512 Byte.

Ich hatte hier einen Server. Auf ihn habe ich ein RAID1 mit sda und sdb gebaut.

Wie ichs oben erzählt habe.
Gestet habe ich das so :

Server im laufendembetrieb die Platte sda AB, FREEZE - Neustartet und er bootet normal.

Platte sda wieder dran, er bootet auch normal aber wieder von sda.
 
Das klingt ein wenig unglaubwürdig denn:
Du erstellst zuerst die Partitionstabelle und dann wird das RAID in die erstellen Partitionen gebaut. D.h. In die ersten 512Bytes wird vom MDRaid nicht mehr geschrieben. Debootstrapt man ein System ganz normal, macht alles alleine und nutzt nicht so einen quarks installer, dann ist auf der SDB der MBR definitiv leer. Und da kannst du versuchen zu booten wie du willst, es wird nicht funktionieren.
 
Ich schöre dir, es hat ohne Problebe funktioniert, denn genau dafür ist ein RAID1 ja auch da. Verfügbarkeit. Neustarten und es muss laufen.
 
Mag ja sein, dass es dafür da ist :d Aber ein Software Raid 1 schreibt keinen MBR :) Das muss immernoch manuell geschehen.

Wenn du jetzt mit Fdisk beispielsweise 2 Partitionen erstellst. Dann bleibt der MBR vorerst leer, es wird die Tabelle geschrieben und gut ist. Anschließen erstellst du ein RAID 1 auf sda1 und sda2 und fügst meinet die sdb1 und sdb2 hinzu. Auch hier bleibt der MBR unberührt, da MDADM nicht weiß, dass es sich bei den jeweiligen Partitonen um den Bootsektor handelt und das wird es auch nie wissen, da es keine Möglichkeit gibt, mdadm zu sagen, hey das hier ist mein MBR.

Bei einem Hardwareraid Okay. Das repliziert den MBR, aber kein Software RAID :)

Wenn es bei dir funktioniert hat, dann hast du entweder einen automatischen installer genutzt, oder hast mit irgendeinen Befehl den MBR auf beide Festplatten geschrieben.

Ich mach sowas nun täglich und ich glaub ich weiß was ich da erzähle :d

MfG
Alex
 
Wie gesagt, ich habs nach der Anleitung von Foxxx gemacht.

http://www.hardwareluxx.de/community/showthread.php?t=665390

Und ich habe die platten selbst formatiert und nicht so.

dd if=/dev/sdb of=/dev/sda bs=512 count=1

also wenn ich das RAID md0 (boot) erstellt habe und formatiert habe besitzt es kein MBR.

ABER wenn ich dann in der Debian installation z.B. Grub installiere, installier GRUB ja auch in den MBR den Bootloader. Und dann auch in den MBR beider platten. Anders kann ich mir es nicht vorstellen und es muss ja so gehen sonst hätte ich nicht so normal booten können ;)
 
Wenn ich GRUB2 in auf SDA oder SDB installiert hatte, meckerte Ubuntu nach dem Installationsneustart rum, dass entweder SDA oder SDB nicht identisch sind.
 
Macht er nur eine Warnung und Startet er oder kannst du nicht starten ?

Wie hasts dus den jez genau gemacht ?
 
Jetzt ein paar Bilder von der Installation.

Fertige Partitionierung:
dscn5090.jpg


Frage 1:
dscn5091.jpg


Bestätigung 1:
dscn5092s.jpg


SSH-Server installieren:
dscn5093l.jpg


Beschriebenes Problem mit Grub:
dscn5094.jpg


Wenn md0 oder md1 eingegeben wird:
dscn5095.jpg


---------- Beitrag hinzugefügt um 23:08 ---------- Vorheriger Beitrag war um 23:06 ----------

Hauptsächlich macht sich beim Start von Ubuntu der kaputte bzw. fehlende Bootlader durch ein ca. 3 Minütiges Anzeigen von: "Grub loading" bemerkbar, bevor der Server überhaupt das OS lädt!
 
Wie ich oben bereits geschrieben hatte, der MBR ist nicht im RAID Device zu finden! Du musst dort /dev/sda oder (hd0) angeben.
 
Meiner Info nach kann Grub überhaupt nicht in ein RAID-Verbund gepackt werden, sondern braucht eine separate partition? Von daher kann das doch gar nicht gehen.

Ich würd nen 64 MB USB-Stick dranklemmen und dort Grub installieren :fresse:
 
Ach Mädels :( Ich hab so langsam das Gefühl mir hört keiner zu.

Anbei mal die Konfig meines Systems:
fdisk -l
Code:
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000a1ff7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          24      192748+  fd  Linux raid autodetect
/dev/sda2              25         522     4000185   82  Linux swap / Solaris
/dev/sda3             523        3012    20000925   fd  Linux raid autodetect
/dev/sda4            3013       19457   132094462+  fd  Linux raid autodetect

Disk /dev/sdb: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0007ca0a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1          24      192748+  fd  Linux raid autodetect
/dev/sdb2              25         522     4000185   82  Linux swap / Solaris
/dev/sdb3             523        3012    20000925   fd  Linux raid autodetect
/dev/sdb4            3013       19457   132094462+  fd  Linux raid autodetect

Disk /dev/md0: 197 MB, 197263360 bytes
2 heads, 4 sectors/track, 48160 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

    Device Boot      Start         End      Blocks   Id  System

Disk /dev/md1: 20.4 GB, 20480851968 bytes
2 heads, 4 sectors/track, 5000208 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md3: 135.2 GB, 135223508992 bytes
2 heads, 4 sectors/track, 33013552 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md3 doesn't contain a valid partition table
fstab:
Code:
/dev/md1 /    ext3 defaults 0 1
/dev/md0 /boot    ext3 defaults 0 2
/dev/md3 /home     ext3 defaults 0 3

Man benötigt keinen USB Stick oder sonst was um von einen Software RAID booten zu können, da der Bootloader nicht in die RAID Partitionen, sondern in den MBR installiert wird. Lest euch am besten die Funktionsweise von GRUB einmal durch: http://de.wikipedia.org/wiki/Grand_Unified_Bootloader
 
So langsam blicke ich nicht mehr durch hier...

Nascar könntest Du mir bitte auflisten, was ich nach der Installation von Ubuntu und der Installation des Bootladers auf sda eingeben muss?
 
Also anbei mal wie ich eine Debian installation machen würde. Das ist praktisch genau das selbe wie bei Ubuntu auch.

- mit fdisk Partionen auf der sda erstellen. z.B. 3 Partionen für Boot, Swap und root
- Partitionstabelle mit "sfdisk -d /dev/sda | sfdisk /dev/sdb" auf die 2. Festplatte kopieren
So nun Befehlsabfolge:
Code:
mdadm --create --verbose /dev/md0 --auto=yes --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create --verbose /dev/md1 --auto=yes --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1
mount /dev/md1 /mnt/
mkdir /mnt/boot/
mount /dev/md0 /mnt/boot/
debootrap --arch=AMD64 lenny /mnt/ QUELLSERVER
mount -o bind /dev/ /mnt/dev/
chroot /mnt/
mount /proc/
mount /sys/
apt-get install grub
grub-install
grub 
> root (hd0,0)
> setup (hd0)
> root (hd1,0)
> setup (hd1)
> quit
apt-get install linux-image-blafokernelblubb
update-grub
cat /etc/mtab /etc/fstab
passwd
Ich hoffe ich hab jetzt nichts vergessen. für mich war das jetzt grad erstmal alles.

@ Roadrunner2k.

Ich installiere für gewöhnlich nur den Bootloader nochmal über die Console also:
grub
> root (hd0,0)
> setup (hd0)
> quit
 
Wie jetzt?

So wie Du beschrieben hast oder den letzten Schritt?
Welcher ist der einfachste?
Brauche doch nur den Bootlader von sda auf sdb kopieren oder?
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh