У нових системах /usr/share/mdadm/mkconf
(сценарій, який використовується для генерації /etc/mdadm/mdadm.conf
), як правило, використовується ім'я пристрою /dev/md/0
замість /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
Це може викликати деяке роздратування у користувачів, які /dev/md0
там очікують , але, мабуть, це працює добре, оскільки сервер завантажується без проблем.
У /proc/mdstat
пристрої все ще називається /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
показує, що /dev/md/0
це посилання на /dev/md0
:
new-system ~ # ls -l /dev/md/0
lrwxrwxrwx 1 root root 6 Nov 20 14:06 /dev/md/0 -> ../md0
На іншій старій системі mkconf
все ще використовується /dev/md0
замість цього і /dev/md
порожня:
old-system ~ # /usr/share/mdadm/mkconf | grep ARRAY
ARRAY /dev/md0 UUID=76472cf5:83fd8e5a:ad617046:69b2ebf1
old-system ~ # ls -l /dev/md
total 0
Я хотів би знати різницю між цими назвами пристроїв, і я не можу знайти жодного пояснення в Google. Це /dev/mdN
стара назва і md
плануєте перейти до /dev/md/N
назв пристроїв? Чи пов’язана ця зміна з метаданими 1.2 (я помітив, що новий сервер використовує md 1.2, а старий все ще використовує 0,90)?
EDIT 2017-09-11: Я думаю , що відповідь Кшиштофа Стасяка є правильною. Я вже зовсім забув про це питання. Граючи з тестовим RAID в останню п’ятницю, я подумав: «чому б не назвати мій масив замість запам'ятовування того, що робить md0, md1, md2, ... тощо у складних налаштуваннях?», І я спробував:
test-server ~ # mdadm --assemble /dev/mdfoobar /dev/loop[01]
mdadm: /dev/mdfoobar is an invalid name for an md device. Try /dev/md/mdfoobar
І справді це працює:
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>
(Ви також можете зробити mdadm --assemble foobar DEV...
).
Там є докладне пояснення в man mdadm
, секції DEVICE NAMES
.
mdadm -E
що зараз знаходиться unassigned:0
на новому сервері, розділено на :
, а друга частина стає частиною /dev/md/<name>
? Так якби я змінив ім'я масиву на unassigned:asdf
, було б названо symlink /dev/md/asdf
? А власне пристрій завжди називається /dev/mdN
, де N - наступне вільне число?
unassigned:0
.