Trên các hệ thống mới hơn /usr/share/mdadm/mkconf
(tập lệnh được sử dụng để tạo /etc/mdadm/mdadm.conf
) có xu hướng sử dụng tên thiết bị /dev/md/0
thay vì /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
Điều này có thể gây ra một số kích thích cho người dùng mong đợi /dev/md0
ở đó, nhưng rõ ràng nó hoạt động tốt vì máy chủ khởi động mà không gặp vấn đề gì.
Trong /proc/mdstat
thiết bị vẫn được gọi là /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
cho thấy đó /dev/md/0
là một liên kết tượng trưng đến /dev/md0
:
new-system ~ # ls -l /dev/md/0
lrwxrwxrwx 1 root root 6 Nov 20 14:06 /dev/md/0 -> ../md0
Trên một hệ thống cũ hơn mkconf
vẫn sử dụng /dev/md0
thay thế và /dev/md
trống rỗng:
old-system ~ # /usr/share/mdadm/mkconf | grep ARRAY
ARRAY /dev/md0 UUID=76472cf5:83fd8e5a:ad617046:69b2ebf1
old-system ~ # ls -l /dev/md
total 0
Tôi muốn biết sự khác biệt giữa các tên thiết bị này và tôi không thể tìm thấy bất kỳ lời giải thích nào trên Google. Là /dev/mdN
tên cũ, và md
đang có kế hoạch chuyển sang /dev/md/N
tên thiết bị? Sự thay đổi này có liên quan đến siêu dữ liệu 1.2 không (tôi đã nhận thấy rằng máy chủ mới đang sử dụng md 1.2, trong khi máy chủ cũ vẫn đang sử dụng 0,90)?
EDIT 2017-09-11: Tôi nghĩ câu trả lời của Krzysztof Stasiak là câu trả lời đúng. Bây giờ tôi đã hoàn toàn quên mất câu hỏi này. Trong khi chơi với RAID thử nghiệm vào thứ sáu tuần trước, tôi đã nghĩ "tại sao không đặt tên cho mảng của mình thay vì ghi nhớ những gì md0, md1, md2, ... vv trong các thiết lập phức tạp?", Và vì vậy tôi đã thử:
test-server ~ # mdadm --assemble /dev/mdfoobar /dev/loop[01]
mdadm: /dev/mdfoobar is an invalid name for an md device. Try /dev/md/mdfoobar
Và thực sự nó hoạt động:
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>
(Bạn cũng có thể làm mdadm --assemble foobar DEV...
).
Có một lời giải thích chi tiết trong man mdadm
phần DEVICE NAMES
.
mdadm -E
hiện tại unassigned:0
trên máy chủ mới được phân chia tại :
, và phần thứ hai trở thành một phần của /dev/md/<name>
? Vì vậy, nếu tôi thay đổi tên mảng thành unassigned:asdf
, symlink sẽ được gọi là /dev/md/asdf
gì? Và thiết bị thực tế luôn được gọi /dev/mdN
, trong đó N là số miễn phí tiếp theo?
unassigned:0
chỉ là chữ nổi.