Warum wird mein RAID / dev / md1 als / dev / md126 angezeigt? Wird mdadm.conf ignoriert?

26

Ich habe ein RAID erstellt mit:

sudo mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
sudo mdadm --create --verbose /dev/md2 --level=mirror --raid-devices=2 /dev/sdb2 /dev/sdc2

sudo mdadm --detail --scan kehrt zurück:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

Dem habe ich es angehängt /etc/mdadm/mdadm.conf, siehe unten:

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Mon, 29 Oct 2012 16:06:12 -0500
# by mkconf $Id$
ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat kehrt zurück:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdb2[0] sdc2[1]
      208629632 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md kehrt zurück:

brw-rw----   1 root disk      9,   1 Oct 30 11:06 md1
brw-rw----   1 root disk      9,   2 Oct 30 11:06 md2

Also ich denke alles ist gut und ich starte neu.


Nach dem Neustart ist / dev / md1 jetzt / dev / md126 und / dev / md2 ist jetzt / dev / md127 ?????

sudo mdadm --detail --scan kehrt zurück:

ARRAY /dev/md/ion:1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md/ion:2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat kehrt zurück:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc2[1] sdb2[0]
      208629632 blocks super 1.2 [2/2] [UU]

md127 : active (auto-read-only) raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md kehrt zurück:

drwxr-xr-x   2 root root          80 Oct 30 11:18 md
brw-rw----   1 root disk      9, 126 Oct 30 11:18 md126
brw-rw----   1 root disk      9, 127 Oct 30 11:18 md127

Es ist nicht alles verloren, ich:

sudo mdadm --stop /dev/md126
sudo mdadm --stop /dev/md127
sudo mdadm --assemble --verbose /dev/md1 /dev/sdb1 /dev/sdc1
sudo mdadm --assemble --verbose /dev/md2 /dev/sdb2 /dev/sdc2

und überprüfe alles:

sudo mdadm --detail --scan kehrt zurück:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat kehrt zurück:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdb2[0] sdc2[1]
      208629632 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md kehrt zurück:

brw-rw----   1 root disk      9,   1 Oct 30 11:26 md1
brw-rw----   1 root disk      9,   2 Oct 30 11:26 md2

Also noch einmal, ich denke alles ist gut und ich starte neu.


Wieder ist / dev / md1 nach dem Neustart / dev / md126 und / dev / md2 ist / dev / md127 ?????

sudo mdadm --detail --scan kehrt zurück:

ARRAY /dev/md/ion:1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md/ion:2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat kehrt zurück:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc2[1] sdb2[0]
      208629632 blocks super 1.2 [2/2] [UU]

md127 : active (auto-read-only) raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md kehrt zurück:

drwxr-xr-x   2 root root          80 Oct 30 11:42 md
brw-rw----   1 root disk      9, 126 Oct 30 11:42 md126
brw-rw----   1 root disk      9, 127 Oct 30 11:42 md127

Was vermisse ich hier?

mmorris
quelle

Antworten:

26

Ich fand die Antwort hier, RAID, das bei md127 anstelle von md0 beginnt . Kurz gesagt, ich habe meine /etc/mdadm/mdadm.conf-Definitionen gehackt von:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

zu:

ARRAY /dev/md1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

und rannte:

sudo update-initramfs -u

Ich bin weit von einem Experten auf diesem, aber mein Verständnis ist diese ...

Der Kernel hat die Arrays zusammengesetzt, bevor die normale Zeit zum Zusammensetzen der Arrays erreicht ist. Wenn der Kernel die Arrays zusammenstellt, wird mdadm.conf nicht verwendet. Da die Partitionen bereits vom Kernel zusammengestellt wurden, wurde die normale Array-Assembly, die mdadm.conf verwendet, übersprungen.

Durch einen Aufruf sudo update-initramfs -uwird der Kernel angewiesen, das System erneut zu überprüfen, um herauszufinden, wie es gestartet werden soll.

Ich bin sicher, jemand mit besseren Kenntnissen wird mich korrigieren / darauf eingehen.

Verwenden Sie die folgende Zeile, um die initrd für jeden auf Ihrem System vorhandenen Kernel zu aktualisieren:

sudo update-initramfs -k all -u
mmorris
quelle
3
Ja, dies würde tatsächlich die initrd für den Kernel neu erstellen und die für die MD-RAID-Konfiguration relevanten Konfigurationsdateien enthalten. Dies bedeutet, dass der Kernel bei der Erstellung der Geräte weiß, wie er sie gemäß Ihrer Einstellung benennt. Guter Fang. +1 ... Übrigens: habe bemerkt, dass dies auch im verlinkten Forenthema erklärt wird.
0xC0000022L
Hey, diese Antwort hat ein Problem mit der langsamen RAID-Initialisierung auf meinem Arch Linux-System gelöst. Es würde 5 Sekunden dauern, bis das RAID0-Array beim Booten betriebsbereit ist. Nachdem Sie mdadm.conf wie beschrieben geändert und mkinitcpio ausgeführt haben, dauert es vernachlässigbar lange!
rep_movsd
Könnte Ubuntu 12.04 (Mint 13) nicht zum Booten bringen ohne dies. Ich konnte nicht einmal meinen Root-FS aus der initramfs-Shell laden. Es gab eine Reihe von dm-linearen Fehlern und "Bad Superblock" -Fehlern, die versucht haben, zu mounten. Ich habe auch darauf geachtet, mein md0-Gerät in 0 und md1-Gerät in 1 umzubenennen. Ich weiß nicht, ob das auch benötigt wurde.
Cmcginty
6
sudo update-initramfs -u

war alles, was ich brauchte, um das zu beheben. Ich habe nichts in /etc/mdadm/mdadm.conf bearbeitet.

ajaaskel
quelle
0

Ich habe das Problem folgendermaßen repliziert:

Als "Software Updater" gefragt wurde, ob ich Pakete (einschließlich Ubuntu Base und Kernel) aktualisieren möchte, sagte ich: OK. Der neu installierte Kernel verwendete die Einstellungen des aktuellen Kernels / Systems. Dann erstellte ich das Array. Nur der aktuell ausgeführte Kernel wurde aktualisiert Nach dem Neustart wusste der neue Kernel nichts über das Raid und gab ihm einen MD127-Namen!

Angelos Vassiliou
quelle