ฉันจะย้าย RAID ซอฟต์แวร์ Linux ไปยังเครื่องใหม่ได้อย่างไร


20

ฉันมีเครื่องที่สร้างขึ้นใหม่พร้อมกับการติดตั้ง Gentoo Linux ที่สดใหม่และซอฟต์แวร์ RAID 5 จากเครื่องอื่น (ดิสก์ IDE 4 ตัวที่เชื่อมต่อกับคอนโทรลเลอร์ PCI นอกบอร์ด) ฉันย้ายตัวควบคุมไปยังเครื่องใหม่สำเร็จแล้ว เคอร์เนลตรวจพบไดรฟ์ และฉันใช้ mdadm --examine และตรวจสอบว่ามีการตรวจพบพาร์ติชัน RAID เดียวสะอาดและแม้แต่ในลำดับ "ถูกต้อง" (hde1 == ไดรฟ์ 0, hdg1 == ไดรฟ์ 1 ฯลฯ )

สิ่งที่ฉันไม่สามารถเข้าถึงได้คือไฟล์กำหนดค่าดั้งเดิมจากเครื่องรุ่นเก่า ฉันจะเปิดใช้งานอาร์เรย์นี้อีกครั้งโดยไม่สูญเสียข้อมูลได้อย่างไร

คำตอบ:


20

คุณต้องการไฟล์ mdadm.conf ดั้งเดิม แต่ในขณะที่คุณไม่มีคุณจะต้องสร้างใหม่ ครั้งแรกก่อนที่จะทำอะไรอ่านบน mdadm ผ่านหน้าคู่มือของมัน เหตุใดจึงมีโอกาสสูญเสียข้อมูลของคุณไปยังสถานการณ์หรือคำสั่งที่คุณไม่เข้าใจ?

ที่ถูกกล่าวว่าคำแนะนำนี้เป็นความเสี่ยงของคุณเอง คุณสามารถสูญเสียข้อมูลทั้งหมดของคุณได้อย่างง่ายดายด้วยคำสั่งที่ผิด ก่อนที่คุณจะรันอะไรให้ตรวจสอบ ramifications ของคำสั่งอีกครั้ง ฉันไม่สามารถรับผิดชอบต่อการสูญหายของข้อมูลหรือปัญหาอื่น ๆ ที่เกี่ยวข้องกับการกระทำของคุณได้ดังนั้นตรวจสอบทุกอย่างอีกครั้ง

คุณสามารถลองสิ่งนี้:

mdadm --assemble --scan --verbose /dev/md{number} /dev/{disk1} /dev/{disk2} /dev/{disk3} /dev/{disk4}

ควรให้ข้อมูลบางอย่างแก่คุณเพื่อเริ่มทำงานพร้อมกับ ID นอกจากนี้ยังจะสร้างอุปกรณ์อาร์เรย์ใหม่ / dev / md {number} จากนั้นคุณควรจะสามารถหาการติดตั้งใด ๆ อย่าใช้--autoตัวเลือกการใช้คำฟุ่มเฟือยในหน้า man ก็หมายความว่าภายใต้สถานการณ์บางอย่างซึ่งอาจทำให้เกิดการเขียนทับการตั้งค่าอาร์เรย์ของคุณบนไดรฟ์ นี่อาจไม่ใช่กรณีและหน้าอาจต้องเขียนใหม่เพื่อความชัดเจน แต่ทำไมโอกาสมัน?

หากอาร์เรย์ประกอบอย่างถูกต้องและทุกอย่างเป็น "ปกติ" ต้องแน่ใจว่าคุณเขียนและเก็บ mdadm.conf ไว้/etcแล้วดังนั้นคุณจะได้เวลาที่บูต รวม ID ใหม่จากอาร์เรย์ในไฟล์เพื่อช่วยในการ


+1 - ใช่! ฉันย้าย RAID-1 และ RAID-5 หลายชุดไปมาระหว่างเครื่อง Linux สิ่งหนึ่งที่ฉันไม่แน่ใจเกี่ยวกับคือที่ที่คุณเห็นข้อมูลเกี่ยวกับ "- อัตโนมัติ" จากหน้าคู่มือบนเครื่อง CentOS 5.1 ฉันเห็นเฉพาะ tht "- auto" สร้างรายการ / dev / mdX (หรือรายการ) สำหรับอาร์เรย์ ฉันไม่เห็นสิ่งใดที่อาจบ่งบอกว่าจะเขียนถึงไดรฟ์ (อันที่จริง "- อัตโนมัติ = ใช่" เป็นค่าเริ่มต้นใน mdadm บน CentoS 5.1 หากไม่ได้ระบุ "- อัตโนมัติ") "- อัปเดต" สามารถเป็นเพื่อนของคุณได้ถ้าคุณต้องการย้ายอาร์เรย์ไปยังตำแหน่งอื่น หมายเลข mdX จาก orginal ที่ระบุใน superblock
Evan Anderson

ยอดเยี่ยมฉันสามารถเมานต์อาร์เรย์ได้สำเร็จ ปัญหาเดียวที่ยังคงค้างอยู่คือ RAID ไม่ได้มาหลังจากรีบูตเครื่อง ฉันต้องรันใหม่ mdadm -Av / dev / md0 มีความคิดอะไรบ้าง
romandas

คุณสร้างไฟล์ /etc/mdadm.conf ใหม่หรือไม่ ระบบจะค้นหาไฟล์นี้ในเวลาบูตเพื่อค้นหาอาร์เรย์
Avery Payne

ฉันทำ. สิ่งที่สร้างความแตกต่างคือการคอมไพล์เคอร์เนลอีกครั้งด้วย CONFIG_MD_AUTO ฉันไม่ได้เริ่มแรกเพราะฉันคิดว่ามีวิธีที่ mdadm จะทำแทน ฉันอ่านที่อื่นว่ารหัสเคอร์เนลไม่แข็งแกร่งเท่ากับการใช้ mdadm เพื่อ automount แต่ฉันไม่สามารถหาสิ่งใดมาสำรองอีกต่อไป
romandas

2

แค่ต้องการเพิ่มคำตอบแบบเต็มสำหรับ Debian อย่างน้อยที่สุด

  • ติดตั้งเครื่องมือจัดการการโจมตีผ่าน -> sudo apt-get install mdadm
  • สแกนหาดิสก์ RAID เก่าผ่าน -> sudo mdadm --assemble --scan

  • ณ จุดนี้ฉันชอบที่จะตรวจสอบBLKIDและติดตั้งการโจมตีด้วยตนเองเพื่อยืนยัน

    blkid mount /dev/md0 /mnt

  • ผนวกข้อมูลเข้ากับ mdadm.conf ผ่าน -> mdadm --detail --scan >> /etc/mdadm/mdadm.conf
  • อัปเดต initramfs ผ่าน -> update-initramfs -u

  • การแก้ไขปัญหา:

ตรวจสอบให้แน่ใจว่าผลลัพธ์ของการmdadm --detail --scanจับคู่ของคุณ/etc/mdadm/mdadm.conf

    nano /etc/mdadm/mdadm.conf

    ARRAY /dev/md/0 level=raid5 num-devices=3 metadata=00.90 UUID=a44a52e4:0211e47f:f15bce44:817d167c
  • ตัวอย่าง FSTAB

    /dev/md0    /mnt/mdadm   ext4    defaults,nobootwait,nofail     0    2
    

/unix/23879/using-mdadm-examine-to-write-mdadm-conf/52935#52935

/ubuntu/729370/can-i-transfer-my-mdadm-software-raid-to-a-new-system-in-case-of-hardware-failur

ฉันจะย้าย RAID ซอฟต์แวร์ Linux ไปยังเครื่องใหม่ได้อย่างไร


1
mdadm -Ac partitions -m 0 /dev/md0

สแกนพาร์ติชั่นและอุปกรณ์ทั้งหมดที่อยู่ในรายการ / proc / พาร์ติชั่นและประกอบ / dev / md0 จากอุปกรณ์ดังกล่าวทั้งหมดด้วย RAID superblock ที่มีจำนวนน้อยกว่า 0

หาก Conf ประสบความสำเร็จคุณสามารถเพิ่ม --detail - สแกน >> /etc/mdadm/mdadm.conf เพื่อให้มันจับได้ในการบูต

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