Archiv für den Monat: Oktober 2011

Debian Update: Grub-Probleme

So, da war es mal wieder: das Update des Grauens, das man „mal schnell“ anstoßen wollte und das einem dann den Sonntagnachmittag versaut. Bei mir war’s das Update auf Lenny 6.0.3. Als mich apt-get nach den Platten gefragt hat, auf denen ich Grub installieren möchte, wurde ich schon stutzig. sda, sdb, md1 und md2 standen zur Auswahl – und es kam, wie es kommen musste: egal, welche ich ausgewählt habe, kam nur dieses Gemopper:

/usr/sbin/grub-setup: warn: This msdos-style partition label has no post-MBR gap; 
    embedding won't be possible!.
/usr/sbin/grub-setup: error: embedding is not possible, but this is required when 
    the root device is on a RAID array or LVM volume.

Na toll. Leider spuckt Tante Google hierzu nicht sonderlich viel zielführendes aus, also hier mein kleines How-To.

Warnhinweis: bitte nur nachmachen, wenn man weiß, was man tut. Alle Kommandos, die hier stehen, eignen sich prima zum kaputtkonfigurieren des GANZEN Systems.

Das Szenario, das ich hatte, war dies: RAID-1 für /boot und / (und für Swap. Ich weiß, das ist Kappes. Also ändern wir das gleich, während wir dran sind). Hier meine Konfig:

cat /proc/mdstat 
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] 
md2 : active raid1 sda3[0] sdb3[1]
      726266432 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      2104448 blocks [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      4200896 blocks [2/2] [UU]

Die Einzelplatten sind gleich konfiguriert, und zwar so:

I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004be32

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1     8401994     4200997   fd  Linux raid autodetect
/dev/sda2         8401995    12611024     2104515   fd  Linux raid autodetect
/dev/sda3        12611025  1465144064   726266520   fd  Linux raid autodetect

…und die „1“ beim ersten Partitions-Start ist auch gleich das Problemkind. Allerdings hatte ich richtig Massel: die sda1 und sdb1 ergeben md0, und die ist bei mir als Swap eingetragen. Also müssen wir die umbauen und so einrichten, dass sie „höher“ als am Block 1 anfängt. Let’s go:

swapoff -a
mdadm --stop /dev/md0
fdisk /dev/sda

…und die Partition 1 umbasteln: löschen (d, 1), neu anlegen (n, p, 1, 63, [Maximalgröße hier eingeben]), Typ ändern (t, 1, fd), schreiben: w. Wer mag, tut das gleiche auf sdb (aus Gründen der Ästhetik, damit die Partitionen gleich groß sind zum Beispiel).  Dann bauen wir das RAID wieder zusammen, dieses Mal als Raid-0 für den Swap (warum auch nicht?):

mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sda1 /dev/sdb1

Und: Energie, Scotty:

mkswap /dev/md0

nebst einem

swapon -a

So, dann bitte nicht vergessen, Grub wieder draufzubügeln – dieses Mal hoffentlich ohne Fehlermeldung. Sonst wird der nächste Reboot etwas hässlich… ;-)

Danke an die Jungs aus dem Hetzner-Forum – die hatten die Lösung (allerdings halt nicht zu Googeln…)