ตั้งค่า 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
- ประสิทธิภาพก็ดี
- RAID 6 มีราคาแพง เนื่องจากต้องใช้ไดรฟ์อิสระสองตัวสำหรับฟังก์ชันพาริตี
- จะสูญเสียความจุของดิสก์สองตัวสำหรับการใช้ข้อมูลพาริตี (พาริตีคู่)
- ไม่มีข้อมูลสูญหาย แม้ว่าดิสก์จะล้มเหลว 2 ตัวก็ตาม เราสามารถสร้างใหม่จากความเท่าเทียมกันได้หลังจากเปลี่ยนดิสก์ที่ล้มเหลว
- การอ่านจะดีกว่า RAID 5 เพราะมันอ่านจากหลายดิสก์ แต่ประสิทธิภาพการเขียนจะแย่มากหากไม่มีตัวควบคุม RAID เฉพาะ
ความต้องการ
ต้องใช้ดิสก์อย่างน้อย 4 ตัวเพื่อสร้าง RAID 6 หากคุณต้องการเพิ่มดิสก์ คุณสามารถทำได้ แต่คุณต้องมีตัวควบคุมการโจมตีเฉพาะ ในซอฟต์แวร์ RAID เราจะไม่ได้ประสิทธิภาพที่ดีขึ้นใน RAID 6 ดังนั้นเราจึงจำเป็นต้องมีตัวควบคุม RAID แบบฟิสิคัล
ผู้ที่เพิ่งเริ่มใช้การตั้งค่า RAID เราขอแนะนำให้อ่านบทความเกี่ยวกับ RAID ด้านล่าง
- แนวคิดพื้นฐานของ RAID ใน Linux - ตอนที่ 1
- การสร้างซอฟต์แวร์ RAID 0 (Stripe) ใน Linux - ตอนที่ 2
- การตั้งค่า 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
โปรดปฏิบัติตามคำแนะนำที่แสดงด้านล่างเพื่อสร้างพาร์ติชัน
- กด 'n' เพื่อสร้างพาร์ติชันใหม่
- จากนั้นเลือก 'P' สำหรับพาร์ติชันหลัก
- จากนั้นเลือกหมายเลขพาร์ติชันเป็น 1
- กำหนดค่าเริ่มต้นโดยเพียงกดปุ่ม Enter สองครั้ง
- จากนั้นกด 'P' เพื่อพิมพ์พาร์ติชันที่กำหนด
- กด 'L' เพื่อแสดงรายการประเภทที่มีอยู่ทั้งหมด
- พิมพ์ 't' เพื่อเลือกพาร์ติชัน
- เลือก 'fd' สำหรับ Linux raid auto แล้วกด Enter เพื่อนำไปใช้
- จากนั้นใช้ 'P' อีกครั้งเพื่อพิมพ์การเปลี่ยนแปลงที่เราได้ทำไว้
- ใช้ '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