Sui sistemi più recenti /usr/share/mdadm/mkconf
(lo script utilizzato per generare /etc/mdadm/mdadm.conf
) tende a utilizzare il nome del dispositivo /dev/md/0
anziché /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
Ciò può causare qualche irritazione per gli utenti che si aspettano /dev/md0
lì, ma a quanto pare funziona bene perché il server si avvia senza problemi.
Nel /proc/mdstat
dispositivo è ancora chiamato /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
mostra che /dev/md/0
è un link simbolico a /dev/md0
:
new-system ~ # ls -l /dev/md/0
lrwxrwxrwx 1 root root 6 Nov 20 14:06 /dev/md/0 -> ../md0
Su un altro sistema precedente mkconf
utilizza ancora /dev/md0
invece ed /dev/md
è vuoto:
old-system ~ # /usr/share/mdadm/mkconf | grep ARRAY
ARRAY /dev/md0 UUID=76472cf5:83fd8e5a:ad617046:69b2ebf1
old-system ~ # ls -l /dev/md
total 0
Vorrei sapere la differenza tra questi nomi di dispositivi e non riesco a trovare alcuna spiegazione su Google. È /dev/mdN
il vecchio nome e md
sta pianificando di passare ai /dev/md/N
nomi dei dispositivi? Questa modifica è correlata ai metadati 1.2 (ho notato che il nuovo server utilizza md 1.2, mentre quello vecchio utilizza ancora 0,90)?
EDIT 2017-09-11: Penso che la risposta di Krzysztof Stasiak sia corretta. Ormai mi ero completamente dimenticato di questa domanda. Venerdì scorso, mentre giocavo con un RAID di prova, ho pensato "perché non nominare il mio array invece di memorizzare ciò che md0, md1, md2, ... ecc. In configurazioni complesse?", E quindi ho provato:
test-server ~ # mdadm --assemble /dev/mdfoobar /dev/loop[01]
mdadm: /dev/mdfoobar is an invalid name for an md device. Try /dev/md/mdfoobar
E infatti funziona:
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>
(Puoi anche fare mdadm --assemble foobar DEV...
).
C'è una spiegazione dettagliata nella man mdadm
sezione DEVICE NAMES
.
mdadm -E
che si trova attualmente unassigned:0
sul nuovo server viene diviso in :
, e la seconda parte diventa parte del /dev/md/<name>
? Quindi, se cambiassi il nome dell'array in unassigned:asdf
, verrebbe chiamato il collegamento simbolico /dev/md/asdf
? E il dispositivo reale viene sempre chiamato /dev/mdN
, dove N è il prossimo numero gratuito?
unassigned:0
è solo Braindead.