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/0anziché /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/md0lì, ma a quanto pare funziona bene perché il server si avvia senza problemi.
Nel /proc/mdstatdispositivo è 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>
lsmostra 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 mkconfutilizza ancora /dev/md0invece 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/mdNil vecchio nome e mdsta pianificando di passare ai /dev/md/Nnomi 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 mdadmsezione DEVICE NAMES.
mdadm -Eche si trova attualmente unassigned:0sul 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.