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

วิธีจัดการซอฟต์แวร์ RAID ใน Linux ด้วยเครื่องมือ 'Mdadm' - ตอนที่ 9


ไม่ว่าคุณจะเคยมีประสบการณ์กับอาร์เรย์ RAID มาก่อนหรือไม่ และไม่ว่าคุณจะติดตามบทช่วยสอนทั้งหมดในซีรีส์ RAID นี้หรือไม่ การจัดการซอฟต์แวร์ RAID ใน Linux จะไม่ใช่เรื่องซับซ้อนมากนัก เมื่อคุณคุ้นเคยกับ mdadm --manage คำสั่ง

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

สถานการณ์การทดสอบ RAID

เช่นเดียวกับในบทความสุดท้ายของซีรี่ส์นี้ เราจะใช้อาร์เรย์ RAID 1 (มิเรอร์) ซึ่งประกอบด้วยดิสก์ 8 GB สองแผ่น (/dev/sdb) เพื่อความเรียบง่าย และ /dev/sdc) และอุปกรณ์สำรองเริ่มต้น (/dev/sdd) เพื่อแสดง แต่คำสั่งและแนวคิดที่แสดงไว้ในที่นี้ใช้กับประเภทอื่น ๆ การตั้งค่าเช่นกัน ดังที่กล่าวไปแล้ว อย่าลังเลที่จะเพิ่มหน้านี้ลงในบุ๊กมาร์กของเบราว์เซอร์ของคุณ แล้วมาเริ่มกันเลย

ทำความเข้าใจกับตัวเลือกและการใช้งาน mdadm

โชคดีที่ mdadm มีแฟล็ก ในตัว --help ที่ให้คำอธิบายและเอกสารประกอบสำหรับแต่ละตัวเลือกหลัก

เริ่มต้นด้วยการพิมพ์:


mdadm --manage --help

เพื่อดูว่างานใดบ้างที่ mdadm --manage จะอนุญาตให้เราดำเนินการและอย่างไร:

ดังที่เราเห็นในภาพด้านบน การจัดการอาร์เรย์ RAID เกี่ยวข้องกับการปฏิบัติงานต่อไปนี้ในคราวเดียว:

  1. (Re) การเพิ่มอุปกรณ์ในอาเรย์
  2. ทำเครื่องหมายอุปกรณ์ว่ามีข้อบกพร่อง
  3. การถอดอุปกรณ์ที่ผิดพลาดออกจากอาเรย์
  4. การเปลี่ยนอุปกรณ์ที่ชำรุดด้วยอุปกรณ์สำรอง
  5. เริ่มอาร์เรย์ที่สร้างขึ้นบางส่วน
  6. หยุดอาร์เรย์
  7. ทำเครื่องหมายอาร์เรย์เป็น ro (อ่านอย่างเดียว) หรือ rw (อ่าน-เขียน)

การจัดการอุปกรณ์ RAID ด้วยเครื่องมือ mdadm

โปรดทราบว่าหากคุณละเว้นตัวเลือก --manage mdadm จะเข้าสู่โหมดการจัดการต่อไป โปรดคำนึงถึงข้อเท็จจริงนี้เพื่อหลีกเลี่ยงไม่ให้เกิดปัญหาอีกต่อไป

ข้อความที่ไฮไลต์ในภาพก่อนหน้าแสดงไวยากรณ์พื้นฐานในการจัดการ RAID:


mdadm --manage RAID options devices

เรามาอธิบายด้วยตัวอย่างบางส่วนกัน

ตัวอย่างที่ 1: เพิ่มอุปกรณ์ลงในอาร์เรย์ RAID

โดยทั่วไปคุณจะเพิ่มอุปกรณ์ใหม่เมื่อเปลี่ยนอุปกรณ์ที่ชำรุด หรือเมื่อคุณมีชิ้นส่วนอะไหล่ที่คุณต้องการให้มีประโยชน์ในกรณีที่เกิดความล้มเหลว:


mdadm --manage /dev/md0 --add /dev/sdd1

ตัวอย่างที่ 2: การทำเครื่องหมายอุปกรณ์ RAID ว่าชำรุดและลบออกจากอาเรย์

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


mdadm --manage /dev/md0 --fail /dev/sdb1

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

เมื่ออุปกรณ์ได้รับการระบุว่าล้มเหลวด้วยตนเอง ก็สามารถลบออกจากอาร์เรย์ได้อย่างปลอดภัย:


mdadm --manage /dev/md0 --remove /dev/sdb1
ตัวอย่างที่ 3: การเพิ่มอุปกรณ์ที่เป็นส่วนหนึ่งของอาเรย์ที่ถูกลบออกไปก่อนหน้านี้อีกครั้ง

จนถึงจุดนี้ เรามีอาร์เรย์ RAID 1 ที่ใช้งานได้ซึ่งประกอบด้วยอุปกรณ์ที่ใช้งานอยู่ 2 เครื่อง: /dev/sdc1 และ /dev/sdd1 หากเราพยายามเพิ่ม /dev/sdb1 อีกครั้งใน /dev/md0 ทันที:


mdadm --manage /dev/md0 --re-add /dev/sdb1

เราจะพบข้อผิดพลาด:


mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible

เนื่องจากอาร์เรย์ประกอบด้วยจำนวนไดรฟ์สูงสุดที่เป็นไปได้แล้ว ดังนั้นเราจึงมี 2 ทางเลือก: a) เพิ่ม /dev/sdb1 เป็นส่วนสำรอง ดังที่แสดงในตัวอย่าง #1 หรือ b) ลบ /dev/sdd1 ออกจากอาร์เรย์ และ จากนั้นเพิ่ม /dev/sdb1 อีกครั้ง

เราเลือกตัวเลือก b) และจะเริ่มต้นด้วยการหยุดอาร์เรย์เพื่อประกอบใหม่ในภายหลัง:


mdadm --stop /dev/md0
mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

หากคำสั่งข้างต้นเพิ่ม /dev/sdb1 กลับเข้าไปในอาร์เรย์ไม่สำเร็จ ให้ใช้คำสั่งจาก ตัวอย่าง #1 เพื่อดำเนินการ

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

ตัวอย่างที่ 4: แทนที่อุปกรณ์ Raid ด้วยดิสก์เฉพาะ

การเปลี่ยนดิสก์ในอาเรย์ด้วยดิสก์สำรองนั้นทำได้ง่ายเพียง:


mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1

ซึ่งส่งผลให้อุปกรณ์ตามสวิตช์ --with ถูกเพิ่มไปยัง RAID ในขณะที่ดิสก์ที่ระบุผ่าน --replace ถูกทำเครื่องหมายว่ามีข้อบกพร่อง:

ตัวอย่างที่ 5: การทำเครื่องหมายอาร์เรย์ Raid เป็น ro หรือ rw

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

หากต้องการทำเครื่องหมายอุปกรณ์เป็น ro จะต้องยกเลิกการต่อเชื่อมก่อน:


umount /mnt/raid1
mdadm --manage /dev/md0 --readonly
mount /mnt/raid1
touch /mnt/raid1/test1

หากต้องการกำหนดค่าอาร์เรย์ให้อนุญาตการดำเนินการเขียนด้วย ให้ใช้ตัวเลือก --readwrite โปรดทราบว่าคุณจะต้องยกเลิกการต่อเชื่อมอุปกรณ์และหยุดอุปกรณ์ก่อนที่จะตั้งค่าสถานะ rw:


umount /mnt/raid1
mdadm --manage /dev/md0 --stop
mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
mdadm --manage /dev/md0 --readwrite
touch /mnt/raid1/test2

สรุป

ตลอดทั้งซีรีส์นี้ เราได้อธิบายวิธีการตั้งค่าอาร์เรย์ RAID ของซอฟต์แวร์ต่างๆ ที่ใช้ในสภาพแวดล้อมขององค์กร หากคุณอ่านบทความและตัวอย่างที่ให้ไว้ในบทความเหล่านี้ คุณก็พร้อมที่จะใช้ประโยชน์จากประสิทธิภาพของซอฟต์แวร์ RAID ใน Linux

หากคุณมีคำถามหรือข้อเสนอแนะ โปรดติดต่อเราโดยใช้แบบฟอร์มด้านล่างนี้