เหตุใด RAID / dev / md1 ของฉันจึงแสดงเป็น / dev / md126 mdadm.conf ถูกเพิกเฉยหรือไม่


26

ฉันสร้าง RAID ด้วย:

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 ผลตอบแทน:

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

ซึ่งฉันผนวกมันไป/etc/mdadm/mdadm.confดูด้านล่าง:

# 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 ผลตอบแทน:

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 ผลตอบแทน:

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

ดังนั้นฉันคิดว่าทุกอย่างดีและฉันรีบูต


หลังจากรีบูต / dev / md1 คือตอนนี้/ dev / md126และ / dev / md2 คือตอนนี้/ dev / md127 ?????

sudo mdadm --detail --scan ผลตอบแทน:

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 ผลตอบแทน:

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 ผลตอบแทน:

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

ทั้งหมดไม่สูญหายฉัน:

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

และยืนยันทุกอย่าง:

sudo mdadm --detail --scan ผลตอบแทน:

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 ผลตอบแทน:

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 ผลตอบแทน:

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

ดังนั้นอีกครั้งฉันคิดว่าทุกอย่างดีและฉันเริ่มต้นใหม่


อีกครั้งหลังจากรีบูต / dev / md1 คือ/ dev / md126และ / dev / md2 เป็น/ dev / md127 ?????

sudo mdadm --detail --scan ผลตอบแทน:

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 ผลตอบแทน:

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 ผลตอบแทน:

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

สิ่งที่ฉันหายไปที่นี่?

คำตอบ:


26

ผมพบคำตอบได้ที่นี่, RAID เริ่มต้นที่ md127 แทน md0 ในระยะสั้นฉันสับคำจำกัดความของ /etc/mdadm/mdadm.conf ของฉันจาก:

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

ที่:

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

และวิ่ง:

sudo update-initramfs -u

ฉันอยู่ไกลจากผู้เชี่ยวชาญในเรื่องนี้ แต่ความเข้าใจของฉันคือสิ่งนี้ ...

เคอร์เนลประกอบอาร์เรย์ก่อนเวลาปกติในการประกอบอาร์เรย์ที่เกิดขึ้น เมื่อเคอร์เนลประกอบอาร์เรย์มันจะไม่ใช้ mdadm.conf เนื่องจากพาร์ติชันได้รับการประกอบโดยเคอร์เนลแล้วแอสเซมบลีอาร์เรย์ปกติซึ่งใช้ mdadm.conf จึงถูกข้ามไป

การโทรsudo update-initramfs -uบอกเคอร์เนลลองดูที่ระบบอีกครั้งเพื่อหาวิธีเริ่มต้นใช้งาน

ฉันแน่ใจว่าคนที่มีความรู้ดีกว่าจะแก้ไขฉัน / ทำอย่างละเอียดเกี่ยวกับเรื่องนี้

ใช้บรรทัดต่อไปนี้เพื่ออัปเดต initrd สำหรับเคอร์เนลแต่ละตัวที่มีอยู่ในระบบของคุณ:

sudo update-initramfs -k all -u

3
ใช่แล้วสิ่งนี้จะสร้าง initrd ใหม่สำหรับเคอร์เนลและรวมไฟล์การกำหนดค่าที่เกี่ยวข้องกับการกำหนดค่า MD-RAID ซึ่งหมายความว่าในเวลาที่อุปกรณ์ถูกสร้างขึ้นเคอร์เนลจะรู้วิธีตั้งชื่อตามการตั้งค่าของคุณ จับดี. +1 ... btw: พบว่ามีการอธิบายในหัวข้อฟอรัมที่เชื่อมโยงด้วย
0xC0000022L

สวัสดีคำตอบนี้แก้ปัญหาการเริ่มต้น RAID ที่ช้าในระบบ Arch Linux ของฉัน จะใช้เวลา 5 วินาทีเพื่อให้อาร์เรย์ RAID0 ทำงานในขณะบู๊ต หลังจากเปลี่ยน mdadm.conf ตามที่อธิบายไว้และเรียกใช้ mkinitcpio มันต้องใช้เวลาเล็กน้อย!
rep_movsd

ไม่สามารถรับ Ubuntu 12.04 (มิ้นต์ 13) เพื่อบูตโดยไม่ต้องทำสิ่งนี้ ฉันไม่สามารถรับรูต FS ของฉันเพื่อเมานต์จากเชลล์ initramfs ได้เช่นกัน มีข้อผิดพลาดจำนวนมาก dm-linear และข้อผิดพลาด 'super superblock' ที่พยายามเมาต์ ฉันยังแน่ใจว่าได้เปลี่ยนชื่ออุปกรณ์ md0 เป็น 0 และอุปกรณ์ md1 เป็น 1 ฉันไม่ทราบว่าจำเป็นต้องใช้หรือไม่
cmcginty

6
sudo update-initramfs -u

คือทั้งหมดที่ฉันต้องการเพื่อแก้ไข ฉันไม่ได้แก้ไขอะไรใน /etc/mdadm/mdadm.conf



0

ฉันจัดการเพื่อจำลองปัญหาในลักษณะต่อไปนี้:

เมื่อ "Software Updater" ถามว่าฉันต้องการอัปเดตแพคเกจ (รวมถึงฐาน Ubuntu และเคอร์เนลฉันตอบว่า: OK เคอร์เนลที่ติดตั้งใหม่ใช้การตั้งค่าของเคอร์เนล / ระบบปัจจุบันจากนั้นฉันสร้างอาร์เรย์ขึ้นมา ด้วยการตั้งค่า RAID ใหม่เมื่อฉันรีบูทเคอร์เนลใหม่ไม่รู้อะไรเลยเกี่ยวกับการโจมตีและให้ชื่อ md127!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.