การขยายอาร์เรย์ RAID ที่มีอยู่และการลบดิสก์ที่ล้มเหลวใน Raid - ตอนที่ 7
มือใหม่ทุกคนจะสับสนกับคำว่าอาเรย์ Array เป็นเพียงชุดของดิสก์ กล่าวอีกนัยหนึ่ง เราสามารถเรียกอาร์เรย์เป็นชุดหรือกลุ่มได้ เช่นเดียวกับชุดไข่ที่มีตัวเลข 6 ตัว ในทำนองเดียวกัน RAID Array มีจำนวนดิสก์ อาจเป็น 2, 4, 6, 8, 12, 16 เป็นต้น หวังว่าตอนนี้คงทราบแล้วว่า Array คืออะไร
ที่นี่เราจะดูวิธีการขยาย (ขยาย) อาเรย์หรือกลุ่มการโจมตีที่มีอยู่ ตัวอย่างเช่น หากเราใช้ดิสก์ 2 แผ่นในอาร์เรย์หนึ่งเพื่อสร้างการโจมตี 1 ชุด และในบางสถานการณ์หากเราต้องการพื้นที่เพิ่มเติมในกลุ่มนั้น เราก็สามารถขยายขนาดของอาร์เรย์โดยใช้ mdadm –grow คำสั่ง เพียงเพิ่มดิสก์ตัวใดตัวหนึ่งลงในอาร์เรย์ที่มีอยู่ หลังจากเติบโต (เพิ่มดิสก์ลงในอาเรย์ที่มีอยู่) เราจะดูวิธีลบดิสก์ที่ล้มเหลวออกจากอาเรย์
สมมติว่าดิสก์ตัวหนึ่งอ่อนแอเล็กน้อยและจำเป็นต้องถอดดิสก์นั้นออก จนกว่าจะใช้งานไม่ได้ แต่เราจำเป็นต้องเพิ่มไดรฟ์สำรองตัวหนึ่งและขยายมิเรอร์ก่อนที่จะล้มเหลว เนื่องจากเราจำเป็นต้องบันทึกข้อมูลของเรา แม้ว่าดิสก์ที่อ่อนแอจะล้มเหลว เราสามารถลบมันออกจากอาเรย์ได้ นี่คือแนวคิดที่เราจะได้เห็นในหัวข้อนี้
คุณสมบัติของการเติบโตของ RAID
- เราสามารถขยาย (ขยาย) ขนาดของชุดการโจมตีใดๆ ได้
- เราสามารถลบดิสก์ที่ผิดพลาดได้หลังจากเพิ่มอาร์เรย์การโจมตีด้วยดิสก์ใหม่
- เราสามารถขยายอาร์เรย์การโจมตีได้โดยไม่ต้องหยุดทำงาน
ความต้องการ
- ในการขยายอาร์เรย์ RAID เราจำเป็นต้องมีชุด RAID (อาร์เรย์) ที่มีอยู่
- เราต้องการดิสก์เพิ่มเติมเพื่อขยายอาร์เรย์
- ที่นี่ฉันใช้ 1 ดิสก์เพื่อขยายอาเรย์ที่มีอยู่
ก่อนที่เราจะเรียนรู้เกี่ยวกับการเติบโตและการกู้คืน Array เราต้องรู้เกี่ยวกับพื้นฐานของระดับ RAID และการตั้งค่าก่อน ทำตามลิงก์ด้านล่างเพื่อทราบเกี่ยวกับการตั้งค่าเหล่านั้น
- การทำความเข้าใจแนวคิดพื้นฐานของ RAID – ตอนที่ 1
- การสร้าง Software Raid 0 ใน Linux – ตอนที่ 2
การตั้งค่าเซิร์ฟเวอร์ของฉัน
Operating System : CentOS 6.5 Final
IP Address : 192.168.0.230
Hostname : grow.tecmintlocal.com
2 Existing Disks : 1 GB
1 Additional Disk : 1 GB
ที่นี่ RAID ที่มีอยู่ของฉันมีดิสก์ 2 จำนวนโดยแต่ละขนาดคือ 1GB และตอนนี้เรากำลังเพิ่มดิสก์อีกหนึ่งดิสก์ที่มีขนาด 1GB ให้กับอาร์เรย์การโจมตีที่มีอยู่ของเรา
การขยายอาร์เรย์ RAID ที่มีอยู่
1. ก่อนที่จะขยายอาร์เรย์ ขั้นแรกให้แสดงรายการอาร์เรย์ Raid ที่มีอยู่โดยใช้คำสั่งต่อไปนี้
mdadm --detail /dev/md0
หมายเหตุ: ผลลัพธ์ข้างต้นแสดงว่าฉันมีดิสก์สองตัวในอาร์เรย์ Raid ที่มีระดับ raid1 ตอนนี้เรากำลังเพิ่มดิสก์อีกหนึ่งแผ่นลงในอาเรย์ที่มีอยู่
2. ตอนนี้มาเพิ่มดิสก์ใหม่ “sdd” และสร้างพาร์ติชันโดยใช้คำสั่ง 'fdisk'
fdisk /dev/sdd
โปรดใช้คำแนะนำด้านล่างเพื่อสร้างพาร์ติชันบนไดรฟ์ /dev/sdd
- กด 'n' เพื่อสร้างพาร์ติชันใหม่
- จากนั้นเลือก 'P' สำหรับพาร์ติชันหลัก
- จากนั้นเลือก '1' เพื่อเป็นพาร์ติชันแรก
- จากนั้นกด 'p' เพื่อพิมพ์พาร์ติชันที่สร้างขึ้น
- ที่นี่ เรากำลังเลือก 'fd' เนื่องจากประเภทของฉันคือ RAID
- จากนั้นกด 'p' เพื่อพิมพ์พาร์ติชันที่กำหนด
- จากนั้นใช้ 'p' อีกครั้งเพื่อพิมพ์การเปลี่ยนแปลงที่เราได้ทำไว้
- ใช้ 'w' เพื่อเขียนการเปลี่ยนแปลง
3. เมื่อสร้างพาร์ติชัน sdd ใหม่แล้ว คุณสามารถตรวจสอบได้โดยใช้คำสั่งด้านล่าง
ls -l /dev/ | grep sd
4. จากนั้น ให้ตรวจสอบดิสก์ที่สร้างขึ้นใหม่เพื่อดูการโจมตีที่มีอยู่ ก่อนที่จะเพิ่มลงในอาร์เรย์
mdadm --examine /dev/sdd1
หมายเหตุ: ผลลัพธ์ข้างต้นแสดงว่าดิสก์ตรวจไม่พบซุปเปอร์บล็อก หมายความว่าเราสามารถดำเนินการต่อเพื่อเพิ่มดิสก์ใหม่ลงในอาร์เรย์ที่มีอยู่ได้
4. หากต้องการเพิ่มพาร์ติชันใหม่ /dev/sdd1 ในอาร์เรย์ที่มีอยู่ md0 ให้ใช้คำสั่งต่อไปนี้
mdadm --manage /dev/md0 --add /dev/sdd1
5. เมื่อเพิ่มดิสก์ใหม่แล้ว ให้ตรวจสอบดิสก์ที่เพิ่มในอาร์เรย์ของเราโดยใช้
mdadm --detail /dev/md0
หมายเหตุ: ในผลลัพธ์ด้านบน คุณจะเห็นว่าไดรฟ์ถูกเพิ่มเป็นอะไหล่แล้ว ที่นี่ เรามีดิสก์ 2 ตัวในอาเรย์อยู่แล้ว แต่สิ่งที่เราคาดหวังคือมีอุปกรณ์ 3 ตัวในอาเรย์ ซึ่งเราจำเป็นต้องขยายอาเรย์
6. ในการขยายอาร์เรย์ เราต้องใช้คำสั่งด้านล่าง
mdadm --grow --raid-devices=3 /dev/md0
ตอนนี้เราเห็นว่ามีการเพิ่มดิสก์ตัวที่สาม (sdd1) ลงในอาร์เรย์ หลังจากเพิ่มดิสก์ตัวที่สามแล้ว มันจะซิงค์ข้อมูลจากดิสก์อีกสองตัว
mdadm --detail /dev/md0
หมายเหตุ: สำหรับดิสก์ขนาดใหญ่ จะใช้เวลาหลายชั่วโมงในการซิงค์เนื้อหา ที่นี่ฉันใช้ดิสก์เสมือนขนาด 1GB ดังนั้นจึงทำได้เร็วมากภายในไม่กี่วินาที
การลบดิสก์ออกจากอาร์เรย์
7. หลังจากที่ข้อมูลได้รับการซิงค์กับดิสก์ใหม่ 'sdd1' จากดิสก์อีกสองดิสก์แล้ว นั่นหมายความว่าขณะนี้ทั้งสามดิสก์มีเนื้อหาเหมือนกัน
อย่างที่ฉันบอกไปก่อนหน้านี้ สมมติว่าดิสก์ตัวใดตัวหนึ่งอ่อนแอและจำเป็นต้องลบออกก่อนที่จะล้มเหลว ดังนั้น ตอนนี้สมมติว่าดิสก์ 'sdc1' อ่อนแอและจำเป็นต้องลบออกจากอาร์เรย์ที่มีอยู่
ก่อนที่จะถอดดิสก์ เราต้องทำเครื่องหมายดิสก์ว่าล้มเหลว จากนั้นมีเพียงเราเท่านั้นที่สามารถลบออกได้
mdadm --fail /dev/md0 /dev/sdc1
mdadm --detail /dev/md0
จากผลลัพธ์ข้างต้น เราจะเห็นได้อย่างชัดเจนว่าดิสก์ถูกทำเครื่องหมายว่าชำรุดที่ด้านล่าง แม้จะผิดพลาด แต่เราก็ยังเห็นว่าอุปกรณ์จู่โจมนั้น 3 ล้มเหลว 1 และสถานะลดระดับลง
ตอนนี้เราต้องลบไดรฟ์ที่ผิดพลาดออกจากอาเรย์และเพิ่มอาเรย์ด้วยอุปกรณ์ 2 เพื่อให้อุปกรณ์ raid จะถูกตั้งค่าเป็นอุปกรณ์ 2 เหมือนเมื่อก่อน
mdadm --remove /dev/md0 /dev/sdc1
8. เมื่อลบไดรฟ์ที่ชำรุดออกแล้ว ตอนนี้เราจะต้องขยายอาร์เรย์การโจมตีโดยใช้ดิสก์ 2
mdadm --grow --raid-devices=2 /dev/md0
mdadm --detail /dev/md0
จากเอาต์พุต about จะเห็นว่าอาเรย์ของเรามีอุปกรณ์เพียง 2 ตัวเท่านั้น หากคุณต้องการขยายอาร์เรย์อีกครั้ง ให้ทำตามขั้นตอนเดียวกับที่อธิบายไว้ข้างต้น หากคุณต้องการเพิ่มไดรฟ์เป็นไดรฟ์สำรอง ให้ทำเครื่องหมายว่าเป็นไดรฟ์สำรอง เพื่อว่าหากดิสก์ล้มเหลว ดิสก์จะเปิดใช้งานและสร้างใหม่โดยอัตโนมัติ
บทสรุป
ในบทความ เราได้ดูวิธีขยายชุดการโจมตีที่มีอยู่แล้ว และวิธีลบดิสก์ที่ผิดพลาดออกจากอาเรย์หลังจากซิงค์เนื้อหาที่มีอยู่อีกครั้ง ขั้นตอนทั้งหมดเหล่านี้สามารถทำได้โดยไม่ต้องหยุดทำงาน ในระหว่างการซิงค์ข้อมูล ผู้ใช้ระบบ ไฟล์ และแอปพลิเคชันจะไม่ได้รับผลกระทบไม่ว่าในกรณีใดๆ
ในบทความถัดไป ฉันจะแสดงให้คุณเห็นถึงวิธีจัดการ RAID จนกว่าจะถึงตอนนั้นโปรดติดตามการอัปเดตและอย่าลืมเพิ่มความคิดเห็นของคุณ