Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number"

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Zonkey
Beiträge: 7
Registriert: 29.09.2013 17:40:40

Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number"

Beitrag von Zonkey » 29.09.2013 17:55:40

Hallo,

Ich hab ein bestehendes Debian Squeeze System. Das System läuft einwandfrei. Allerdings habe ich getestet wie sich das System verhält, wenn eine der 4 Festplatten im Raid5 verbund ausfällt. Dazu hab ich das System heruntergefahren und eine der Platten herausgezogen.

Grub2 ist auf jeder einzelnen Platte installiert (sd[abcd]) und über die Grub Console kann ich das Dateisystem auch sehen und auflisten lassen. Das md Laufwerk funktioniert also hier. Sowhol Root als /boot befinden sich innerhalb des Raids.

Beim Booten erhalte ich dann folgende Meldung (nach Grub Menü)

Code: Alles auswählen

Loading Linux 2.6.32-5-amd64 ...
error: invalid magic number.
Loading initial ramdisk ...
error: you need to load the kernel first.
Ich hab auch versucht über die Grub-Console manuell zu booten - was jedoch die selben Fehler einbrachte.

Stecke ich die fehlende Festplatte wieder hinein und starte neu, läuft alles wieder wie geschmiert - dabei ist es egal von welche Festplatte das Bios bootet.

Natürlich wüsste ich gerne woran das liegen kann, da das ganze so ja nicht so arg viel nützt.

Vielen Dank für eure Hilfe.
Markus

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von syssi » 29.09.2013 19:33:12

Poste doch mal deine grub.cfg und stell sicher, dass es sich wirklich um einen Grub2 handelt. Vielleicht hat dein System den Uebergang von Grub1 nach Grub2 nicht sauber vollzogen und es wird immer noch eine menu.lst verwendet und grub1 befindet sich im MBR? Unwahrscheinlich... aber moeglich.

Zonkey
Beiträge: 7
Registriert: 29.09.2013 17:40:40

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von Zonkey » 29.09.2013 20:04:35

Anbei die grub.cfg

Code: Alles auswählen

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

terminal_input console
terminal_output console
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian --class gnu-linux --class gnu --class os {
        insmod raid
        insmod raid5rec
        insmod mdraid
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod ext2
        set root='(md/0)'
        search --no-floppy --fs-uuid --set 46a03f55-2b64-4f4c-b127-b5c0b3efb730
        echo    'Loading Linux 2.6.32-5-amd64 ...'
        linux   /boot/vmlinuz-2.6.32-5-amd64 root=UUID=46a03f55-2b64-4f4c-b127-b5c0b3efb730 ro  quiet
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-2.6.32-5-amd64
}
menuentry 'Debian GNU/Linux, with Linux 2.6.32-5-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os {
        insmod raid
        insmod raid5rec
        insmod mdraid
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod part_msdos
        insmod ext2
        set root='(md/0)'
        search --no-floppy --fs-uuid --set 46a03f55-2b64-4f4c-b127-b5c0b3efb730
        echo    'Loading Linux 2.6.32-5-amd64 ...'
        linux   /boot/vmlinuz-2.6.32-5-amd64 root=UUID=46a03f55-2b64-4f4c-b127-b5c0b3efb730 ro single
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initrd.img-2.6.32-5-amd64
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
Gemäß

Code: Alles auswählen

grub-install -v
grub-install (GRUB) 1.98+20100804-14+squeeze1
müsste das ein Grub2 sein was mit der Angabe im Boot-Menü übereinstimmt.

Das Raid wurde während der Installation des Systems mit der Netinstall CD gemacht. Das Dateisystem auf dem Raid ist noch ein ext3.

Danke und Grüße,
Markus

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von syssi » 29.09.2013 21:53:45

Eine /boot-Partition scheint es nicht zu geben. Ist die Version der mdadm-Metadaten entsprechend niedrig (0.90)? Die grub.cfg sieht soweit gut aus. Ich wuerde deshalb nochmal Grub auf allen Platten verteilen (grub-install /dev/sd{a,b,c}) und erneut testen.

Zonkey
Beiträge: 7
Registriert: 29.09.2013 17:40:40

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von Zonkey » 29.09.2013 22:30:20

syssi hat geschrieben:Eine /boot-Partition scheint es nicht zu geben. Ist die Version der mdadm-Metadaten entsprechend niedrig (0.90)?
Genau. Eine eigene /boot Partition gibt es nicht. Aber bei der Version der Metadaten scheine ich 1.2 zu haben - aber mit 1.2. dürfte eigentlich auch das Booten mit allen vier Platten funktionieren - oder?

Code: Alles auswählen

mdadm --detail /dev/md0
/dev/md0:
     Version : 1.2
[...]
Lässt sich ja jetzt nicht so ohne weiteres ändern. Hm. Schein ich ja offenbar nich drum herum zu kommen das neu zu installiern. Und was wäre da die bessere Art vorzugehen?

Ist natürlich unpraktisch, dass einem das Arrray so angelegt wurde ;)

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von syssi » 30.09.2013 08:42:45

Eigentlich wollte ich dir an die Hand geben notfalls auf eine neuere Grub-Version zu gehen. Bisher dachte ich, dass Grub2 aus Squeeze die Metadaten in v1.x noch nicht sauber beherrscht. Hier liest man aber gegenteiliges:
grub-pc-Versionen vor 1.98+20100720-1 werden nicht in der Lage sein, direkt von einem RAID mit Metadaten-Format 1.x zu booten (der neue Standard ist 1.2). Um ein bootfähiges System zu gewährleisten, stellen Sie bitte sicher, dass Sie grub-pc 1.98+20100720-1 oder später verwenden, das von Debian Squeeze bereitgestellt wird. Ein nicht bootfähiges System kann möglicherweise mit Super Grub2 Disk oder grml wiederhergestelllt werden.
http://www.debian.org/releases/squeeze/ ... m-metadata

Bisher hat man immer versucht das Volumen, von welchem gebootet wird mit dem aelteren Format (0.90) auszustatten. Du hast Recht. So einfach kommt man nicht von v1.2 -> v0.9.

Zonkey
Beiträge: 7
Registriert: 29.09.2013 17:40:40

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von Zonkey » 30.09.2013 13:50:30

Hm. Demnach müsste eigentlich alles funktionieren. Und sofern alle Festplatten vorhanden und funktionsfähig bootet er mit metadata 1.2 ja tatsächlich.

Das Problem besteht nur, wenn eine Festplatte fehlt - was dem Raid ja nichts antun sollte.

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von syssi » 30.09.2013 13:59:54

Ja, es handelt sich in der Tat um ein seltsames Problem. Googelt man nach

Code: Alles auswählen

"invalid magic number" raid
findet man leider einen Haufen obskures Zeug.

Zonkey
Beiträge: 7
Registriert: 29.09.2013 17:40:40

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von Zonkey » 30.09.2013 20:29:19

Danke für Deine Hilfe soweit. Ich hab auch noch etwas herumexperimentiert und in einer VM mein System nachgebaut. (4x virtuelle Festplatte in Raid5 mit boot und root direkt drauf) - und hier hab ich genau das Gleiche. Ich geh deshalb davon aus, dass das so, wie ich dachte, wohl einfach nicht funktioniert.

Werde mal testen ob das bei ner Installation von Wheezy immer noch so ist, wobei mir /boot in einem Raid1 zu betreiben (diverse Tipps im Internet - was im Test auch prima funktioniert hat) inzwischen doch sympatisch ist ;)

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von syssi » 30.09.2013 20:35:20

Teste mal bitte, wie es aussieht, wenn du das MD-Device fuer /boot mit der Metaversion 0.90 erstellst. Das sollte ja in deiner Test-Umgebung recht einfach moeglich sein. Bootet es dann anstandslos?

Zonkey
Beiträge: 7
Registriert: 29.09.2013 17:40:40

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von Zonkey » 30.09.2013 20:41:10

Also momentan bootet in der Testumgebung das Raid1 für /boot auch mit metadata 1.2 anstandslos. Interessant wäre für mich eher ob das Raid5 mit metadata 0.9 ohne seperate Boot Partition Bootfähig wäre. (ich geh mal davon aus, dass Du das gemeint hast ;) )

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von syssi » 30.09.2013 20:47:42

Es bootet auch anstandslos, wenn du Platten "ziehst"? Aber ja, das alles meine ich! Testen, testen, testen. ;-)

Zonkey
Beiträge: 7
Registriert: 29.09.2013 17:40:40

Re: Kernel 2.6.32 Raid5 mit Grub2 Boot "invalid magic number

Beitrag von Zonkey » 30.09.2013 21:07:18

Genau.

/boot => Raid1 ext4 metadata 1.2
/ => Raid5 ext4 metadata 1.2

Mit diesem Setup bootet er auch, wenn ich platten ziehe.

Werd jetzt noch mal ne neue Installation machen und das Raid5 mit den 0.90 Metadaten bauen. Muss aber erst mal rausfinden, ob ich das während der CD Installation irgendwie machen kann. So spontan weiß ich grad nicht wie ich dem Installer das bei bring.

Antworten