fischerman
Goto Top

Fehlende Partitionen in dev nach mdadm-Assemble (Raid) und Reboot

Hi Leute,

Gleich vorweg: Ich bin kein Linux-Spezi. Wäre ich zwar gerne, aber ich würde hier nicht fragen, wenn ich nicht mit meinem Latein am Ende wäre ;)

Ich habe auf einem XenServer 6.1 ein Raid5 aus 3 neuen WD-2TB-Red-Platten aufgebaut, um es als SR einzubinden. Ich habe das Raid nach folgender Anleitung angelegt: http://seetricks.blogspot.de/2012/02/xenserver-mit-software-raid-einric ...
Es lief auch alles, bis zum ersten Reboot vom Xen. /dev/md0 war nicht mehr vorhanden, was an sich ja noch nicht sehr problematisch ist.
mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 /dev/sdd1 gibt aber folgendes zurück:

mdadm: cannot open device /dev/sdd1: No such file or directorymdadm: /dev/sdd1 has no superblock - assembly aborted/dev/sdd1 gibt es tatsächlich nicht (dev/sdb1 und /dev/sdc1 aber schon!), die Partition existiert aber:[root@srvxen01 ~]# fdisk -lDisk /dev/sdb: 2000.3 GB, 2000398934016 bytes256 heads, 63 sectors/track, 242251 cylindersUnits = cylinders of 16128 * 512 = 8257536 bytes Device Boot Start End Blocks Id System/dev/sdb1 1 242252 1953514583+ ee EFI GPTDisk /dev/sdc: 2000.3 GB, 2000398934016 bytes256 heads, 63 sectors/track, 242251 cylindersUnits = cylinders of 16128 * 512 = 8257536 bytes Device Boot Start End Blocks Id System/dev/sdc1 1 242252 1953514583+ ee EFI GPTDisk /dev/sdd: 2000.3 GB, 2000398934016 bytes256 heads, 63 sectors/track, 242251 cylindersUnits = cylinders of 16128 * 512 = 8257536 bytes Device Boot Start End Blocks Id System/dev/sdd1 1 242252 1953514583+ ee EFI GPT

Da alle Platten am gleichen Controller hängen, hat es mich ein wenig gewundert, das sich eine Platte anders verhält. Wenn ich richtig verstanden habe, ist udev dafür verantwortlich die /dev-Dateien zu erstellen und komischerweise startet mdadm vor udev, was meiner Meinung nach nicht einleuchtend ist. Das Array ist nicht einmal im Degraded-Mode gestartet. Der Inhalt meiner /etc/mdadm.conf:
ARRAY /dev/md0 level=raid5 num-devices=3 UUID=2cc7a336:45ac81b7:ad53e141:2b350313
Ich habe mir dann einfach gedacht, ich mache es wie festr in diesem Thread http://www.linuxquestions.org/questions/linux-newbie-8/missing-partitio ... und baue die Partion auf /dev/sdd neu.

Nach einem mdadm --misc --zero-superblock /dev/sdd habe ich Xen rebootet und wollte das Raid erstmal mit 2 Platten starten. Und nun das:
[root@srvxen01 ~]# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 --forcemdadm: cannot open device /dev/sdc1: No such file or directorymdadm: /dev/sdc1 has no superblock - assembly aborted[root@srvxen01 ~]# ls -l /dev/sd*brw-r----- 1 root disk 8, 0 Apr 1 21:10 /dev/sdabrw-r----- 1 root disk 8, 1 Apr 1 21:11 /dev/sda1brw-r----- 1 root disk 8, 2 Apr 1 21:10 /dev/sda2brw-r----- 1 root disk 8, 3 Apr 1 21:11 /dev/sda3brw-r----- 1 root disk 8, 16 Apr 1 21:10 /dev/sdbbrw-r----- 1 root disk 8, 17 Apr 1 21:10 /dev/sdb1brw-r----- 1 root disk 8, 32 Apr 1 21:10 /dev/sdcbrw-r----- 1 root disk 8, 48 Apr 1 21:10 /dev/sddbrw-r----- 1 root disk 8, 49 Apr 1 21:10 /dev/sdd1

Jetzt fehlt /dev/sdc1! Meine Vermutung ist das mdadm beim Versuch beim Booten das Raid zusammenzubauen udev in die Quere kommt. Das bestätigt zumindest mein Test Xen mit leerer mdadm.conf zu booten:
[root@srvxen01 ~]# ls -l /dev/sd*brw-r----- 1 root disk 8, 0 Apr 1 21:59 /dev/sdabrw-r----- 1 root disk 8, 1 Apr 1 21:59 /dev/sda1brw-r----- 1 root disk 8, 2 Apr 1 21:59 /dev/sda2brw-r----- 1 root disk 8, 3 Apr 1 21:59 /dev/sda3brw-r----- 1 root disk 8, 16 Apr 1 21:59 /dev/sdbbrw-r----- 1 root disk 8, 17 Apr 1 21:59 /dev/sdb1brw-r----- 1 root disk 8, 32 Apr 1 21:59 /dev/sdcbrw-r----- 1 root disk 8, 33 Apr 1 21:59 /dev/sdc1brw-r----- 1 root disk 8, 48 Apr 1 21:59 /dev/sddbrw-r----- 1 root disk 8, 49 Apr 1 21:59 /dev/sdd1
Siehe da. Alle Platten da.
Aber das ist nur gefährliches Halbwissen ;)

Ich habe gerade etwas voreilig folgendes getan:
[root@srvxen01 ~]# mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1 --forcemdadm: /dev/md0 has been started with 2 drives (out of 3).[root@srvxen01 ~]# mdadm --add /dev/md0 /dev/sdd1mdadm: added /dev/sdd1
Das erübrigt meine Frage, ob man den Superblock rekonstruieren kann, jetzt fängt er schon mit dem Rebuild an, obwohl die Daten ja die selben sein werden... (Nur aus Neugier: Hätte man den Superblock per Hand rekonstruieren können?)

Ich werde ja beim nächsten Neustart das selbe Problem haben, wenn ich mein Raid nicht jedes mal per Hand zusammenbauen will. Gibt es eine verständliche Lösung für das Problem?

Gruß
Fischerman

Content-Key: 204243

Url: https://administrator.de/contentid/204243

Printed on: April 18, 2024 at 05:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Apr 01, 2013 updated at 20:48:32 (UTC)
Goto Top
Zitat von @fischerman:
Disk /dev/sdd: 2000.3 GB, 2000398934016 bytes
256 heads, 63 sectors/track, 242251 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes

Device Boot Start End Blocks Id System
/dev/sdd1 1 242252 1953514583+ ee EFI GPT
}}


N'Abend,

Da steht es doch genau:

Deine Platten sind GPT-formattiert. fdisk zeigt da falsche Werte an.

Mach mal ein
parted list

Damit siehst Du die Partitionen, die angelegt sind.

lks

Nachtrag: danach gehen wir die nächsten schritte an.
Member: fischerman
fischerman Apr 01, 2013 at 21:25:18 (UTC)
Goto Top
Xen hat kein parted, gdisk gibt folgendes aus:
Disk /dev/sdb: 3907029168 sectors, 1.8 TiBLogical sector size: 512 bytesDisk identifier (GUID): E21A7FC4-2F2F-4979-BBCA-8FE7AF7DCDA8Partition table holds up to 128 entriesFirst usable sector is 34, last usable sector is 3907029134Partitions will be aligned on 2048-sector boundariesTotal free space is 2014 sectors (1007.0 KiB)Number Start (sector) End (sector) Size Code Name 1 2048 3907029134 1.8 TiB 0700 Linux/Windows dataDisk /dev/sdc: 3907029168 sectors, 1.8 TiBLogical sector size: 512 bytesDisk identifier (GUID): 3C384136-7669-4870-A12A-61AA8BE9F800Partition table holds up to 128 entriesFirst usable sector is 34, last usable sector is 3907029134Partitions will be aligned on 2048-sector boundariesTotal free space is 2014 sectors (1007.0 KiB)Number Start (sector) End (sector) Size Code Name 1 2048 3907029134 1.8 TiB 0700 Linux/Windows dataDisk /dev/sdd: 3907029168 sectors, 1.8 TiBLogical sector size: 512 bytesDisk identifier (GUID): 79AD90C5-4B64-48E0-B750-77B58277C408Partition table holds up to 128 entriesFirst usable sector is 34, last usable sector is 3907029134Partitions will be aligned on 2048-sector boundariesTotal free space is 2014 sectors (1007.0 KiB)Number Start (sector) End (sector) Size Code Name 1 2048 3907029134 1.8 TiB 0700 Linux/Windows data
Member: Lochkartenstanzer
Lochkartenstanzer Apr 01, 2013 at 21:28:24 (UTC)
Goto Top
ok

und nun ein "parted /dev/sdX print" hinterher, damit wir noch die Partitionestabellen der einzelnen Laufwerke sehen (X duch b, c und d ersetzen).

lks
Member: fischerman
fischerman Apr 01, 2013 at 21:36:32 (UTC)
Goto Top
Zitat von @fischerman:
Xen hat kein parted, gdisk gibt folgendes aus:

Ich habe doch mit gdisk die Partitionstabelle ausgegeben:
[root@srvxen01 ~]# gdisk /dev/sdd
GPT fdisk (gdisk) version 0.6.10

Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): p
Disk /dev/sdd: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 79AD90C5-4B64-48E0-B750-77B58277C408
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number Start (sector) End (sector) Size Code Name
1 2048 3907029134 1.8 TiB 0700 Linux/Windows data

Welche Infos fehlen dir?
Member: Lochkartenstanzer
Lochkartenstanzer Apr 02, 2013 at 05:19:13 (UTC)
Goto Top
Moin,

Sorry, habe eine Ausgabe von parted erwarted und habe üebrsehen, daß gdisk die Partitionsinfo auch mitgeliefert hat.

Was mir als erstes auffällt, ist, daß Due nur einen Partitionstyp 0700 hast, und kein FD00 (linux RAID). Änder mal die Partitionstypen. Eventuell kann Dein mdmadm die devices so nicht automatisch finden.

lks
Member: fischerman
fischerman Apr 02, 2013 at 18:43:42 (UTC)
Goto Top
Ich habe jetzt das Xen-Pbd gelöscht und den Partitionstyp auf FD00 geändert. Komischerweise überlebt das Raid trotz leerer mdadm.conf einen Reboot.
[root@srvxen01 ~]# cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdd1[2] sdb1 sdc1[1] 3907026944 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU] unused devices: <none>

Kann das angehen?

Ich würde jetzt als nächstes das Pbd und SR neu anlegen.

Fischerman
Member: Lochkartenstanzer
Lochkartenstanzer Apr 02, 2013 at 19:23:51 (UTC)
Goto Top
Zitat von @fischerman:
Ich habe jetzt das Xen-Pbd gelöscht und den Partitionstyp auf FD00 geändert. Komischerweise überlebt das Raid trotz
leerer mdadm.conf einen Reboot.
[root@srvxen01 ~]# cat /proc/mdstatPersonalities : [raid6] [raid5] [raid4]md0 : active raid5 sdd1[2] sdb1 sdc1[1] 3907026944 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]unused devices: <none>

Kann das angehen?

Ich denke schon. mdadm, bzw der md-Treiber prüft bei den meisten Distributionen ob raid-devices da sind und baut die automatsich anhand Ihrer Superblöcke zusammen. bei manchen Distributionen werden die auch dann gefunden, wenn der Partitionstyp nixht paßt, aber das ist eher selten.

Die mdadm.conf ist bei aktuellen Distributionen eher selten notwendig, weil alle relevanten Informationen eigenlich schon in den Superblöcken drinsteht. daher funktioniert sowas meist auch mit einer leeren mdadm.conf. es kann höchstens passieren, da die devicenamen von denen abweichen, die man gerne hätte (z.B. md127 statt md7).

Ich würde jetzt als nächstes das Pbd und SR neu anlegen.

Dann mal zu. face-smile

lks
Member: fischerman
fischerman Apr 05, 2013 at 19:48:25 (UTC)
Goto Top
Läuft seit dem einwandfrei auch nach mehreren Neustarts.
Danke face-smile
Member: Lochkartenstanzer
Lochkartenstanzer Apr 06, 2013 at 08:20:10 (UTC)
Goto Top
Zitat von @fischerman:
Läuft seit dem einwandfrei auch nach mehreren Neustarts.

Dann bitte Thread auf gelöst setzen.

Danke face-smile

Gern geschehen.