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…)