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

ตั้งค่า RAID ระดับ 6 (สตริปด้วย Double Distributed Parity) ใน Linux - ตอนที่ 5


RAID 6 เป็นเวอร์ชันอัปเกรดของ RAID 5 โดยมีความเท่าเทียมกันแบบกระจายสองตัว ซึ่งให้ความทนทานต่อข้อผิดพลาด แม้ว่าไดรฟ์สองตัวจะล้มเหลวก็ตาม ระบบ Mission Critical ยังคงทำงานได้ในกรณีที่ดิสก์ขัดข้องพร้อมกันสองตัว คล้ายคลึงกับ RAID 5 แต่มีประสิทธิภาพมากกว่า เนื่องจากใช้ดิสก์มากกว่าหนึ่งดิสก์เพื่อความเท่าเทียมกัน

ในบทความก่อนหน้านี้ เราได้เห็นความเท่าเทียมกันแบบกระจายใน RAID 5 แต่ในบทความนี้ เราจะเห็น RAID 6 ที่มีความเท่าเทียมกันแบบกระจายสองเท่า อย่าคาดหวังประสิทธิภาพพิเศษกว่า RAID อื่นๆ หากเป็นเช่นนั้น เราก็ต้องติดตั้งตัวควบคุม RAID เฉพาะด้วย ใน RAID 6 แม้ว่าเราจะสูญเสียดิสก์ 2 ตัว เราก็สามารถดึงข้อมูลกลับคืนมาได้โดยการเปลี่ยนไดรฟ์สำรองและสร้างจากความเท่าเทียมกัน

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

ตอนนี้ พวกเราหลายคนได้ข้อสรุปว่าทำไมเราจึงต้องใช้ RAID 6 ในเมื่อมันไม่ทำงานเหมือนกับ RAID อื่นๆ อืม… ผู้ที่ตั้งคำถามนี้จำเป็นต้องรู้ว่า หากพวกเขาต้องการความทนทานต่อข้อผิดพลาดสูง ให้เลือก RAID 6 ในทุกสภาพแวดล้อมที่สูงขึ้นและมีความพร้อมใช้งานสูงสำหรับฐานข้อมูล พวกเขาใช้ RAID 6 เพราะฐานข้อมูลเป็นสิ่งสำคัญที่สุดและ จะต้องปลอดภัยไม่ว่าจะต้องเสียค่าใช้จ่ายใดก็ตาม และยังมีประโยชน์สำหรับสภาพแวดล้อมการสตรีมวิดีโออีกด้วย

ข้อดีและข้อเสียของ RAID 6

  1. ประสิทธิภาพก็ดี
  2. RAID 6 มีราคาแพง เนื่องจากต้องใช้ไดรฟ์อิสระสองตัวสำหรับฟังก์ชันพาริตี
  3. จะสูญเสียความจุของดิสก์สองตัวสำหรับการใช้ข้อมูลพาริตี (พาริตีคู่)
  4. ไม่มีข้อมูลสูญหาย แม้ว่าดิสก์จะล้มเหลว 2 ตัวก็ตาม เราสามารถสร้างใหม่จากความเท่าเทียมกันได้หลังจากเปลี่ยนดิสก์ที่ล้มเหลว
  5. การอ่านจะดีกว่า RAID 5 เพราะมันอ่านจากหลายดิสก์ แต่ประสิทธิภาพการเขียนจะแย่มากหากไม่มีตัวควบคุม RAID เฉพาะ

ความต้องการ

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

ผู้ที่เพิ่งเริ่มใช้การตั้งค่า RAID เราขอแนะนำให้อ่านบทความเกี่ยวกับ RAID ด้านล่าง

  1. แนวคิดพื้นฐานของ RAID ใน Linux - ตอนที่ 1
  2. การสร้างซอฟต์แวร์ RAID 0 (Stripe) ใน Linux - ตอนที่ 2
  3. การตั้งค่า RAID 1 (มิเรอร์) ใน Linux – ตอนที่ 3
การตั้งค่าเซิร์ฟเวอร์ของฉัน
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.228
Hostname	 :	rd6.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc
Disk 3 [20GB]	 :	/dev/sdd
Disk 4 [20GB]	 : 	/dev/sde

บทความนี้เป็นส่วนที่ 5 ของชุดบทเรียน RAID 9 รายการ เราจะมาดูกันว่าเราจะสร้างและตั้งค่าซอฟต์แวร์ RAID 6 หรือการสตริปด้วย Double Distributed Parity ได้อย่างไร ระบบ Linux หรือเซิร์ฟเวอร์ที่ใช้ดิสก์ 20GB สี่ดิสก์ชื่อ /dev/sdb, /dev/sdc, /dev/sdd และ /dev/sde

ขั้นตอนที่ 1: การติดตั้ง mdadm Tool และตรวจสอบไดรฟ์

1. หากคุณกำลังติดตามบทความ Raid สองบทความล่าสุดของเรา (ส่วนที่ 2 และ Pภาพที่ 3) ซึ่งเราได้แสดงวิธีการไปแล้ว ติดตั้งเครื่องมือ 'mdadm' หากคุณยังใหม่กับบทความนี้ ให้ฉันอธิบายว่า 'mdadm' เป็นเครื่องมือสำหรับสร้างและจัดการ Raid ในระบบ Linux มาติดตั้งเครื่องมือโดยใช้คำสั่งต่อไปนี้ตามการกระจาย Linux ของคุณกันดีกว่า

yum install mdadm		[on RedHat systems]
apt-get install mdadm 	[on Debain systems]

2. หลังจากติดตั้งเครื่องมือ ตอนนี้ก็ถึงเวลาตรวจสอบไดรฟ์สี่ตัวที่แนบมาซึ่งเราจะใช้สำหรับการสร้าง Raid โดยใช้คำสั่ง 'fdisk' ต่อไปนี้

fdisk -l | grep sd

3. ก่อนที่จะสร้างไดรฟ์ RAID ให้ตรวจสอบดิสก์ไดรฟ์ของเราเสมอว่ามีการสร้าง RAID บนดิสก์แล้วหรือไม่

mdadm -E /dev/sd[b-e]
mdadm --examine /dev/sdb /dev/sdc /dev/sdd /dev/sde

หมายเหตุ: ในภาพด้านบนแสดงให้เห็นว่าไม่มีการตรวจพบซุปเปอร์บล็อกหรือไม่มีการกำหนด RAID ในดิสก์ไดรฟ์สี่ตัว เราอาจก้าวต่อไปเพื่อเริ่มสร้าง RAID 6

ขั้นตอนที่ 2: การแบ่งพาร์ติชันไดรฟ์สำหรับ RAID 6

4. ตอนนี้สร้างพาร์ติชันสำหรับการโจมตีบน '/dev/sdb', '/dev/sdc', '/dev/ sdd' และ '/dev/sde' โดยใช้คำสั่ง fdisk ที่นี่ เราจะแสดงวิธีการสร้างพาร์ติชันบนไดรฟ์ sdb และขั้นตอนเดียวกันในภายหลังสำหรับส่วนที่เหลือของไดรฟ์

สร้างพาร์ติชัน /dev/sdb
fdisk /dev/sdb

โปรดปฏิบัติตามคำแนะนำที่แสดงด้านล่างเพื่อสร้างพาร์ติชัน

  1. กด 'n' เพื่อสร้างพาร์ติชันใหม่
  2. จากนั้นเลือก 'P' สำหรับพาร์ติชันหลัก
  3. จากนั้นเลือกหมายเลขพาร์ติชันเป็น 1
  4. กำหนดค่าเริ่มต้นโดยเพียงกดปุ่ม Enter สองครั้ง
  5. จากนั้นกด 'P' เพื่อพิมพ์พาร์ติชันที่กำหนด
  6. กด 'L' เพื่อแสดงรายการประเภทที่มีอยู่ทั้งหมด
  7. พิมพ์ 't' เพื่อเลือกพาร์ติชัน
  8. เลือก 'fd' สำหรับ Linux raid auto แล้วกด Enter เพื่อนำไปใช้
  9. จากนั้นใช้ 'P' อีกครั้งเพื่อพิมพ์การเปลี่ยนแปลงที่เราได้ทำไว้
  10. ใช้ 'w' เพื่อเขียนการเปลี่ยนแปลง

สร้างพาร์ติชัน /dev/sdb
fdisk /dev/sdc

สร้างพาร์ติชัน /dev/sdd
fdisk /dev/sdd

สร้างพาร์ติชัน /dev/sde
fdisk /dev/sde

5. หลังจากสร้างพาร์ติชันแล้ว การตรวจสอบไดรฟ์เพื่อหาซุปเปอร์บล็อกถือเป็นนิสัยที่ดีเสมอ หากไม่มีซุปเปอร์บล็อก เราก็สามารถสร้างการตั้งค่า RAID ใหม่ได้

mdadm -E /dev/sd[b-e]1


or

mdadm --examine /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

ขั้นตอนที่ 3: การสร้างอุปกรณ์ md (RAID)

6. ตอนนี้ได้เวลาสร้างอุปกรณ์ Raid 'md0' (เช่น /dev/md0) และใช้ระดับการโจมตีบนพาร์ติชันที่สร้างขึ้นใหม่ทั้งหมดและ ยืนยันการโจมตีโดยใช้คำสั่งต่อไปนี้

mdadm --create /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
cat /proc/mdstat

7. คุณยังสามารถตรวจสอบกระบวนการจู่โจมปัจจุบันได้โดยใช้คำสั่ง นาฬิกา ดังที่แสดงในภาพหน้าจอด้านล่าง

watch -n1 cat /proc/mdstat

8. ตรวจสอบอุปกรณ์จู่โจมโดยใช้คำสั่งต่อไปนี้

mdadm -E /dev/sd[b-e]1

หมายเหตุ:: คำสั่งข้างต้นจะแสดงข้อมูลของดิสก์ทั้งสี่ ซึ่งค่อนข้างยาว ดังนั้นจึงไม่สามารถโพสต์เอาต์พุตหรือจับภาพหน้าจอได้ที่นี่

9. จากนั้น ตรวจสอบอาร์เรย์ RAID เพื่อยืนยันว่าการซิงค์ใหม่เริ่มต้นขึ้นแล้ว

mdadm --detail /dev/md0

ขั้นตอนที่ 4: การสร้าง FileSystem บนอุปกรณ์ Raid

10. สร้างระบบไฟล์โดยใช้ ext4 สำหรับ '/dev/md0' และติดตั้งไว้ภายใต้ /mnt/raid6 ที่นี่เราใช้ ext4 แต่คุณสามารถใช้ระบบไฟล์ประเภทใดก็ได้ตามที่คุณต้องการ

mkfs.ext4 /dev/md0

11. ติดตั้งระบบไฟล์ที่สร้างขึ้นภายใต้ /mnt/raid6 และตรวจสอบไฟล์ภายใต้จุดเมานท์ เราจะเห็นไดเร็กทอรีที่สูญหาย + พบ

mkdir /mnt/raid6
mount /dev/md0 /mnt/raid6/
ls -l /mnt/raid6/

12. สร้างไฟล์บางไฟล์ภายใต้จุดเมานท์และต่อท้ายข้อความในไฟล์ใดไฟล์หนึ่งเพื่อตรวจสอบเนื้อหา

touch /mnt/raid6/raid6_test.txt
ls -l /mnt/raid6/
echo "tecmint raid setups" > /mnt/raid6/raid6_test.txt
cat /mnt/raid6/raid6_test.txt

13. เพิ่มรายการใน /etc/fstab เพื่อติดตั้งอุปกรณ์อัตโนมัติเมื่อเริ่มต้นระบบ และต่อท้ายรายการด้านล่าง จุดเชื่อมต่ออาจแตกต่างกันไปตามสภาพแวดล้อมของคุณ

vim /etc/fstab

/dev/md0                /mnt/raid6              ext4    defaults        0 0

14. ถัดไป ดำเนินการคำสั่ง 'mount -a' เพื่อตรวจสอบว่ามีข้อผิดพลาดใด ๆ ในรายการ fstab หรือไม่

mount -av

ขั้นตอนที่ 5: บันทึกการกำหนดค่า RAID 6

15. โปรดทราบว่าตามค่าเริ่มต้นแล้ว RAID จะไม่มีไฟล์กำหนดค่า เราต้องบันทึกด้วยตนเองโดยใช้คำสั่งด้านล่าง จากนั้นตรวจสอบสถานะของอุปกรณ์ '/dev/md0'

mdadm --detail --scan --verbose >> /etc/mdadm.conf
mdadm --detail /dev/md0

ขั้นตอนที่ 6: การเพิ่มไดรฟ์สำรอง

16. ตอนนี้มีดิสก์ 4 และมีข้อมูลพาริตีสองรายการ ในบางกรณี หากดิสก์ตัวใดตัวหนึ่งล้มเหลว เราก็สามารถรับข้อมูลได้ เนื่องจากมีพาริตีสองเท่าใน RAID 6

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

เพื่อวัตถุประสงค์ในการสาธิต ฉันได้เสียบปลั๊ก HDD ใหม่ทันที (เช่น /dev/sdf) มาตรวจสอบดิสก์ที่ต่ออยู่กัน

ls -l /dev/ | grep sd

17. ตอนนี้ให้ยืนยันอีกครั้งว่าดิสก์ที่แนบมาใหม่สำหรับการโจมตีใด ๆ ได้รับการกำหนดค่าแล้วหรือไม่ได้ใช้คำสั่ง mdadm เดียวกัน

mdadm --examine /dev/sdf

หมายเหตุ: ตามปกติ เช่นเดียวกับที่เราได้สร้างพาร์ติชันสำหรับสี่ดิสก์ก่อนหน้านี้ ในทำนองเดียวกัน เราได้สร้างพาร์ติชันใหม่บนดิสก์ที่เสียบใหม่โดยใช้ fdisk< /แข็งแกร่ง> คำสั่ง

fdisk /dev/sdf

18. อีกครั้งหลังจากสร้างพาร์ติชันใหม่บน /dev/sdf ให้ยืนยันการโจมตีบนพาร์ติชัน และรวมไดรฟ์สำรองไว้ที่ /dev/md0 ตรวจค้นอุปกรณ์และตรวจสอบอุปกรณ์ที่เพิ่ม

mdadm --examine /dev/sdf
mdadm --examine /dev/sdf1
mdadm --add /dev/md0 /dev/sdf1
mdadm --detail /dev/md0

ขั้นตอนที่ 7: ตรวจสอบความทนทานต่อข้อผิดพลาดของ Raid 6

19. ตอนนี้ ให้เราตรวจสอบว่าไดรฟ์สำรองทำงานโดยอัตโนมัติหรือไม่ หากดิสก์ตัวใดตัวหนึ่งล้มเหลวใน Array ของเรา สำหรับการทดสอบ ฉันได้ทำเครื่องหมายเป็นการส่วนตัวว่าไดรฟ์ตัวหนึ่งล้มเหลว

ที่นี่ เราจะทำเครื่องหมาย /dev/sdd1 ว่าเป็นไดรฟ์ที่ล้มเหลว

mdadm --manage --fail /dev/md0 /dev/sdd1

20. ขอทราบรายละเอียดการตั้งค่า RAID ตอนนี้และตรวจสอบว่าอะไหล่ของเราเริ่มซิงค์หรือไม่

mdadm --detail /dev/md0

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

cat /proc/mdstat

บทสรุป:

เราได้เห็นวิธีการตั้งค่า RAID 6 โดยใช้ดิสก์สี่ตัวแล้ว ระดับ RAID นี้เป็นหนึ่งในการตั้งค่าที่มีราคาแพงและมีความซ้ำซ้อนสูง เราจะดูวิธีตั้งค่า Nested RAID 10 และอื่นๆ อีกมากมายในบทความถัดไป ในระหว่างนี้ โปรดเชื่อมต่อกับ TECMINT