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/0
anstelle 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/mdstat
Gerä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>
ls
zeigt das /dev/md/0
ist 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 mkconf
immer noch verwendet /dev/md0
und /dev/md
ist 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/mdN
der alte Name und md
beabsichtigt er, zu /dev/md/N
Gerä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 mdadm
Abschnitt DEVICE NAMES
.
mdadm -E
, der aktuell unassigned:0
auf 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:asdf
wü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:0
ist nur ein Kopf.