新しいシステム/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を使用しています)。
編集2017-09-11:Krzysztof Stasiakの答えは正しいと思います。私は今、この質問を完全に忘れていました。先週金曜日にテスト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
はで分割され:
、2番目の部分は/dev/md/<name>
?の一部になります。配列名をに変更するunassigned:asdf
と、シンボリックリンクが呼び出され/dev/md/asdf
ますか?そして、実際のデバイスは常に呼び出されます/dev/mdN
、ここでNは次の空き番号ですか?
unassigned:0
。