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


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

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 ke /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 kembali:

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

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

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

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

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, saya:

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

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

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

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

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

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

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?


23
2017-10-30 16:56


asal




Jawaban:


Saya menemukan jawabannya di sini, RAID dimulai pada md127 bukannya md0. Singkatnya, saya mencincang 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 seorang ahli tentang ini, tetapi pemahaman saya adalah ini ...

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

Panggilan sudo update-initramfs -u memberitahu kernel untuk melihat kembali sistem untuk mencari tahu cara 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

25
2017-10-30 19:05



Ya, sebenarnya ini akan menciptakan kembali initrd untuk kernel dan menyertakan file-file konfigurasi yang relevan untuk konfigurasi MD-RAID. Ini berarti pada saat perangkat dibuat, kernel akan tahu bagaimana memberi nama sesuai dengan pengaturan Anda. Tangkapan yang bagus. +1 ... btw: perhatikan bahwa ini juga dijelaskan dalam topik forum terkait. - 0xC0000022L
Hei, jawaban ini memecahkan masalah inisialisasi RAID lambat pada sistem Arch Linux saya. Diperlukan waktu 5 detik untuk menyiapkan dan menjalankan RAID0 array saat boot. Setelah mengubah mdadm.conf seperti yang dijelaskan dan menjalankan mkinitcpio, dibutuhkan waktu yang sangat sedikit! - rep_movsd
Tidak bisa mendapatkan Ubuntu 12.04 (Mint 13) untuk boot tanpa ini. Saya bahkan tidak bisa mendapatkan root FS untuk me-mount dari shell initramfs juga. Ada banyak kesalahan dm-linear dan kesalahan 'superblok buruk' yang 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


sudo update-initramfs -u

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


4
2018-02-07 17:16





Saya memiliki masalah yang sama.

Solusi ini memecahkan masalah saya: http://aubreykloppers.wordpress.com/2012/07/06/mdadm-devmd127/


0
2017-08-01 21:22



Selamat datang di Tanya Ubuntu. Harap sertakan langkah-langkah yang relevan dari tautan dalam jawaban. - chaskes


Saya berhasil mereplikasi masalah dengan cara berikut:

Ketika "Software Updater" ditanya 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 membuat array. Hanya kernel yang sedang berjalan yang diperbarui dengan pengaturan RAID baru. Setelah saya reboot, kernel baru tidak tahu apa-apa tentang serangan itu, dan memberikannya nama md127!


0
2017-11-23 13:44