Auf neueren Systemen /usr/share/mdadm/mkconf(das Skript, das zum Generieren verwendet wird /etc/mdadm/mdadm.conf) wird in der Regel der Gerätename /dev/md/0anstelle von /dev/md0:
new-system ~ # /usr/share/mdadm/mkconf | grep ARRAY
ARRAY /dev/md/0 metadata=1.2 UUID=a0021927:0e4f10bf:2c47dc72:ca0b352e name=unassigned:0
Dies kann einige Irritationen für Benutzer verursachen, die es erwarten /dev/md0, aber anscheinend funktioniert es einwandfrei, da der Server ohne Probleme startet.
Im /proc/mdstatGerät heißt noch /dev/md0:
new-system ~ # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb2[2] sda2[0]
1953381184 blocks super 1.2 [2/2] [UU]
unused devices: <none>
lszeigt das /dev/md/0ist ein symlink zu /dev/md0:
new-system ~ # ls -l /dev/md/0
lrwxrwxrwx 1 root root 6 Nov 20 14:06 /dev/md/0 -> ../md0
Auf einem anderen älteren System wird mkconfimmer noch verwendet /dev/md0und /dev/mdist leer:
old-system ~ # /usr/share/mdadm/mkconf | grep ARRAY
ARRAY /dev/md0 UUID=76472cf5:83fd8e5a:ad617046:69b2ebf1
old-system ~ # ls -l /dev/md
total 0
Ich möchte den Unterschied zwischen diesen Gerätenamen kennen und kann bei Google keine Erklärung finden. Ist /dev/mdNder alte Name und mdbeabsichtigt er, zu /dev/md/NGerätenamen zu wechseln ? Bezieht sich diese Änderung auf die 1.2-Metadaten (ich habe bemerkt, dass der neue Server md 1.2 verwendet, während der alte noch 0.90 verwendet)?
EDIT 2017-09-11: Ich denke, Krzysztof Stasiaks Antwort ist die richtige. Diese Frage hatte ich inzwischen völlig vergessen. Während ich letzten Freitag mit einem Test-RAID spielte, dachte ich: "Warum sollte ich mein Array nicht benennen, anstatt zu merken, was md0, md1, md2 usw. in komplexen Setups macht?"
test-server ~ # mdadm --assemble /dev/mdfoobar /dev/loop[01]
mdadm: /dev/mdfoobar is an invalid name for an md device. Try /dev/md/mdfoobar
Und das funktioniert tatsächlich:
test-server ~ # mdadm --assemble /dev/md/foobar /dev/loop[01]
mdadm: /dev/md/foobar has been started with 2 drives.
test-server ~ # ll /dev/md/foobar
lrwxrwxrwx 1 root root 6 Sep 11 10:45 /dev/md/foobar -> ../md0
test-server ~ # cat /proc/mdstat
Personalities : [raid1]
md0 : active (auto-read-only) raid1 loop0[0] loop1[1]
102272 blocks super 1.2 [2/2] [UU]
unused devices: <none>
(Sie können auch tun mdadm --assemble foobar DEV...).
Eine ausführliche Erklärung finden Sie im man mdadmAbschnitt DEVICE NAMES.
mdadm -E, der aktuell unassigned:0auf dem neuen Server ist, am geteilt :, und der zweite Teil wird Teil des /dev/md/<name>? Wenn ich also den Array-Namen in ändern unassigned:asdfwürde, würde der Symlink aufgerufen werden /dev/md/asdf? Und das eigentliche Gerät wird immer angerufen /dev/mdN, wobei N die nächste freie Nummer ist?
unassigned:0ist nur ein Kopf.