Mengapa RAID / dev / md1 saya muncul sebagai / dev / md126? Apakah mdadm.conf diabaikan?

26

Saya membuat RAID dengan:

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 pengembalian:

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

Yang saya tambahkan /etc/mdadm/mdadm.conf, lihat di bawah:

# 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 pengembalian:

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 pengembalian:

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

Jadi saya pikir semuanya baik dan saya reboot.


Setelah reboot, / dev / md1 sekarang / dev / md126 dan / dev / md2 sekarang / dev / md127 ?????

sudo mdadm --detail --scan pengembalian:

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 pengembalian:

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 pengembalian:

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

Semua tidak hilang, aku:

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

dan verifikasi semuanya:

sudo mdadm --detail --scan pengembalian:

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 pengembalian:

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 pengembalian:

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

Jadi sekali lagi, saya pikir semuanya baik dan saya reboot.


Sekali lagi, setelah reboot, / dev / md1 adalah / dev / md126 dan / dev / md2 adalah / dev / md127 ?????

sudo mdadm --detail --scan pengembalian:

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 pengembalian:

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 pengembalian:

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

Apa yang kulewatkan di sini?

mmorris
sumber

Jawaban:

26

Saya menemukan jawabannya di sini, RAID mulai dari md127 bukan md0 . Singkatnya, saya memotong definisi /etc/mdadm/mdadm.conf saya dari:

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

untuk:

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

dan berlari:

sudo update-initramfs -u

Saya jauh dari ahli dalam hal ini, tetapi pemahaman saya adalah ini ...

Kernel merakit array sebelum waktu normal untuk merakit array terjadi. Ketika kernel merakit array, itu tidak menggunakan mdadm.conf. Karena partisi sudah dirakit oleh kernel, rakitan array normal yang menggunakan mdadm.conf dilewati.

Memanggil sudo update-initramfs -umemberitahu kernel untuk melihat kembali sistem untuk mencari tahu bagaimana memulai.

Saya yakin seseorang dengan pengetahuan yang lebih baik akan mengoreksi saya / menguraikan hal ini.

Gunakan baris berikut untuk memperbarui initrd untuk setiap kernel yang ada di sistem Anda:

sudo update-initramfs -k all -u
mmorris
sumber
3
Ya, sebenarnya ini akan membuat ulang initrd untuk kernel dan menyertakan file konfigurasi yang relevan untuk konfigurasi MD-RAID. Ini berarti pada saat perangkat dibuat kernel akan tahu bagaimana memberi nama mereka sesuai dengan pengaturan Anda. Tangkapan yang bagus. +1 ... btw: perhatikan bahwa ini juga dijelaskan dalam topik forum yang ditautkan.
0xC0000022L
Hai, jawaban ini menyelesaikan masalah inisialisasi RAID yang lambat di sistem Arch Linux saya. Butuh 5 detik untuk mengaktifkan dan menjalankan array RAID0 saat booting. Setelah mengubah mdadm.conf seperti yang dijelaskan dan menjalankan mkinitcpio, dibutuhkan waktu yang dapat diabaikan!
rep_movsd
Tidak dapat menjalankan Ubuntu 12.04 (Mint 13) tanpa ini. Saya bahkan tidak bisa mendapatkan FS root saya untuk me-mount dari shell initramfs baik. Ada banyak kesalahan dm-linear dan kesalahan 'bad superblock' mencoba untuk me-mount. Saya juga memastikan untuk mengganti nama perangkat md0 saya menjadi 0, dan perangkat md1 menjadi 1. Saya tidak tahu apakah itu juga diperlukan.
cmcginty
6
sudo update-initramfs -u

itu yang saya butuhkan untuk memperbaikinya. Saya tidak mengedit apa pun di /etc/mdadm/mdadm.conf.

ajaaskel
sumber
0

Saya berhasil meniru masalah ini dengan cara berikut:

Ketika "Pembaruan Perangkat Lunak" bertanya apakah saya ingin memperbarui paket (termasuk basis Ubuntu "dan kernel, saya berkata: OK. Kernel yang baru diinstal menggunakan pengaturan kernel / sistem saat ini. Saya kemudian menciptakan array. Hanya kernel yang saat ini berjalan diperbarui) dengan pengaturan RAID baru. Setelah saya reboot, kernel baru tidak tahu apa-apa tentang serangan itu, dan memberinya nama md127!

Angelos Vassiliou
sumber