ประสิทธิภาพของ RAID ที่ใช้งานได้จริงหรือ


8

ฉันคิดเสมอว่าต่อไปนี้เป็นกฎทั่วไปสำหรับ RAID:

  • RAID 0: ประสิทธิภาพที่ดีที่สุดสำหรับการอ่านและเขียนจากการลอก, ความเสี่ยงที่ยิ่งใหญ่ที่สุด
  • RAID 1: ซ้ำซ้อนเหมาะสำหรับอ่าน (ฉันเชื่อว่ามันสามารถอ่านได้จากส่วนต่าง ๆ ของไฟล์จากฮาร์ดไดรฟ์ที่แตกต่างกัน) ไม่ใช่สิ่งที่ดีที่สุดสำหรับ WRITE
  • RAID 0 + 1 (01): รวมความซ้ำซ้อนของ RAID 1 กับประสิทธิภาพของ RAID 0
  • RAID 1 + 0 (10): RAID 0 + 1 เวอร์ชันที่ดีกว่าเล็กน้อย
  • RAID 5: ประสิทธิภาพการอ่านที่ดี, ประสิทธิภาพการเขียนที่ไม่ดี, ซ้ำซ้อน

การสันนิษฐานนี้ถูกต้องหรือไม่ (และเปรียบเทียบกับการตั้งค่า JBOD สำหรับประสิทธิภาพ R / W IO)

การตั้งค่า RAID ที่ใช้งานจริงบางอย่างดีกว่าสำหรับแอพพลิเคชั่นต่าง ๆ : การเล่นเกมการตัดต่อวิดีโอฐานข้อมูล (Acccess หรือ SQL)

ฉันกำลังคิดถึงฮาร์ดดิสก์ไดรฟ์ แต่สิ่งนี้นำไปใช้กับโซลิดสเตทไดรฟ์ด้วยหรือไม่


ความเข้าใจของฉันเกี่ยวกับความซ้ำซ้อนของคลาส RAID แต่ละตัวค่อนข้างดีฉันแค่ไม่แน่ใจเกี่ยวกับประสิทธิภาพการอ่านและเขียน I / O
wag2639

สำหรับ JBOD ฉันรู้ว่ามันไม่ได้มีประสิทธิภาพหรือความซ้ำซ้อนฉันเพิ่งพูดถึงมันเป็นการอ้างอิงพื้นฐาน
wag2639

คำตอบ:


12

Raid 0 ความเร็วในการอ่านและเขียนที่ยอดเยี่ยม ความเสี่ยงจากความล้มเหลวเพิ่มขึ้นเมื่อจำนวนสมาชิกเพิ่มขึ้น ไม่มีความเท่าเทียมกัน

RAID 1 ความเร็วในการอ่านที่ยอดเยี่ยมเฉพาะเมื่อมีการใช้งานไดรเวอร์อย่างถูกต้อง - หากคุณใช้ตัวควบคุมการจู่โจม Areca และ LSI พวกเขาสามารถมอบความสามารถในการอ่านแบบเดียวกันเกือบ 1 ชุด RAID 1 เท่ากับ RAID 0 (ภายใน 10%) โปรดทราบว่าสำหรับโซลูชันการโจมตีซอฟต์แวร์มีสองประเภทคือซอฟต์แวร์ระบบปฏิบัติการและซอฟต์แวร์เมนบอร์ด

การจู่โจมประเภทเมนบอร์ดส่วนใหญ่ไม่มีประสิทธิภาพการอ่าน Raid 1 ที่ดี ครั้งล่าสุดที่ฉันตรวจสอบ Windows และ Linux ก็ไม่ได้มีการใช้งานที่ดีของ Raid 1 อ่านเช่นกัน BSD มีการใช้งาน Raid 1 ที่ถูกต้องซึ่งใช้วิธีการอ่าน roundrobin

ในระยะสั้นใช้ Raid 1 เพื่อความซ้ำซ้อนและสำหรับความเร็วในการอ่านหากคุณใช้คอนโทรลเลอร์ขั้นสูง

Raid 1/0 และ 0/1 นี่คือการรวมกัน สมมติว่าคุณมี 10 แผ่น Raid 1/0 คือมีมิเรอร์ในแต่ละชุด: Set A (1 + 2), Set B (3 + 4), Set C (5 + 6), Set D (7 + 8), Set E (9+ 10) จากนั้นทำการตั้งค่าสตริปใน 5 ชุด (AE) ด้วยวิธีนี้แต่ละชุดสามารถมีหนึ่งไดรฟ์ที่ล้มเหลว แต่ถ้าสองไดรฟ์ล้มเหลวในชุดเดียวกันที่คุณทำ

Raid 0/1 นั้นจะมีชุดแถบ A (1 + 2 + 3 + 4 + 5) และชุด B (6 + 7 + 8 + 9 + 10) และสะท้อนสองชุด วิธีนี้ถ้าไดรฟ์ 2 และไดรฟ์ 9 ล้มเหลวคอนโทรลเลอร์ส่วนใหญ่พิจารณาว่าเป็นความล้มเหลวทั้งหมด (ซึ่งอันที่จริงแล้วคุณยังมีข้อมูลทั้งหมดอยู่)

มีความแตกต่างด้านประสิทธิภาพเล็กน้อยระหว่างสองสิ่งนี้ แต่ฉันไม่คิดว่าคุณจะได้รับทั้งสองอย่างจากตัวควบคุม RAID

RAID 5 กระเป๋าที่ผสมกันมาก: สำหรับการอ่านตามลำดับมันเร็วกว่าการโจมตี 1/0 และสำหรับการอ่านแบบสุ่มจะช้ากว่าเล็กน้อย โปรดทราบว่าประสิทธิภาพของการจู่โจม 5 ขึ้นอยู่กับความเร็วของคอนโทรลเลอร์ (เช่นคุณไม่สามารถคาดหวังได้มากจากการโจมตีบนเครื่องบิน)

Raid 6 ความซ้ำซ้อนเพิ่มขึ้นเมื่อเทียบกับ Raid 5 ไดรฟ์สองตัวสามารถล้มเหลวได้ตลอดเวลาและเมื่อสร้างอาร์เรย์ขึ้นใหม่หลังจากที่ 1 ไดรฟ์ล้มเหลวก็ยังมีความซ้ำซ้อน (โปรดทราบว่าเมื่อการโจมตี 5 ไดรฟ์ล้มเหลว )

JBOD ไม่มีข้อได้เปรียบที่ฉันคิดได้


ขอบคุณ .. ดังนั้นจากสิ่งที่ฉันอ่านโดยใช้มาเธอร์บอร์ดทั่วไปสำหรับผู้บริโภคที่มีเป้าหมายในการเล่นเกมการจู่โจม 0 นั้นดีที่สุดโดยไม่ต้องใช้ตัวควบคุมการโจมตีแยกต่างหากโดยเฉพาะ? (ฉันไม่สนใจว่าฉันจะต้องติดตั้งระบบปฏิบัติการ + โปรแกรมและข้อมูลจะเป็นที่อื่นอาร์เรย์ 5 โจมตีได้)
wag2639

2
คุณถูกมาก แม้ว่าฉันจะกลัวว่าประสิทธิภาพในการใช้งานการตรวจค้นข้อมูลบนเมนบอร์ดจะไม่แตกต่างจากการใช้ซอฟต์แวร์ระบบปฏิบัติการ (แต่แน่นอนว่าแตกต่างกันคือระบบไดรฟ์ระบบของคุณไม่สามารถตรวจค้นซอฟต์แวร์ระบบปฏิบัติการได้) นอกจากนี้ประสิทธิภาพการทำงาน RAID5 ในการตรวจค้นเมนบอร์ดก็เป็นที่น่าสมเพช (ลดลง 15-20MB / s ในบางกรณี!)
bubu

2

ตามที่คำถามของคุณบ่งบอกว่าไม่มีการกำหนดค่า RAID "ดีที่สุด" จริง ๆ เท่านั้นที่ดีที่สุดสำหรับชุดของสถานการณ์โดยเฉพาะค่าใช้จ่ายมักเป็นหนึ่งในปัจจัยที่สำคัญที่สุด

โดยไม่ต้องเข้าไปในส่วนย่อยของตัวควบคุมและซอฟต์แวร์นี่คือกฎง่ายๆของฉัน

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

RAID 1 คือการตั้งค่ามิเรอร์ที่พบได้บ่อยซึ่งมักจะเป็นดิสก์ 2 แผ่น โดยทั่วไปการอ่านจะมีความรวดเร็วเพียงสองเท่าของดิสก์เดียวในขณะที่การเขียนนั้นจะช้ากว่าดิสก์เพียงเล็กน้อย บนเซิร์ฟเวอร์ RAID 1 เป็นตัวเลือกที่ยอดเยี่ยมสำหรับไฟล์ระบบปฏิบัติการของคุณ นอกจากนี้ยังเป็นตัวเลือกที่ดีเมื่อคุณต้องการความซ้ำซ้อนความต้องการพื้นที่เก็บข้อมูลของคุณไม่ดีเท่าที่ต้องการ RAID 5 และคุณอาจได้รับประโยชน์จากความเร็วในการอ่านที่เพิ่มขึ้น (ไฟล์บันทึกฐานข้อมูลมักอยู่ใน RAID 1)

RAID 2 ถึง 4 (ไม่ใช่ในคำถาม) โดยทั่วไปจะไม่ได้ใช้ยกเว้นผลิตภัณฑ์ของผู้ขายบางรายในด้านองค์กร

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

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

โซลิดสเตตไดรฟ์สามารถนำไปกำหนดค่า RAID ได้โดยเฉพาะอย่างยิ่งสำหรับค่าความซ้ำซ้อน SSD หลายตัวสามารถทำได้ดีกว่าบัส (SATA) ที่ติดมาด้วยโดยเฉพาะอย่างยิ่งสำหรับการดำเนินการอ่านดังนั้นเอฟเฟ็กต์ประสิทธิภาพของ RAID จึงน่าสนใจน้อยกว่าด้วย SSD


0

หากคุณซื้อตัวควบคุมการโจมตีด้วยฮาร์ดแวร์ให้ไปที่ RAID5 มีค่าโสหุ้ยน้อยที่สุดและตัวควบคุมการจู่โจมฮาร์ดแวร์เกือบจะกำจัดการลงโทษค่าใช้จ่ายในการเขียนเนื่องจากจะคำนวณบิตพาริตีในฮาร์ดแวร์ Raid5 ยังอ่านดิสก์หลาย ๆ ตัวพร้อมกันเพิ่มความเร็วในการอ่านและเขียน

ใช่สิ่งนี้สามารถนำไปใช้กับไดรฟ์ Solid state ได้เช่นกัน การทดสอบ SSD ใน Raid0 พบว่าความเร็วเพิ่มขึ้นเกือบเป็นเส้นตรง

Raid5 นั้นเป็นเทคโนโลยีที่ใช้กันมากที่สุดในโลกเซิร์ฟเวอร์ แต่สำหรับแล็ปท็อปที่มีฮาร์ดไดรฟ์เพียง 2 ตัวเท่านั้นฉันขอแนะนำ RAID1 mirrored

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


1
JBOD ไม่สามารถสตริปได้เนื่องจากถูกออกแบบมาเพื่อใช้กับดิสก์ที่มีขนาดแตกต่างกัน - ถ้าคุณมีขนาดเท่ากันคุณควรใช้ RAID 1 หรือ RAID 0 แทน
Darth Android
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.