Tại sao RAID / dev / md1 của tôi hiển thị là / dev / md126? Là mdadm.conf đang bị bỏ qua?


26

Tôi đã tạo một RAID với:

sudo mdadm --create --verbose /dev/md1 --level=mirror --raid-devices=2 /dev/sdb1 /dev/sdc1
sudo mdadm --create --verbose /dev/md2 --level=mirror --raid-devices=2 /dev/sdb2 /dev/sdc2

sudo mdadm --detail --scan trả về:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

Mà tôi đã thêm nó vào /etc/mdadm/mdadm.conf, xem bên dưới:

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This file was auto-generated on Mon, 29 Oct 2012 16:06:12 -0500
# by mkconf $Id$
ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat trả về:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdb2[0] sdc2[1]
      208629632 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md trả về:

brw-rw----   1 root disk      9,   1 Oct 30 11:06 md1
brw-rw----   1 root disk      9,   2 Oct 30 11:06 md2

Vì vậy, tôi nghĩ rằng tất cả là tốt và tôi khởi động lại.


Sau khi khởi động lại, / dev / md1 bây giờ là / dev / md126 và / dev / md2 bây giờ là / dev / md127 ?????

sudo mdadm --detail --scan trả về:

ARRAY /dev/md/ion:1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md/ion:2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat trả về:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc2[1] sdb2[0]
      208629632 blocks super 1.2 [2/2] [UU]

md127 : active (auto-read-only) raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md trả về:

drwxr-xr-x   2 root root          80 Oct 30 11:18 md
brw-rw----   1 root disk      9, 126 Oct 30 11:18 md126
brw-rw----   1 root disk      9, 127 Oct 30 11:18 md127

Tất cả không mất, tôi:

sudo mdadm --stop /dev/md126
sudo mdadm --stop /dev/md127
sudo mdadm --assemble --verbose /dev/md1 /dev/sdb1 /dev/sdc1
sudo mdadm --assemble --verbose /dev/md2 /dev/sdb2 /dev/sdc2

và xác minh mọi thứ:

sudo mdadm --detail --scan trả về:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat trả về:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md2 : active raid1 sdb2[0] sdc2[1]
      208629632 blocks super 1.2 [2/2] [UU]

md1 : active raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md trả về:

brw-rw----   1 root disk      9,   1 Oct 30 11:26 md1
brw-rw----   1 root disk      9,   2 Oct 30 11:26 md2

Vì vậy, một lần nữa, tôi nghĩ tất cả đều tốt và tôi khởi động lại.


Một lần nữa, sau khi khởi động lại, / dev / md1 là / dev / md126 và / dev / md2 là / dev / md127 ?????

sudo mdadm --detail --scan trả về:

ARRAY /dev/md/ion:1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md/ion:2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

cat /proc/mdstat trả về:

Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md126 : active raid1 sdc2[1] sdb2[0]
      208629632 blocks super 1.2 [2/2] [UU]

md127 : active (auto-read-only) raid1 sdb1[0] sdc1[1]
      767868736 blocks super 1.2 [2/2] [UU]

unused devices: <none>

ls -la /dev | grep md trả về:

drwxr-xr-x   2 root root          80 Oct 30 11:42 md
brw-rw----   1 root disk      9, 126 Oct 30 11:42 md126
brw-rw----   1 root disk      9, 127 Oct 30 11:42 md127

Tôi đang thiếu gì ở đây?

Câu trả lời:


26

Tôi tìm thấy câu trả lời ở đây, RAID bắt đầu từ md127 thay vì md0 . Nói tóm lại, tôi đã cắt các định nghĩa /etc/mdadm/mdadm.conf của tôi từ:

ARRAY /dev/md1 metadata=1.2 name=ion:1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 metadata=1.2 name=ion:2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

đến:

ARRAY /dev/md1 UUID=aa1f85b0:a2391657:cfd38029:772c560e
ARRAY /dev/md2 UUID=528e5385:e61eaa4c:1db2dba7:44b556fb

và chạy:

sudo update-initramfs -u

Tôi xa một chuyên gia về điều này, nhưng sự hiểu biết của tôi là ...

Nhân đã lắp ráp các mảng trước thời gian bình thường để lắp ráp các mảng xảy ra. Khi kernel lắp ráp các mảng, nó không sử dụng mdadm.conf. Vì các phân vùng đã được lắp ráp bởi kernel, nên tập hợp mảng thông thường sử dụng mdadm.conf đã bị bỏ qua.

Gọi sudo update-initramfs -ucho hạt nhân hãy xem lại hệ thống để tìm ra cách khởi động.

Tôi chắc chắn rằng ai đó có kiến ​​thức tốt hơn sẽ sửa chữa tôi / giải thích về điều này.

Sử dụng dòng sau để cập nhật initrd cho từng kernel tương ứng tồn tại trên hệ thống của bạn:

sudo update-initramfs -k all -u

3
Vâng, thực sự điều này sẽ tạo lại initrd cho kernel và bao gồm các tệp cấu hình có liên quan đến cấu hình MD-RAID. Điều này có nghĩa là tại thời điểm các thiết bị được tạo, kernel sẽ biết cách đặt tên cho chúng theo cài đặt của bạn. Nắm bắt tốt. +1 ... btw: nhận thấy rằng điều này cũng được giải thích trong chủ đề diễn đàn được liên kết.
0xC0000022L

Này, câu trả lời này đã giải quyết vấn đề khởi tạo RAID chậm trên hệ thống Arch Linux của tôi. Sẽ mất 5 giây để khởi động mảng RAID0 trong khi khởi động. Sau khi thay đổi mdadm.conf như được mô tả và chạy mkinitcpio, sẽ mất thời gian không đáng kể!
rep_movsd

Không thể khởi động Ubuntu 12.04 (Mint 13) mà không có cái này. Tôi thậm chí còn không thể lấy FS gốc của mình để gắn kết từ shell initramfs. Có một loạt các lỗi tuyến tính dm và lỗi 'siêu khối xấu' đang cố gắn kết. Tôi cũng đảm bảo đổi tên thiết bị md0 của mình thành 0 và thiết bị md1 thành 1. Tôi không biết nếu điều đó cũng cần thiết.
cmcginty

6
sudo update-initramfs -u

là tất cả những gì tôi cần để khắc phục điều đó. Tôi đã không chỉnh sửa bất cứ điều gì trong /etc/mdadm/mdadm.conf.



0

Tôi quản lý để nhân rộng vấn đề theo cách sau:

Khi "Trình cập nhật phần mềm" hỏi tôi có muốn cập nhật các gói (bao gồm cả cơ sở Ubuntu "và kernel không, tôi đã nói: OK. Hạt nhân mới được cài đặt đã sử dụng các cài đặt của kernel / system hiện tại. Sau đó, tôi đã tạo ra mảng. với cài đặt RAID mới. Sau khi tôi khởi động lại, hạt nhân mới không biết gì về cuộc đột kích và đặt cho nó một tên md127!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.