ubuntuusers.de

Grub bootet nicht vom RAID1

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

whatsmyname2009

Anmeldungsdatum:
7. Oktober 2009

Beiträge: Zähle...

Ich hatte dasselbe Problem. Hast Du, nachdem Du im Bootfilesystem ["(initramfs)"] den Raidchain "per Hand" assemblen mußtest und dann hochgefahren hast vom gebooteten Zielsystem aus eigentlich dann nochmal grub-install gemacht? Siehe http://www.danielstender.com/granthinam/?p=273.

Gruss, DS

jones79

(Themenstarter)

Anmeldungsdatum:
23. Juni 2009

Beiträge: Zähle...

Hm, ich habs probiert, hat aber nix gebracht. Hab ich auch nicht erwartet. Vermutlich hat beim dem Link den du geschickt hast einfach das

update-initramfs -k all -u 

das Problem gelöst und nicht die Neuinstallation von Grub.

Dann liegt das Problem vielleicht eher in der menu.lst.

Hab mal nachgeschaut wegen den UUIDs.

Beide Partitionen und auch der daraus bestehende RAID-Verbund haben identische UUIDs

sudo blkid /dev/sda1
/dev/sda1: UUID="dce1a3b2-805d-11de-bcd6-00241d22a649" SEC_TYPE="ext2" TYPE="ext3" 

sudo blkid /dev/sdb1
/dev/sdb1: UUID="dce1a3b2-805d-11de-bcd6-00241d22a649" SEC_TYPE="ext2" TYPE="ext3" 

sudo blkid /dev/md0 
/dev/md0: UUID="dce1a3b2-805d-11de-bcd6-00241d22a649" TYPE="ext3" SEC_TYPE="ext2" 

Muss das so sein?

In der menu.lst hab ich beide Einträge, einer davon auskommentiert.

#kernel		/vmlinuz-2.6.27-15-generic root=UUID=dce1a3b2-805d-11de-bcd6-00241d22a649 ro quiet splash locale=de_DE 
kernel		/vmlinuz-2.6.27-15-generic root=/dev/md0 ro quiet splash locale=de_DE 

Mit dem md0-Eintrag lande ich auf jedenfall in der BusyBox. Wenn ich jetzt über die UUID anwähle, woher weiß das Betriebssystem, dass es von md0 booten soll und nicht von einem der beiden anderen Laufwerke?

Muss man da vielleicht manuell eine andere UUID für md0 setzen?

Ausserdem bin ich auf folgendes gestoßen, vielleicht liegt da ja das Problem. System normal gebootet, RAID von Hand zusammengesetzt:

sudo mdadm --detail --scan
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=b1252633:a166f6e5:21c8caa4:d967ef64

blkid /dev/md0 
/dev/md0: UUID="dce1a3b2-805d-11de-bcd6-00241d22a649" TYPE="ext3" SEC_TYPE="ext2" 

Also sind da irgendwie zwei unterschiedliche UUIDs im Spiel. Wie kann denn sowas sein? Ich hab auch noch die /etc/mdadm/mdadm.conf gecheckt:

DEVICE partitions

ARRAY /dev/md0 level=raid1 num-devices=2 UUID=dce1a3b2-805d-11de-bcd6-00241d22a649

Kann es sein, dass man den DEVICE-Eintrag ersetzen muss durch

DEVICE /dev/sda1 /dev/sdb1

oder

DEVICE /proc/partitions

Bin ratlos...wer noch? ☺

jones79

(Themenstarter)

Anmeldungsdatum:
23. Juni 2009

Beiträge: 79

Hi!

Hm hat niemand eine Idee?

Ok, ich probiere mal alleine weiter... Vermutlich liegt es an den UUIDs.

Ein paar Fragen hab ich noch:

Kann mir jemand sagen, wie das mit dem Hochbooten vom RAID funktioniert? Also die Reihenfolge in der die Module geladen bzw. der Verbund zusammengesetzt wird.

Wann und von wem wird die /etc/mdadm/mdadm.conf ausgelesen? Wer legt die /proc/mdstat an?

jones79

(Themenstarter)

Anmeldungsdatum:
23. Juni 2009

Beiträge: 79

Mittlerweile hab ich versucht

/sbin/mdadm --assemble /dev/md0 /dev/sda1 /dev/sdb1

über ein Skript (chmod+x´d) in

/etc/initramfs-tools/scripts/local-top

zu starten. Nach dem Hinzufügen des Skripts dann

sudo update-initramfs -u -k all

ausführen.

Jedenfalls erhalte ich dann die Fehlermeldung

cannot open device /dev/sda1: No such file or directory
/dev/sda1 has no superblock - assembly aborted

bevor ich in der BusyBox lande.

Wenn ich es dann selbst in der BusyBox eintippe funktioniert es absolut perfekt.

rootdelay=200

Hat auch nix gebracht.

Hat noch irgendjemand eine Idee?

jones79

(Themenstarter)

Anmeldungsdatum:
23. Juni 2009

Beiträge: 79

Hi!

Ok, neue Informationen ☺

Also es liegt wohl irgendwo ein kleines Chaos mit den UUIDs vor,, aber ich weiß nicht, was richtig ist:

Also ich poste mal die verschiedenen Ausgaben:

blkid /dev/md0 
/dev/md0: UUID="dce1a3b2-805d-11de-bcd6-00241d22a649" TYPE="ext3" 
 blkid /dev/sda1
/dev/sda1: UUID="332625b1-e5f6-66a1-a4ca-c82164ef67d9" TYPE="mdraid" 
blkid /dev/sdb1
/dev/sdb1: UUID="332625b1-e5f6-66a1-a4ca-c82164ef67d9" TYPE="mdraid" 
 cat /etc/mdadm/mdadm.conf
DEVICE /dev/sda1 /dev/sdb1
CREATE owner=root group=disk mode=0660 auto=yes
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=dce1a3b2-805d-11de-bcd6-00241d22a649
/boot/grub/menu.lst:
title        BOOTPARTITON - RAID Ubuntu 8.10, kernel 2.6.27-15-generic
uuid        3f3cb26a-ff37-4b8b-954c-6c43d4230e00
##root        (hd0,1)
#kernel        /vmlinuz-2.6.27-15-generic root=UUID=dce1a3b2-805d-11de-bcd6-00241d22a649 ro quiet splash locale=de_DE
kernel        /vmlinuz-2.6.27-15-generic root=/dev/md0 ro quiet splash locale=de_DE
initrd        /initrd.img-2.6.27-15-generic
sudo mdadm --detail --scan
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=b1252633:a166f6e5:21c8caa4:d967ef64

Hm also so wie ich das sehe ist die letzte Ausgabe keine richtige UUID?!?!?

Kann mir jemand helfen, das bischen zu ordnen?

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Probier mal den menu.lst Eintrag, sollte nach meinem Verständnis der Richtige sein.

title        BOOTPARTITON - RAID Ubuntu 8.10, kernel 2.6.27-15-generic
uuid        dce1a3b2-805d-11de-bcd6-00241d22a649
kernel        /vmlinuz-2.6.27-15-generic root=UUID=dce1a3b2-805d-11de-bcd6-00241d22a649 ro quiet splash locale=de_DE
initrd        /initrd.img-2.6.27-15-generic

Hm, wegenn der letzten uuid bin ich mir nicht sicher ist aber nen seltsames Format.

jones79

(Themenstarter)

Anmeldungsdatum:
23. Juni 2009

Beiträge: 79

Ok, Problem gelöst. Es lag nicht an der Einstellung in der menu.lst.

Es lag an einer falschen UUID in der /etc/mdadm/mdadm.conf

Lösungsweg:

Das war meine falsche mdadm.conf

cat /etc/mdadm/mdadm.conf
DEVICE /dev/sda1 /dev/sdb1
CREATE owner=root group=disk mode=0660 auto=yes
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=dce1a3b2-805d-11de-bcd6-00241d22a649

Man erkennt die UUID, die hier dem "normalen" UUID-Format, das hier im Wiki beschrieben wird entspricht.

Wenn ich aber nach dem manuellen Zusammenbauen des RAID-Verbunds in der BusyBox das System gestartet hab und danach im System

sudo mdadm --detail --scan
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=b1252633:a166f6e5:21c8caa4:d967ef64

ausgeführt hab, sieht man, dass die UUID ein anderes Format hat, auch wenn es laut

blkid /dev/md0 
/dev/md0: UUID="dce1a3b2-805d-11de-bcd6-00241d22a649" TYPE="ext3" 

die UUID des RAID-Verbundes ist.

Jedenfalls hab ich dann einfach die UUID aus

sudo mdadm --detail --scan
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=00.90 UUID=b1252633:a166f6e5:21c8caa4:d967ef64

geschnappt und in die mdadm.conf eingetragen, dazu noch die Geräte aus denen der Verbund besteht unter DEVICE und unter ARRAY devices= hinzugefügt.

Sieht dann so aus:

...
DEVICE /dev/sda1 /dev/sdb1
ARRAY /dev/md0 level=raid1 devices=/dev/sda1,/dev/sdb1 num-devices=2 metadata=00.90 UUID=b1252633:a166f6e5:21c8caa4:d967ef64
...

Danach muss diese Änderung natürlich noch ins initramfs übernommen werden. Also

sudo update-initramfs -u -k all

Tataa...vielen Dank an alle die mir geholfen haben, besonders an stfischr! Soll da irgendwas von ins WIKI unter SoftwareRAID?

stfischr Team-Icon

Avatar von stfischr

Anmeldungsdatum:
1. März 2007

Beiträge: 19197

Uff, gut dass du es doch noch hingekriegt hast. Ich schau mir das Morgen nochmal an und dann pack ich eventuell was ins Wiki.

jones79

(Themenstarter)

Anmeldungsdatum:
23. Juni 2009

Beiträge: 79

@stfischr: Nochwas dazu was du in deinem vorherigen Beitrag geschrieben hast, das hätte funktioniert, wenn keine Boot-Partition vorliegen würde.

Probier mal den menu.lst Eintrag, sollte nach meinem Verständnis der Richtige sein.

{{{
title        BOOTPARTITON - RAID Ubuntu 8.10, kernel 2.6.27-15-generic
uuid        dce1a3b2-805d-11de-bcd6-00241d22a649
kernel        /vmlinuz-2.6.27-15-generic root=UUID=dce1a3b2-805d-11de-bcd6-00241d22a649 ro quiet splash locale=de_DE
initrd        /initrd.img-2.6.27-15-generic

}}}

Ich hab eine ganze Weile gesucht, und das uuid ist gleichwertig wie root, zeigt also die Bootpartition, bzw. den Ort des Kernels in der /boot/grub/menu.lst an:

uuid		3f3cb26a-ff37-4b8b-954c-6c43d4230e00
#root		(hd0,1)

Viele Grüße und nochmals Danke!

whatsmyname2009

Anmeldungsdatum:
7. Oktober 2009

Beiträge: 3

jones79 schrieb:

Ok, Problem gelöst. Es lag nicht an der Einstellung in der menu.lst.

Es lag an einer falschen UUID in der /etc/mdadm/mdadm.conf

Ja ist genau richtig. Ich hatte mit einem neuen Set von Hdds bei erneuter System-Migration auf frischen Raid-Chain wieder Schwierigkeiten "/dev/md0 not found" - einfach neue Initramfs und Grub-Update ... hat alles nichts geholfen. Lösung auch hier: in /etc/mdadm/mdadm.cfg standen noch die alten UUIDs, einfach geändert in ARRAY /dev/md0 devices=/dev/sda1,/dev/sdb1 dann die Initramfs neu gemacht, update-grub, grub-install "(md0)" ... läuft! Mehr Aufwand mit den UUIDs muss meiner Erfahrung nach nicht mal sein.

Antworten |