วิธีจัดการซอฟต์แวร์ 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 เกี่ยวข้องกับการปฏิบัติงานต่อไปนี้ในคราวเดียว:
- (Re) การเพิ่มอุปกรณ์ในอาเรย์
- ทำเครื่องหมายอุปกรณ์ว่ามีข้อบกพร่อง
- การถอดอุปกรณ์ที่ผิดพลาดออกจากอาเรย์
- การเปลี่ยนอุปกรณ์ที่ชำรุดด้วยอุปกรณ์สำรอง
- เริ่มอาร์เรย์ที่สร้างขึ้นบางส่วน
- หยุดอาร์เรย์
- ทำเครื่องหมายอาร์เรย์เป็น 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
หากคุณมีคำถามหรือข้อเสนอแนะ โปรดติดต่อเราโดยใช้แบบฟอร์มด้านล่างนี้