แปลงซอฟต์แวร์ linux จาก raid5 เป็น raid6


11

ปัจจุบันฉันมีไฟล์เซิร์ฟเวอร์ที่มีดิสก์ 1.5 1.5TB ในอาร์เรย์ RAID5 เนื่องจากมันเต็มมากฉันจึงมีดิสก์เพิ่มอีกสามแผ่น (แต่ละอันมีขนาด 1.5TB)

ตอนนี้ฉันต้องการเปลี่ยนเป็น RAID6 เนื่องจากพื้นที่ 6TB เพียงพอและฉันต้องการความปลอดภัยที่เพิ่มขึ้นของ raid6 ในขณะที่ฉันมีการสำรองข้อมูลเต็มรูปแบบ - เช่นฉันสามารถสร้างอาร์เรย์ใหม่และกู้คืนข้อมูลสำรองได้ - ฉันต้องการสลับโดยไม่ต้องเรียกคืนข้อมูลสำรอง เป็นไปได้และถ้าใช่เป็นอย่างไร

คำตอบ:


9

คำศัพท์ที่คุณต้องการคือ "การโยกย้ายระดับ RAID"

ตามนี้มันเป็นไปได้ ฉันยังไม่ได้ทำ แต่ขั้นตอนดูเหมือนว่าคุณควรเพิ่มไดรฟ์ใหม่เป็นฮอตสปอตไปยังอาร์เรย์ที่มีอยู่แล้วใช้ mdadm เพื่ออัปเดตระดับการจู่โจมและจำนวนอุปกรณ์การจู่โจม ..

คุณต้องใช้ mdadm เมื่อเร็ว ๆ นี้เพื่อทำสิ่งนี้: mdadm-2.6.9 (เช่น centos 5.x) ดูเหมือนจะไม่สนับสนุน แต่ mdadm-3.1.4 (เช่น ubuntu 11.10) ทำสิ่งต่อไปนี้:

   Grow   Grow (or shrink) an array, or otherwise reshape it in some way.  Currently supported growth options including changing the active size of component devices and
          changing the number of active devices in RAID levels 1/4/5/6, changing the RAID level between 1, 5, and 6, changing the chunk size and  layout  for  RAID5  and
          RAID5, as well as adding or removing a write-intent bitmap.

EG เพิ่มอุปกรณ์ hotspare ใหม่ / dev / sdg ลงในอาร์เรย์ RAID5 ก่อน:

$ sudo mdadm --manage /dev/md/md0 --add /dev/sdg

จากนั้นแปลงเป็นอาร์เรย์ RAID6 และทำให้สร้างใหม่เป็นสถานะที่สะอาด - กลัวอุปกรณ์ 4 บอกคุณถึงจำนวนไดรฟ์ที่คุณมีทั้งหมดในอาเรย์ใหม่

$ sudo mdadm --grow /dev/md/md0 --raid-devices 4 --level 6

ฉันไม่รู้ว่ามันจะรวดเร็วแค่ไหน จากประสบการณ์ของฉันกับการโยกย้ายระดับการจู่โจมบนตัวควบคุม RAID ของฮาร์ดแวร์มันเร็วกว่าที่จะสร้างอาร์เรย์ใหม่ตั้งแต่เริ่มต้นและกู้คืนข้อมูลสำรองของคุณ


3
การโอนย้าย RAID 5 ไปยัง RAID 6 มีการดำเนินการช้าสองครั้ง - ทำการดึงข้อมูลซ้ำอีกครั้งในดิสก์และคำนวณค่าพาริตีที่สองสำหรับดิสก์แพริตีเพิ่มเติม การล้าง / เรียกคืนอาจใช้เวลานานเท่ากับการปรับขนาด
Andrew

1
นอกจากนี้ยังต้องการรุ่นเคอร์เนลที่แน่นอน พบสิ่งนี้ด้วยวิธีที่ยากลำบาก
Sirex

เนื่องจากฉันใช้งานง่ายทั้งเคอร์เนลและ mdadm เป็นรุ่นที่ค่อนข้างใหม่ดังนั้นจึงไม่น่าจะมีปัญหา
ThiefMaster

1
ลิงค์ที่คุณอ้างถึงนั้นเขียนขึ้นโดยฉัน โปรดทราบ: ฉันไม่ได้อ่านเอกสารเกี่ยวกับวิธีการทำมันจริงๆฉันเพิ่งสร้างเครื่องเสมือนที่มีไดรฟ์ 30 ตัว (อย่างนี้) และเริ่มเล่นซอ ดังนั้นใช้เวลาทั้งหมดของการโพสต์ด้วยเม็ดเกลือก็เพียง braindump แล้ว ...
มาร์ตินเอ็ม

1
@ServerHorror: ตั้งข้อสังเกต อินเทอร์เน็ตที่กว้างขึ้นรวมถึงหน้า mdadm อ้างว่าสามารถทำการโยกย้ายระดับการจู่โจมได้ :)
Daniel Lawson

7

คำเตือนเกี่ยวกับข้อบังคับ: แผนสำหรับความล้มเหลว สำรองข้อมูลให้พร้อมและคำนึงถึงการหยุดทำงานเป็นไปได้

นอกจากนี้ทดสอบใน VM หรือบางอย่างที่คล้ายกันมาจากบันทึกของฉันและฉันไม่ได้ทำในเวลานาน สิ่งนี้อาจไม่สมบูรณ์

  1. คุณจะต้องaddดิสก์ไปยังอาร์เรย์:

    mdadm --manage /dev/md0 --add /dev/sdf  
    

    ทำสิ่งนี้สำหรับดิสก์ทั้งสามแผ่นแล้วเปลี่ยนชื่ออุปกรณ์ตามลำดับ

  2. ขยายอาร์เรย์:

    mdadm --grow /dev/md0 --level 6 --raid-devices 6 
    

3

ใช้ประโยชน์จาก--backup-fileตัวเลือกดังนั้นในกรณีที่ไฟฟ้าดับคุณสามารถเพิ่มอุปกรณ์ต่อได้หลังจากรีบูตเครื่องและให้แน่ใจว่าไม่มีข้อมูลสูญหาย

mdadm --grow /dev/md0 --level=raid6 --raid-devices=6 --backup-file=/root/mdadm5-6_backup_md0

ไฟล์สำรองควรถูกบันทึกไว้ในระบบไฟล์ไม่ใช่ส่วนหนึ่งของอาเรย์ที่คุณกำลังจะเติบโต

--backup-file=จำเป็นเมื่อ--growใช้เพื่อเพิ่มจำนวนอุปกรณ์จู่โจมใน RAID5 หรือ RAID6 หากไม่มีอุปกรณ์สำรองหรือลดขนาดเปลี่ยนระดับ RAID หรือเลย์เอาต์ ดูหัวข้อโหมดการเติบโตด้านล่างเกี่ยวกับการเปลี่ยนแปลงของอุปกรณ์ RAID ไฟล์จะต้องเก็บไว้ในอุปกรณ์แยกต่างหากไม่ใช่ในอาร์เรย์ RAID ที่ถูกเปลี่ยนรูปร่าง

--continueประกอบกับ--freeze-reshapeตัวเลือกสำหรับการประกอบ มันเป็นสิ่งจำเป็นเมื่อ--growการดำเนินการถูกขัดจังหวะและจะไม่เริ่มต้นใหม่โดยอัตโนมัติเนื่องจากการ--freeze-reshapeใช้งานในระหว่างการประกอบอาร์เรย์ ตัวเลือกนี้ใช้ร่วมกับคำสั่ง-G( --grow) และอุปกรณ์สำหรับการปรับรูปร่างที่รอดำเนินการต่อ พารามิเตอร์ทั้งหมดที่จำเป็นสำหรับการปรับแต่งความต่อเนื่องจะถูกอ่านจากข้อมูลเมตาของอาร์เรย์ หาก--growคำสั่งเริ่มต้นมี--backup-file=ตัวเลือกที่จำเป็นต้องมีการตั้งค่าตัวเลือกการต่อเนื่องจะต้องมีไฟล์สำรองเดียวกันที่ได้รับเช่นกัน

พารามิเตอร์อื่นใดที่ส่งพร้อมกับ--continueตัวเลือกจะถูกละเว้น

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