ค้นหาเว็บไซต์

การขยายอาร์เรย์ RAID ที่มีอยู่และการลบดิสก์ที่ล้มเหลวใน Raid - ตอนที่ 7


มือใหม่ทุกคนจะสับสนกับคำว่าอาเรย์ Array เป็นเพียงชุดของดิสก์ กล่าวอีกนัยหนึ่ง เราสามารถเรียกอาร์เรย์เป็นชุดหรือกลุ่มได้ เช่นเดียวกับชุดไข่ที่มีตัวเลข 6 ตัว ในทำนองเดียวกัน RAID Array มีจำนวนดิสก์ อาจเป็น 2, 4, 6, 8, 12, 16 เป็นต้น หวังว่าตอนนี้คงทราบแล้วว่า Array คืออะไร

ที่นี่เราจะดูวิธีการขยาย (ขยาย) อาเรย์หรือกลุ่มการโจมตีที่มีอยู่ ตัวอย่างเช่น หากเราใช้ดิสก์ 2 แผ่นในอาร์เรย์หนึ่งเพื่อสร้างการโจมตี 1 ชุด และในบางสถานการณ์หากเราต้องการพื้นที่เพิ่มเติมในกลุ่มนั้น เราก็สามารถขยายขนาดของอาร์เรย์โดยใช้ mdadm –grow คำสั่ง เพียงเพิ่มดิสก์ตัวใดตัวหนึ่งลงในอาร์เรย์ที่มีอยู่ หลังจากเติบโต (เพิ่มดิสก์ลงในอาเรย์ที่มีอยู่) เราจะดูวิธีลบดิสก์ที่ล้มเหลวออกจากอาเรย์

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

คุณสมบัติของการเติบโตของ RAID

  1. เราสามารถขยาย (ขยาย) ขนาดของชุดการโจมตีใดๆ ได้
  2. เราสามารถลบดิสก์ที่ผิดพลาดได้หลังจากเพิ่มอาร์เรย์การโจมตีด้วยดิสก์ใหม่
  3. เราสามารถขยายอาร์เรย์การโจมตีได้โดยไม่ต้องหยุดทำงาน

ความต้องการ

  1. ในการขยายอาร์เรย์ RAID เราจำเป็นต้องมีชุด RAID (อาร์เรย์) ที่มีอยู่
  2. เราต้องการดิสก์เพิ่มเติมเพื่อขยายอาร์เรย์
  3. ที่นี่ฉันใช้ 1 ดิสก์เพื่อขยายอาเรย์ที่มีอยู่

ก่อนที่เราจะเรียนรู้เกี่ยวกับการเติบโตและการกู้คืน Array เราต้องรู้เกี่ยวกับพื้นฐานของระดับ RAID และการตั้งค่าก่อน ทำตามลิงก์ด้านล่างเพื่อทราบเกี่ยวกับการตั้งค่าเหล่านั้น

  1. การทำความเข้าใจแนวคิดพื้นฐานของ RAID – ตอนที่ 1
  2. การสร้าง 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

  1. กด 'n' เพื่อสร้างพาร์ติชันใหม่
  2. จากนั้นเลือก 'P' สำหรับพาร์ติชันหลัก
  3. จากนั้นเลือก '1' เพื่อเป็นพาร์ติชันแรก
  4. จากนั้นกด 'p' เพื่อพิมพ์พาร์ติชันที่สร้างขึ้น
  5. ที่นี่ เรากำลังเลือก 'fd' เนื่องจากประเภทของฉันคือ RAID
  6. จากนั้นกด 'p' เพื่อพิมพ์พาร์ติชันที่กำหนด
  7. จากนั้นใช้ 'p' อีกครั้งเพื่อพิมพ์การเปลี่ยนแปลงที่เราได้ทำไว้
  8. ใช้ '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 จนกว่าจะถึงตอนนั้นโปรดติดตามการอัปเดตและอย่าลืมเพิ่มความคิดเห็นของคุณ