ฉันจะเปลี่ยนชื่ออาเรย์การโจมตี mdadm ได้อย่างไร


12

ฉันได้รวบรวมอาร์เรย์การโจมตีใหม่เพื่อแทนที่ตัวเก่า อย่างไรก็ตามอาร์เรย์ใหม่นี้ได้กำหนดชื่ออัตโนมัติเป็น / dev / md127 และฉันต้องการเปลี่ยนชื่อเป็น / dev / md3 เพื่อที่ฉันจะได้ไม่ต้องเปลี่ยนการตั้งค่าอื่น ๆ ฉันจะเปลี่ยนชื่ออาเรย์การโจมตี mdadm ได้อย่างไร

คำตอบ:


10

เริ่มต้นด้วยmdadm --detail /dev/md127:

Version : 0.90
Creation Time : Wed Apr 13 20:03:21 2011
Raid Level : raid10
Array Size : 656765952 (626.34 GiB 672.53 GB)
Used Dev Size : 437843968 (417.56 GiB 448.35 GB)
Raid Devices : 3
Total Devices : 2
Preferred Minor : 8
Persistence : Superblock is persistent

บรรทัดแรกแสดงรุ่นข้อมูลเมตาที่ใช้โดยอาร์เรย์นี้ ตอนนี้หยุดอาร์เรย์:

mdadm --stop /dev/md127
mdadm --remove /dev/md127

และรวบรวมอีกครั้งโดยใช้ชื่อใหม่ หากเวอร์ชันข้อมูลเมตาคือ 1.0 หรือสูงกว่าให้ใช้สิ่งนี้:

mdadm --assemble /dev/md3 /dev/sd[abcdefghijk]3 --update=name

สำหรับอาร์เรย์ที่ใช้โครงสร้างเมทาดาทาเก่า (ส่วนใหญ่น่าจะเป็น 0.90 ซึ่งจะทำให้การประกอบอัตโนมัติของเคอร์เนล) ใช้สิ่งนี้:

mdadm --assemble /dev/md3 --update=super-minor /dev/sd[abcdefghijk]3

ขั้นตอนนี้ใช้งานได้ดีสำหรับฉันจนกว่าจะรีบูต จากนั้นก็กลับไปที่ / dev / md127

2
ตอนนี้ฉันใช้อาร์เรย์ UUID แทนชื่อเพราะมันพิสูจน์แล้วว่ามีความน่าเชื่อถือมากขึ้นสำหรับฉัน (เช่นการบูทคู่ดูหมิ่นชื่อในแต่ละครั้งและไม่ทำให้เกิดปัญหากับ UUIDs)
skolima

หากเป็นกรณีนี้โปรดลองอัปเดตคำตอบของคุณ
isuldor

@ Briankb สิ่งที่ฉันหมายถึงคือฉันไม่สนใจสิ่งที่ชื่อฉันท้ายด้วยเพราะฉันไม่ได้ใช้พวกเขาอีกต่อไป ฉันใส่ UUID ที่ฉันจะใส่เช่น / dev / md3 ก่อน หากคำตอบล้าสมัยโปรดแนะนำคำตอบที่ได้รับการอัปเดตแล้วและฉันยินดีที่จะยอมรับ แต่โดยทั่วไปฉันขอแนะนำให้หลีกเลี่ยงปัญหาเริ่มต้นทั้งหมดโดยไม่ใช้ชื่ออาร์เรย์เลย
skolima

5

ฉันอยู่ในตำแหน่งที่คล้ายกัน - ฉันมีอาร์เรย์ที่ฉันสร้างขึ้นซึ่งเปลี่ยนชื่อเป็น / dev / md127 หลังจากรีบูต

รหัส

mdadm --stop /dev/md127

mdadm --assemble /dev/md3 /dev/sd[cdef]1

ก็เพียงพอที่จะรับ md array ใหม่ชื่อ / dev / md3 สำหรับฉัน แต่เหมือนทุกคนอื่นหลังจากรีบูตมันจะเปลี่ยนกลับเป็น / dev / md127

ฉันพบว่าถ้าฉันประกอบอาร์เรย์ md กลับไปที่ / dev / md3 จากนั้นสร้างไฟล์ initramfs ขึ้นใหม่ ( dracut --forceอย่างที่ฉันเป็นบน CentOS) จากนั้นมันจะจำชื่ออาร์เรย์ของฉัน (/ dev / md3) หลังจากรีบูตเครื่อง


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