เหตุใด RAID 1 + 6 จึงไม่ใช่เลย์เอาต์ทั่วไปมากกว่านี้?


17

ทำไมระดับ RAID ที่ซ้อนกัน 1 + 5 หรือ 1 + 6 แทบไม่เคยได้ยินมาก่อน ระดับซ้อนกัน RAID บทความวิกิพีเดียในขณะนี้จะหายไปส่วนของพวกเขา ฉันไม่เข้าใจว่าทำไมพวกเขาจึงไม่ธรรมดากว่า RAID 1 + 0 โดยเฉพาะเมื่อเปรียบเทียบกับ RAID 1 + 0 mirroring สามเท่า

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

สำหรับไดรฟ์ 16 ตัวจาก 1TB นี่คือการคำนวณความน่าจะเป็นที่ไร้เดียงสาของฉันที่ใช้ในการสำรองข้อมูลนั่นคือด้วยสมมติฐานที่ง่ายที่สุดที่ว่าไดรฟ์นั้นมีความเป็นอิสระ

RAID | storage | cumulative probabilities of resorting to backup /m
 1+0 |     8TB | 0, 67, 200, 385, 590, 776, 910, 980, 1000, 1000, 1000
 1+5 |     7TB | 0,  0,   0,  15,  77, 217, 441, 702,  910, 1000, 1000
 1+6 |     6TB | 0,  0,   0,   0,   0,   7,  49, 179,  441,  776, 1000
(m = 0.001, i.e. milli.)

หากสิ่งนี้ถูกต้องแล้วมันค่อนข้างชัดเจนว่า RAID 1 + 6 มีความน่าเชื่อถือมากกว่า RAID 1 + 0 โดยเฉพาะสำหรับการลดความจุในการจัดเก็บข้อมูลเพียง 25% ในกรณีทั่วไปการเขียนทฤษฏีทฤษฏี (ไม่นับจำนวนครั้งที่ค้นหา) คือความจุ / ขนาดอาร์เรย์×จำนวนไดรฟ์×จำนวนการเขียนทรูของไดรฟ์ที่ช้าที่สุดในอาเรย์ (ระดับ RAID ที่มีความซ้ำซ้อน อย่าเติมเต็มแถบ แต่ขึ้นอยู่กับขนาดก้อน) และทรูพุตการอ่านเชิงทฤษฎีคือผลรวมของทรูพุตการอ่านของไดรฟ์ในอาร์เรย์ (ยกเว้นว่า RAID 0, RAID 5 และ RAID 6 ยังคงถูก จำกัด ทางทฤษฎีด้วย ไดรฟ์ที่ช้าที่สุดที่ช้าที่สุดที่ 2 และที่ช้าที่สุดที่สามอ่านตามลำดับ) นั่นคือสมมติว่าไดรฟ์ที่เหมือนกันซึ่งจะเป็น 8 × 7 ตามลำดับ

นอกจากนี้ให้พิจารณา RAID 0 quadrupleของ RAID 1 triples เช่น RAID 1 + 0 triple mirroring ของไดรฟ์ 12 และ RAID 6 sextuple ของ RAID 1 คู่ซึ่งก็คือ RAID 1 + 6 จาก 12 ไดรฟ์ อีกครั้งเหล่านี้เป็นไดรฟ์ 1TB เหมือนกัน เลย์เอาท์ทั้งสองมีจำนวนไดรฟ์เท่ากัน (12), ความจุในการจัดเก็บจำนวนเท่ากัน (4TB), ความซ้ำซ้อนเท่ากัน (2/3), ปริมาณการเขียนสูงสุดเท่าเดิม (4 ×), และปริมาณการอ่านสูงสุดเท่ากัน ( 12 ×) นี่คือการคำนวณของฉัน (จนถึง):

RAID      | cumulative probabilities of resorting to backup /m
1+0 (4×3) | 0, 0, 18,  ?,   ?,   ?,   ?,   ?, 1000
1+6 (6×2) | 0, 0,  0,  0,   0,  22, 152, 515, 1000

ใช่นี่อาจดูเหมือน overkill แต่เมื่อใช้การมิรเรอร์แบบสามครั้งเพื่อแยกโคลนสำหรับการสำรองข้อมูล RAID 1 + 6 ก็สามารถใช้ได้เช่นกันโดยการแช่แข็งและลบ 1 ในแต่ละไดรฟ์ทั้งหมดยกเว้น 2 ของ RAID 1 คู่และในขณะที่ทำเช่นนั้นมันยังคงมีความน่าเชื่อถือที่ดีกว่ามากเมื่อลดระดับลงกว่าอาร์เรย์ RAID 1 + 0 ที่ลดลง นี่คือการคำนวณของฉันสำหรับ 12 ไดรฟ์ที่ลดลง 4 ในลักษณะนี้:

RAID      | cumulative probabilities of resorting to backup /m
1+0 (4×3) | (0, 0, 0, 0), 0, 143, 429, 771, 1000
1+6 (6×2) | (0, 0, 0, 0), 0,   0,  71, 414, 1000

อย่างไรก็ตามปริมาณข้อมูลที่อ่านอาจลดลงถึง 6 ×ในช่วงเวลานี้สำหรับ RAID 1 + 6 ในขณะที่ RAID 1 + 0 จะลดลงเหลือ 8 × อย่างไรก็ตามหากไดรฟ์ล้มเหลวในขณะที่อาร์เรย์อยู่ในสถานะเสื่อมโทรมอาร์เรย์ RAID 1 + 6 จะมีโอกาส 50–50 ที่จะอยู่ที่ประมาณ 6 ×หรือ จำกัด อยู่ที่ 5 ×ในขณะที่อาร์เรย์ RAID 1 + 0 จะ ถูก จำกัด ไว้ที่4 ×คอขวด ปริมาณงานเขียนควรไม่ได้รับผลกระทบ (อาจเพิ่มขึ้นหากไดรฟ์ที่ใช้ในการสำรองข้อมูลเป็นไดรฟ์ที่ จำกัด ช้าที่สุด)

ในความเป็นจริงทั้งสองสามารถมองว่าเป็น 'การทำมิเรอร์สาม' เนื่องจากอาร์เรย์ RAID 1 + 6 ที่เสื่อมโทรมสามารถแยกออกจากกลุ่ม RAID 6 เพิ่มเติมของ 4 ไดรฟ์ กล่าวอีกนัยหนึ่งเลย์เอาต์ RAID 1 + 6 แบบ 12 ไดรฟ์นี้สามารถแบ่งออกเป็นอาร์เรย์ RAID 6 ที่ลดลง (แต่ใช้งานได้) อาเรย์ 6!

ดังนั้นมันเป็นเพียงว่าคนส่วนใหญ่ไม่ได้ไปลงคณิตศาสตร์ในรายละเอียด? เราจะได้เห็น RAID 1 + 6 มากขึ้นในอนาคตหรือไม่


2
ดูเหมือนว่าการคิดคำนวณของคุณดูเหมือนจะไม่ได้คำนึงถึงการขยายการเขียนเพื่อสร้างความเท่าเทียมกัน
JamesRyan

1
@ JamesRyan: ใช่ฉันได้พิจารณาแล้วว่าความเท่าเทียมกันต้องมีการเขียน นั่นคือสิ่งที่“ ความจุ / ขนาดอาร์เรย์” มีไว้เพื่อ - ส่วนกลับของสิ่งนี้คือปัจจัยการขยายการเขียนไม่รวมการขยายการเขียนเพิ่มเติมที่เกี่ยวข้องกับไดรฟ์โซลิดสเตต โปรดทราบว่าสิ่งนี้รวมถึงการขยายการเขียนของความซ้ำซ้อน RAID 1 เช่นกัน โดยทั่วไปปัจจัยการขยายการเขียนจะเท่ากับส่วนกลับของ 1 ลบด้วยสัดส่วนของความซ้ำซ้อน ดังนั้นความซ้ำซ้อน 50% จึงให้ปัจจัยการขยายการเขียนเป็น 2 62.5% (10/16) ความซ้ำซ้อนให้อัตราการขยายการเขียนที่ ~ 2.67 (16/6)
James Haigh

1
ไม่ถูกต้อง การเขียน RAID6 แต่ละครั้งใช้เวลา 6 IOs และการเขียนแบบ RAID1 แต่ละครั้งใช้เวลา 2 IOs ซึ่งเป็นการคูณ ดังนั้นใน RAID 1 + 6 แต่ละการเขียนจะใช้เวลา 12 IOs สำหรับ RAID 10 คือ 2 IOs ปริมาณงานเขียนบน 12 ไดรฟ์จะเป็น 1x สำหรับ RAID1 + 6 และ 6x สำหรับ RAID10!
JamesRyan

@JamesRyan: โอ้ฉันเห็นว่าคุณจะไปกับเรื่องนี้ตอนนี้ - สำหรับการเขียนที่น้อยกว่าแถบเต็มรูปแบบปัจจัยการขยายการเขียนสามารถเพิ่มเป็นสองเท่าสำหรับ RAID 1 + 6 จึงลดปริมาณการเขียนสูงสุด สำหรับแถบแบบเต็มใช่มี 12 การเขียนในตัวอย่าง 6 × 2 แต่คุณลืมว่านี่เป็นข้อมูล 4 ชิ้น สำหรับ 4, 3, 2, 1 ชิ้น - มูลค่าตามลำดับปัจจัยการขยายการเขียนคือ (6 × 2) / 4 = 3, (5 × 2) / 3 = ~ 3.33, (4 × 2) / 2 = 4, ( 3 × 2) / 1 = 6 ให้อัตราความเร็วในการเขียนสูงสุดที่ 4 ×, 3.6 ×, 3 ×, 2 × สำหรับ RAID 1 + 0 4 × 3 มัน (4 × 3) / 4, (3 × 3) / 3, (2 × 3) / 2, (1 × 3) / 1 ให้ค่าคงที่ 4 × …
James Haigh

2
คุณระบุตามการคำนวณของคุณว่า RAID1 + 6 มีปริมาณงานการเขียนเท่ากันกับ RAID10 พร้อม triples ในความเป็นจริง RAID1 + 6 มีไม่ได้ระยะไกลผ่านการเขียนของ RAID10 เพื่อให้การคำนวณของคุณหรือสมมติฐานที่พวกเขาจะขึ้นอยู่กับสิ่งที่ผิด ฉันพยายามช่วยให้คุณเข้าใจว่าทำไมถ้าคุณปฏิเสธที่จะฟังเราอาจเสียเวลาของเรา แต่นั่นคือคุณที่เสียเวลาไป
JamesRyan

คำตอบ:


17

โดยทั่วไปฉันจะบอกว่า RAID 1 + 0 มักจะใช้กันอย่างแพร่หลายมากกว่า 1 + 5 หรือ 1 + 6 เพราะ RAID 1 + 0 มีความน่าเชื่อถือเพียงพอและให้ประสิทธิภาพที่ดีขึ้นเล็กน้อยและพื้นที่เก็บข้อมูลที่ใช้งานได้มากกว่า

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

หากคุณต้องการความน่าเชื่อถือที่ดีกว่า RAID 1 + 0 ไปได้เลย! .. แต่คนส่วนใหญ่อาจไม่ต้องการมัน


1
ปัญหาที่ฉันมีกับ RAID 1 + 0 คือมันมีอัตราส่วนความน่าเชื่อถือต่อการจัดเก็บที่ไม่ดี ถ้า RAID 6 สามารถขยายได้ตามความต้องการจำนวน parities (ด้านล่าง n - 1) สำหรับไดรฟ์เดียวกันคุณสามารถเพิ่มพื้นที่จัดเก็บและเพิ่มความน่าเชื่อถือได้ดีกว่า RAID 1 + 0 สำหรับตัวอย่างข้างต้นถ้าเป็นไปได้ที่จะมี RAID 6 พร้อม 4 parities คุณจะมีพื้นที่เก็บข้อมูลเพิ่มขึ้น 50% และปริมาณงานการเขียนสูงสุดกว่า RAID 1 + 0 แต่มีความน่าเชื่อถือสูงกว่ามาก RAID 6 ที่มีพาริตี้ 3 หรือ 4 จะมีความน่าเชื่อถือที่ดี - การแลกเปลี่ยนสตอเรจ
James Haigh

4
@JamesHaigh RAID 6 เทียบกับ RAID 1 + 0 เป็นการสนทนาที่แตกต่างกันมากกว่า RAID 1 + 6 เทียบกับ RAID 1 + 0 คุณได้เปลี่ยนหัวข้อแล้ว Zz's raidz3 ดูเหมือนว่ามันจะเป็นซอยของคุณหรือไม่ อย่างไรก็ตามถึงจุดของคุณมีข้อได้เปรียบด้านประสิทธิภาพบางอย่างที่ RAID 1 + 0 รักษาไว้เหนือ RAID 6 เช่นการเขียนบล็อกเดียวขนาดเล็กซึ่งจำเป็นต้องสัมผัสกับไดรฟ์จำนวนน้อยกว่า (และกลับไปที่ raidz3, ZFS จัดการสิ่งนี้อย่างชาญฉลาด สำเนาเต็มรูปแบบแทนที่จะเขียนไปยังดิสก์ทั้งหมดสำหรับการเขียนขนาดเล็ก)
Shane Madden

ขอโทษฉันคิดว่านี่เป็นสิ่งที่ฉันกำลังไล่ล่า ตั้งแต่ที่ความคิดเห็นล่าสุดของฉันได้รับการเขียนคำถามใหม่โดยเฉพาะเกี่ยวกับ RAID กับ 3 หรือมากกว่า parities จะดีกว่า RAID 1 + 6 ฉันคิดว่า นอกจากนี้ยังจะมีความยืดหยุ่นและเรียบง่ายกว่าเพื่อให้ได้การแลกเปลี่ยนที่ต้องการ คุณอาจต้องการทำสิ่งนี้ต่อไปสำหรับคำถามนั้น
James Haigh

3
RAID 6 ไม่สามารถขยายแบบเชิงเส้นได้เนื่องจากมันไม่ทำงานอย่างนั้น การคำนวณซินโดรมสำหรับพาริตี้ที่สองจะไม่ขยายไปยังบุคคลที่สาม แต่คุณสามารถทำ RAID 6 ที่เล็กกว่าได้อย่างง่ายดาย - ไม่มีเหตุผลจริงที่คุณต้องทำ 14 + 2 และสามารถทำได้ 2 + 2 หรือ 4 + 2 และได้รับความเชื่อถือได้มาก
Sobrique

1
@JamesHaigh สิ่งที่คุณต้องการได้คือ 12-way raidz8 ขึ้นอยู่กับตรรกะที่เข้าสู่การคำนวณแบบพาริตี้นั่นคือการประมวลผลตัวประมวลผลอย่างต่อเนื่องแม้ว่าจะมีข้อมูลเล็กน้อยก็ตาม พาริตี้เดี่ยวคือ XOR (ง่าย) ความเท่าเทียมสองเป็นสิ่งที่จะทำอย่างไรกับสี่เหลี่ยม (ไม่ยาก แต่ไม่ใช่เรื่องง่าย) ความเท่าเทียมกันสามประการคือตามลูกบาศก์หรือคล้ายกัน (ยาก) 4, 5, 6, 7 หรือ 8 พาริตี้เรียกร้องการคำนวณที่ใหญ่กว่า (ตามมาตราส่วนแบบเอ็กซ์โปเนนเชียล) (ซึ่งอาจต้องใช้คอมพิวเตอร์ควอนตัมเพื่อติดตาม) เพียงจำไว้ว่าเมื่อรูปร่างเติบโตขึ้นจะมีค่าเป็นศูนย์ใน IOPS สำหรับสื่อใครสนใจ? สำหรับ VMs มันจะฆ่า
killermist

16

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

คอนโทรลเลอร์ RAID ของฮาร์ดแวร์ส่วนใหญ่จะถูก จำกัด ในระดับ RAID ที่รองรับ นี่คือตัวเลือก RAID สำหรับคอนโทรลเลอร์ HP ProLiant Smart Array:

[raid=0|1|1adm|1+0|1+0adm|5|50|6|60]

หมายเหตุ: "adm" เป็นเพียงสามมิเรอร์

รองรับคอนโทรลเลอร์ LSI RAID: 0, 1, 5, 6, 10, 50, and 60

ดังนั้นคอนโทรลเลอร์เหล่านี้จึงสามารถโจมตี RAID 50 และ 60 ในระดับที่ซ้อนกันเท่านั้น LSI ( née Dell PERC ) และ HP ประกอบด้วยตลาดอแด็ปเตอร์เก็บข้อมูลเซิร์ฟเวอร์ส่วนใหญ่ นั่นเป็นเหตุผลหลักที่คุณไม่เห็นอะไรอย่าง RAID 1 + 6 หรือ RAID 61 ในฟิลด์

นอกเหนือจากการพิจารณาแล้วระดับ RAID แบบซ้อนที่อยู่นอกเหนือ RAID 10 นั้นต้องการดิสก์จำนวนมาก ด้วยความจุที่เพิ่มขึ้นของไดรฟ์ที่มีอยู่ในปัจจุบัน (พร้อมไดรฟ์ nearline SAS และ SATA 3.5 นิ้วควบคู่ไปกับความจริงที่ว่าแชสซีเซิร์ฟเวอร์จำนวนมากได้รับการออกแบบมาสำหรับกรงไดรฟ์ขนาด 8 x 2.5 นิ้วจึงไม่มีโอกาส 6 หรือ RAID 61

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

ดังนั้นในที่สุดดูเหมือนว่าความต้องการ / ความต้องการจะไม่อยู่ที่นั่น


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

1
ฉันไม่คิดว่า OP ถือว่าเป็นการจำลองแบบหรือใช้หลายไซต์
ewwhite

1
ไม่อาจจะไม่ อย่างที่คุณพูด - มันไม่มีความต้องการอะไรเพราะมันเกินความจริง มันเป็นเพียงการใช้งานในกรณีที่ฉันสามารถคิดที่มันไม่ overkill แม้ว่า :)
Sobrique

ฉันได้กำหนดค่าสิ่งที่คล้ายกับการจู่โจม 6 + 1- a Netapp local syncmirror จะสร้างสำเนาที่เหมือนกันของตัวเองและการอ่านแบบมัลติเพล็กซ์ในทั้งสองเพล็กซ์ในขณะที่มิเรอร์เขียน ส่วนใหญ่ใช้สำหรับการโอนย้าย Netapp V-Series ไปเป็นแบ็กเอนด์ LUN ใหม่ แต่ถ้าฉันต้องการความน่าเชื่อถือเป็นสองเท่าฉันสามารถทำได้ด้วยสิ่งนี้
Basil

12
  • คุณมีผลตอบแทนลดลงกับความน่าเชื่อถือ RAID 6 นั้นค่อนข้างยากที่จะรวมความล้มเหลวแม้ในไดรฟ์ SATA ที่น่ารังเกียจด้วยอัตรา 1 ใน 10 ^ 14 UBER บน FC / SAS ไดรฟ์ UBER ของคุณคือ 1 ใน 10 ^ 16 และคุณจะได้รับประสิทธิภาพที่มากขึ้นเช่นกัน

  • ความน่าเชื่อถือของกลุ่ม RAID ไม่ได้ป้องกันคุณจากการลบโดยไม่ตั้งใจ (ดังนั้นคุณต้องสำรองข้อมูลอยู่ดี)

  • นอกเหนือจาก RAIDing ระดับหนึ่งโอกาสของความล้มเหลวในการผสมของดิสก์จะต่ำกว่าความล้มเหลวในการสนับสนุนโครงสร้างพื้นฐาน (พลังงานเครือข่ายการรั่วไหลของอากาศ ฯลฯ )

  • เขียนบทลงโทษ การเขียนที่เข้ามาแต่ละครั้งบน RAID 61 ของคุณจะทริกเกอร์การทำงานของ 12 IO RAID 6 นั้นเจ็บปวดในสถานการณ์ 'ระดับต่ำ' ในแง่ของ IOPs ต่อการเขียนแบบสุ่ม TB (และในระดับที่สูงขึ้นอัตราความล้มเหลวของคุณจะดีขึ้น 100x อยู่ดี)

  • ไม่ใช่การลด '25% 'แต่เป็นการลดลงอีก 25% 16TB ของคุณกำลังเปลี่ยนเป็น 6TB ดังนั้นคุณจะได้รับพื้นที่เก็บข้อมูลที่ใช้งานได้ 37.5% คุณต้องการดิสก์มากถึง 3 เท่าต่อความจุและพื้นที่ว่างดาต้าเซ็นเตอร์มากถึง 3 เท่า คุณอาจจะมีความน่าเชื่อถือมากขึ้นด้วยการทำ RAID6 ชุดเล็ก ฉันยังไม่ได้ทำการกระทืบหมายเลข แต่ลอง - ตัวอย่างเช่นผลรวมของ RAID 6 ในชุด 3x 3 + 2 (15 ไดรฟ์มีค่าใช้จ่ายในการจัดเก็บน้อยกว่า RAID10 ของคุณ) หรือทำกระจก 3 ทิศทางแทน

ต้องบอกว่า - เป็นเรื่องปกติมากกว่าที่คุณคิดว่าจะทำเพื่อ DR หลายไซต์ ฉันใช้อาร์เรย์หน่วยเก็บข้อมูลที่จำลองแบบแล้วซึ่งฉันได้รับ RAID5 / 6 / DP กลุ่ม RAID แบบอะซิงโครนัสหรือซิงโครนัสกับไซต์ DR (อย่าซิงค์ถ้าคุณสามารถหลีกเลี่ยงได้ - มันดูดีมันน่ากลัวจริง ๆ )

ด้วย NetApps ของฉันนั่นเป็น metrocluster ที่มีการรวมที่ทำมิรเรอร์บางส่วน ด้วย VMAX ของฉันเรามี Symmetrix Remote Data Facility (SRDF) และ 3PAR ของฉันทำสำเนาระยะไกล

มันแพง แต่ให้ระดับศูนย์ข้อมูลที่ติดไฟของ DR

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

ประเด็นที่ฉันพยายามทำก็คือจากประสบการณ์ตรงของฉันในฐานะผู้ดูแลระบบสตอเรจ - ในสปินเดิลเอสเตท ~ 40,000 (ใช่เราเปลี่ยนไดรฟ์นับสิบต่อวัน) - เราต้องสำรองข้อมูลเพื่อความหลากหลายของ เหตุผลในช่วง 5 ปีที่ผ่านมา แต่ไม่มีในกลุ่ม RAID ที่ล้มเหลว เราอภิปรายข้อดีและเวลาในการกู้คืนที่ยอมรับได้จุดกู้คืนและหน้าต่างดับ และการสนับสนุนทั้งหมดนี้คือค่าใช้จ่ายของความยืดหยุ่นที่เพิ่มขึ้นเสมอ

อาร์เรย์ทั้งหมดของเราใช้สำหรับการขัดและการคาดการณ์ความล้มเหลวและสำรองและทดสอบไดร์ฟอย่างจริงจัง

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

ดังนั้นฉันคิดว่าฉันจะเสนอคำตอบสำหรับคำถามของคุณ:

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


“ ความเชื่อถือได้ของกลุ่ม RAID ไม่ได้ป้องกันคุณจากการลบโดยไม่ตั้งใจ (ดังนั้นคุณต้องมีการสำรองข้อมูลอยู่ดี) "- ฉันไม่ได้หมายความว่านี่เป็นการสำรองข้อมูลที่ไม่จำเป็น (ฉันทราบดีว่าRAID ไม่ใช่การสำรองข้อมูล ) จริง ๆ แล้วฉันพูดถึงการสนทนาโดยการพูดว่า "ความน่าจะเป็นที่สะสมของการหันไปใช้การสำรองข้อมูล" - ฉันกำลังทำตามที่กำหนดว่าการสำรองข้อมูลเป็นวิธีปฏิบัติมาตรฐาน ฉันเห็นด้วยกับประเด็นนี้ แต่มันถูกนำเสนอเป็นการโต้เหตุผลของฉันเกี่ยวกับ RAID 1 + 6 ซึ่งไม่สมเหตุสมผล
James Haigh

“ RAID 61” - RAID 6 + 1 จะเป็นอาร์เรย์ RAID 1 ของ RAID 6 อาร์เรย์ นั่นคือการทำรังแบบย้อนกลับและฉันคิดว่ามันน่าเชื่อถือน้อยกว่ามาก คืออะไรจะเกิดอะไรขึ้นถ้ามี 3 ไดรฟ์ที่ล้มเหลวในอาเรย์ RAID 6 แบบซ้อนเดียวกัน ไม่จำเป็นต้องสร้างอาร์เรย์ RAID 6 ที่ซ้อนกันทั้งหมดใหม่ใช่หรือไม่ ไดรฟ์เดียวกันซ้อนกันเป็น RAID 1 + 6 จะรักษาความล้มเหลวของไดรฟ์ 3 ตัวเดียวกันโดยไม่ต้องออฟไลน์ไดรฟ์ที่ทำงาน
James Haigh

“ เกินกว่าระดับการจู่โจมในระดับหนึ่งโอกาสของความล้มเหลวในการผสมของดิสก์จะต่ำกว่าความล้มเหลวในการสนับสนุนโครงสร้างพื้นฐาน (พลังงานเครือข่ายการรั่วของเครื่องปรับอากาศ ฯลฯ )”; “ มันลดลงอีก 25%” - จริงและจริงมันเป็นเลย์เอาต์แบบซ้อนมากเกินไป แต่ทำไมโลกเดียวถึงมีใครใช้อาร์เรย์ RAID 0 ของ RAID 1 อเนกประสงค์ ขอบคุณที่เตือนฉันเกี่ยวกับ RAID 1 + 0 mirroring สามเท่า! “ ฉันยังไม่ได้ทำการกระทืบหมายเลข”; “ หรือทำมิเรอร์ 3 ทางแทน” - คุณควรทำการคำนวณจริง ๆ ก่อนที่จะให้กรณีสนับสนุนเป็นตัวอย่าง การคำนวณเหล่านี้ควรได้รับการสำรวจ ...
James Haigh

1
ประสบการณ์ตรงของฉันคือสิ่งนี้ - ฉันมี 40,000 ลูกกรงในที่ดินของฉันในการกำหนดค่าที่หลากหลาย เราไม่ได้มีความล้มเหลวของกลุ่มตรวจค้นในช่วง 5 ปีที่ผ่านมา ฉันใช้กระจกส่องหน้าสามตัว แต่ไม่ใช่เพื่อความยืดหยุ่น - มันใช้สำหรับทำสำเนาโคลนเพื่อสำรองข้อมูล ฉันใช้แบบจำลองหลายเว็บไซต์ด้วยเหตุผล DR ซึ่งฉันใช้ - แต่ก็ไม่จำเป็นต้องใช้สิ่งเหล่านี้สำหรับความล้มเหลวของ RG
Sobrique

1
คุณเข้าใจผิดว่าการลงโทษคืออะไร สำหรับการเขียนทับครั้งเดียวคุณต้องอ่านจากอุปกรณ์ parity ทั้งสองของคุณคำนวณความเท่าเทียมกันเขียนกลับไปที่อุปกรณ์ twp parity และบล็อกเป้าหมายของคุณ ดังนั้น 6 IOs ต่อ 'เขียน' นี่ไม่ใช่ข้อ จำกัด ของซอฟต์แวร์หรือการนำไปใช้งาน คุณลดบางส่วนด้วยแคชการเขียนที่ดี แต่เพียงบางส่วนเท่านั้น
Sobrique

3

ระบบที่ทันสมัยและทันสมัยไม่ได้ใช้รูปทรงเช่นนี้เพราะมันซับซ้อนเกินไปไม่จำเป็นอย่างสมบูรณ์และตรงกันข้ามกับประสิทธิภาพที่มีอยู่

ตามที่คนอื่น ๆ ได้ชี้ให้เห็นอัตราส่วนของพื้นที่ว่างต่อพื้นที่ใช้งานเป็นหลัก 3: 1 นั่นคือเนื้อหาสามชุด (สำเนาซ้ำซ้อนสองชุด) เนื่องจากค่าใช้จ่ายในการคำนวณของ "raid6" (มากกว่าสองครั้งถ้าทำมิเรอร์) และการสูญเสีย IOPS ที่เกิดขึ้นจึงไม่มีประสิทธิภาพมาก ใน ZFS ซึ่งได้รับการออกแบบและปรับมาอย่างดีทางออกที่เทียบเท่าความสามารถที่ชาญฉลาดคือการสร้างแถบกระจก 3 ทิศทาง

ตัวอย่างเช่นแทนที่จะเป็นมิเรอร์ 6-way raid6 / raidz2 รูปร่าง (รวม 12 ไดรฟ์) ซึ่งจะไม่มีประสิทธิภาพมาก (เช่น ZFS ไม่ได้มีกลไกที่จะใช้) คุณจะมี 4x 3-way mirror (เช่น 12 ไดรฟ์) และแทนที่จะเป็นหนึ่งไดรฟ์มูลค่า IOPS คุณจะได้ 4 ไดรฟ์มูลค่า IOPS โดยเฉพาะอย่างยิ่งกับเครื่องเสมือนจริงนั่นคือความแตกต่างมากมาย แบนด์วิดท์ทั้งหมดสำหรับรูปร่างทั้งสองอาจคล้ายกันมากในการอ่าน / เขียนตามลำดับ แต่แถบของกระจกเงา 3 ทิศทางจะตอบสนองได้ดีกว่าด้วยการอ่าน / เขียนแบบสุ่ม

โดยสรุปแล้ว Raid1 + 6 โดยทั่วไปนั้นใช้งานไม่ได้ไม่มีประสิทธิภาพและไม่น่าแปลกใจที่ทุกคนที่จริงจังเกี่ยวกับการจัดเก็บจะพิจารณาการพัฒนา

เพื่อชี้แจงความไม่เสมอภาคของ IOPS: ด้วยมิเรอร์ของรูปร่าง raid6 / raidz2 โดยแต่ละการเขียนไดรฟ์ทั้ง 12 จะต้องทำหน้าที่เป็นหนึ่ง ไม่มีความสามารถในการรวมรูปร่างเพื่อแยกกิจกรรมออกเป็นหลายการกระทำที่รูปร่างหลายรูปร่างสามารถทำงานได้อย่างอิสระ ด้วยแถบสะท้อนแสงแบบสามทางแต่ละการเขียนอาจเป็นสิ่งที่มีเพียงหนึ่งในสี่มิรเรอร์เท่านั้นที่ต้องจัดการดังนั้นการเขียนอื่นที่เข้ามาไม่จำเป็นต้องรอให้รูปร่างรถโดยสารทั้งหมดจัดการก่อนที่จะมองการกระทำต่อไป .


2

ตั้งแต่ไม่มีใครบอกว่ามันเพียงพอโดยตรง: Raid6 เขียนประสิทธิภาพไม่เลวลงเล็กน้อย มันน่ากลัวเกินคำบรรยายถ้าวางไว้ใต้ภาระ

การเขียนแบบลำดับนั้นใช้ได้และตราบใดที่แคชการเขียนการรวมและอื่น ๆ สามารถปกปิดได้ดูเหมือนว่าตกลง ภายใต้ภาระสูงสิ่งต่าง ๆ ดูไม่ดีและนี่คือเหตุผลหลักที่การตั้งค่า 1 + 5/6 แทบจะไม่เคยใช้เลย


ฉันเห็นด้วย แต่ส่วนใหญ่เป็นเพราะสิ่งที่คุณพูดเป็นเพียงเวอร์ชั่นสรุปที่ดีที่สุดของสิ่งที่ฉันพูด และแน่นอนฉันเห็นด้วยกับตัวเอง
killermist

1

หาเวลา

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

RAID | write throughput amplification factor | write seek amplification factor
     | full-stripe (e.g.) | single-chunk     | full-stripe  | single-chunk
   0 | 1           ;  1   | 1           ;  1 | n       ; 12 | 1           ;  1
   1 | n           ; 12   | n           ; 12 | n       ; 12 | n           ; 12
   5 | n/(n - 1)   ; ~1.1 | min [3, n]  ;  3 | n       ; 12 | min [3, n]  ;  3
   6 | n/(n - 2)   ;  1.2 | min [5, n]  ;  5 | n       ; 12 | min [5, n]  ;  5
*1+0 | n₁          ;  3   | n₁          ;  3 | n       ; 12 | n₁          ;  3*
 1+5 | n/(n₅ - 1)  ;  2.4 | expr₁       ;  5 | n       ; 12 | expr₁       ;  5
*1+6 | n/(n₆ - 2)  ;  3   | expr₂       ;  8 | n       ; 12 | expr₂       ;  8*
expr₁ = 2n₁ + min [1, n₅ - 2]
expr₂ = 3n₁ + min [2, n₆ - 3]

โดยที่ n คือจำนวนไดรฟ์ทั้งหมดn₁คือจำนวนไดรฟ์ในกลุ่ม RAID 1 และn₅และn₆คือจำนวนกลุ่มในอาร์เรย์ RAID 5 หรือ RAID 6 ตามลำดับ ตัวอย่างเกี่ยวข้องกับตัวอย่าง 12 ไดรฟ์ในคำถาม (แถวที่เกี่ยวข้องคือ '*bolded* ') ตัวอย่างสำหรับระดับ RAID 1 + 0, 1 + 5, 1 + 6 คือ 4 × 3, 6 × 2, 6 × 2 ตามลำดับ

โปรดทราบว่าเฉพาะปัจจัยการขยายทรูพุตการเขียนทรูแบบเต็มจะเกี่ยวข้องโดยตรงกับสัดส่วนของความซ้ำซ้อน กรณีก้อนเดียวมีความซับซ้อนมากขึ้นสำหรับผู้ที่มีความเท่าเทียมกัน พวกเขาเกิดขึ้นเพราะการเขียนชิ้นเดียวต้องอ่านสิ่งที่ง่ายที่สุดของ parity chunks หรือ data อื่น ๆ ก่อนที่จะเขียน parity chunks พร้อมกับ data chunk ใหม่ (พวกมันไม่ได้คูณโดยตรงเพราะการอ่านที่ถูกเหนี่ยวนำต้องถูกคูณด้วยอัตราความเร็วในการอ่าน / แสวงหาปัจจัยการขยายสำหรับ RAID 1 ทั้งคู่เป็น 1; ดูด้านล่าง)

น่าเสียดายที่การเลือกขนาดของชิ้นงานที่ลดขนาดการขยายทรูพุตการเขียนพิเศษนี้มีผลข้างเคียงของเพิ่มประสิทธิภาพสูงสุดการขยายการเขียนเพื่อค้นหา สำหรับการเขียนขนาดเล็กที่มีเวลาเขียนเล็กน้อยเมื่อเทียบกับเวลาค้นหาประสิทธิภาพการเขียนของการสตริปที่มีขนาดเล็กมาก (เป็นแบบเต็มแถบ) มีเพียง 1 ×เช่นการทำมิเรอร์ chunks สำหรับการเขียนแต่ละครั้งและปริมาณงานที่ได้รับจากการระดมไดรฟ์ทั้งหมดนี้ไม่เกี่ยวข้อง มันได้แบ่งอัตราส่วนของเวลาในการเขียนเพื่อค้นหาเวลาด้วยจำนวนไดรฟ์ในอาร์เรย์ แต่สำหรับการเขียนขนาดเล็กสิ่งนี้ก็เล็กน้อย มันจะไม่สมเหตุสมผลที่จะใช้ขนาดอันเล็กจนทำให้การเขียนแม้แต่น้อยเป็นแบบเต็ม สำหรับการเขียนที่มีขนาดเล็กพอที่จะรู้สึกถึงผลกระทบของการค้นหามันเป็นสิ่งที่ดีที่สุดที่พวกเขาจะพอดีกับก้อนเดียว

RAID | large contiguous write throughput    | concurrent tiny writes throughput
     | full-stripe    | single-chunk        | full-stripe | single-chunk
   0 | n×       ; 12× | n×          ; 12×   | 1×     ; 1× | n×          ; 12×
   1 | 1×       ;  1× | 1×          ;  1×   | 1×     ; 1× | 1×          ;  1×
   5 | (n - 1)× ; 11× | max[n/3, 1]×;  4×   | 1×     ; 1× | max[n/3, 1]×;  4×
   6 | (n - 2)× ; 10× | max[n/5, 1]×;  2.4× | 1×     ; 1× | max[n/5, 1]×;  2.4×
*1+0 | n₀×      ;  4× | n₀×         ;  4×   | 1×     ; 1× | n₀×         ;  4×  *
 1+5 | (n₅ - 1)×;  5× | expr₃×      ;  2.4× | 1×     ; 1× | expr₃×      ;  2.4×
*1+6 | (n₆ - 2)×;  4× | expr₄×      ;  1.5× | 1×     ; 1× | expr₄×      ;  1.5×*
expr₃ = n/(2n₁ + min [1, n₅ - 2]) = max [n/(2n₁ + 1), n/(2n₁ + n₅ - 2)]
expr₄ = n/(3n₁ + min [2, n₆ - 3]) = max [n/(3n₁ + 2), n/(3n₁ + n₆ - 3)]

หมายเหตุ: คอลัมน์ปริมาณงานขนาดกลาง 2 คอลัมน์สามารถข้ามได้เนื่องจากขนาดก้อนที่เหมาะสมที่ใหญ่กว่าการเขียนที่เวลาการค้นหามีความสำคัญ แต่เล็กพอที่การเขียนขนาดใหญ่จะเต็มแถบ ขนาดก้อนใหญ่ของคอลัมน์ทรูพุตที่ 2 นั้นคล้ายกับไดรฟ์ที่ถูกขยาย การเขียน 'จิ๋ว' คือจุดที่ผลของปริมาณงานมีน้อยมาก

การมีขนาดก้อนเล็ก ๆ ที่ไม่เหมาะสมยังเพิ่มผลของการขยายสัญญาณเพื่ออ่านแม้ว่าจะไม่มากและเฉพาะในเคสแบบเต็มแถบ

RAID | read throughput amplification factor | read seek amplification factor
     | full-stripe      | single-chunk      | full-stripe (e.g.) | single-chunk
   0 | 1                | 1                 | n      to n;    12 | 1
   1 | 1                | 1                 | 1      to n;  1–12 | 1
   5 | 1                | 1                 | n - 1  to n; 11–12 | 1
   6 | 1                | 1                 | n - 2  to n; 10–12 | 1
*1+0 | 1                | 1                 | n₀     to n;  4–12 | 1           *
 1+5 | 1                | 1                 | n₅ - 1 to n;  5–12 | 1
*1+6 | 1                | 1                 | n₆ - 2 to n;  4–12 | 1           *

หมายเหตุ: 'ถึง n' เป็นเพราะเมื่อมีการอ่านเกิดขึ้นพร้อมกันเพียงครั้งเดียวมันเป็นไปได้ในทางทฤษฎีที่จะระดมไดรฟ์ทั้งหมดเพื่อค้นหาสถานที่ที่เหมาะสมและอ่านข้อมูลโดยรวม

RAID | large contiguous read throughput | concurrent tiny reads throughput
     | full-stripe (e.g.)| single-chunk | full-stripe         | single-chunk
   0 | n×          ; 12× | n×     ; 12× | 1×          ;  1×   | n×     ; 12×
   1 | n×          ; 12× | n×     ; 12× | n×          ; 12×   | n×     ; 12×
   5 | n×          ; 12× | n×     ; 12× | n/(n - 1)×  ; ~1.1× | n×     ; 12×
   6 | n×          ; 12× | n×     ; 12× | n/(n - 2)×  ;  1.2× | n×     ; 12×
*1+0 | n×          ; 12× | n×     ; 12× | n₁×         ;  3×   | n×     ; 12×*
 1+5 | n×          ; 12× | n×     ; 12× | n/(n₅ - 1)× ;  2.4× | n×     ; 12×
*1+6 | n×          ; 12× | n×     ; 12× | n/(n₆ - 2)× ;  3×   | n×     ; 12×*

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

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

'ปัจจัยการขยายเสียง' นั้นซับซ้อนกว่าสูตรคำถามมากโดยเฉพาะการพิจารณาการขยายทรูพุตแบบเต็มแถบเท่านั้น โดยเฉพาะอย่างยิ่งประสิทธิภาพการเขียนของ 6 × 2 RAID 1 + 6 สำหรับการเขียนพร้อมกันที่มีขนาดเล็กพอที่จะทำการค้นหาจะเลวร้ายยิ่งกว่าของ 4 × 3 RAID 1 + 0 และสำหรับการเขียนเล็ก ๆ ซึ่งทุกคนแสวงหาประสิทธิภาพอาจเป็นเพียงหนึ่งในสามของ 4 × 3 RAID 1 + 0 ที่ดีที่สุดอย่างแน่นอน (เช่นได้รับการใช้งานที่สมบูรณ์แบบ)

หลังจากลบปัญหานั้นแล้วการเปรียบเทียบ 12 ไดรฟ์ไม่ได้ผู้ชนะทันที:

                                  | 4×3 RAID 1+0 | 6×2 RAID 1+6
   number of identical 1TB drives | 12           | 12
                 storage capacity | 4TB          | 4TB
            redundancy proportion | 2/3          | 2/3
large contiguous write throughput | 4×           | 4×
 large contiguous read throughput | 12×          | 12×
concurrent tiny writes throughput |*4×           | 1.5×
 concurrent tiny reads throughput | 12×          | 12×
safe number of random drive loses | 2            |*5
    12 - 1 large write throughput | 4×           | 4×
     12 - 1 large read throughput | 8×           |*11×
    12 - 1 tiny writes throughput |*4×           | ~1.42×
     12 - 1 tiny reads throughput | 8×           |*~9.33×
  can split-off a copy for backup | yes[1]       | yes[1]
                  2-site failover | yes          | yes
    2-copy large write throughput | 4×           | 4×
     2-copy large read throughput |*8×           | 6×
    2-copy tiny writes throughput |*4×           | ~1.28×
     2-copy tiny reads throughput |*8×           | 6×
   2-copy safe random drive loses | 1            |*2
2-copy - 1 large write throughput | 4×           | 4×
 2-copy - 1 large read throughput | 4×           |*5× or 6×[2]
2-copy - 1 tiny writes throughput |*4×           | ~1.46× or 1.2×[2]
 2-copy - 1 tiny reads throughput | 4×           |*3.6x or 6×[2]
can be divided into 3 full copies | yes          | yes
                  3-site failover | yes          | yes
    1-copy large write throughput | 4×           | 4×
     1-copy large read throughput | 4×           | 4×
    1-copy tiny writes throughput |*4×           | ~0.85×
     1-copy tiny reads throughput |*4×           | 2×
   1-copy safe random drive loses | 0            | 0
                       complexity |*simple       | more complex

หมายเหตุ 1: สำเนาทั้งหมดของข้อมูลที่เก็บไว้เป็นลำดับ RAID 0 สี่เท่าหรืออาร์เรย์ RAID 6 ที่ลดลง 4/6 หมายเหตุ 2: มีโอกาสที่เป็นไปได้ที่ความล้มเหลวของไดรฟ์จะลดระดับหนึ่งใน 4 คู่ของ RAID 1 ที่ลดระดับลงหรือลดระดับคู่หนึ่งใน 2 คู่ตามปกติ

อย่างไรก็ตามมันจะมีประสิทธิภาพการอ่านเป็นสองเท่าของอาเรย์ RAID 6 จาก 6 ไดรฟ์และการเขียนทรูพุตขนาดเล็กควรจะดีขึ้น 25% (1.5 / 1.2) เนื่องจากการอ่านที่ต้องการถูกแบ่งระหว่าง RAID 1 คู่และ RAID 6 มีการใช้งานที่เหมาะสมดังนั้นในการใช้งานพร้อมสูงที่มีขนาดใหญ่หรือการเขียนที่มีความกังวลมากขึ้นเกี่ยวกับประสิทธิภาพในการอ่านมากกว่าการเขียนอาจจะมีเป็นช่องสำหรับ RAID 1 + 6 afterall แต่นั่นไม่ใช่ทั้งหมด ...

ความซับซ้อน

นี่เป็นเพียงในทางทฤษฎีจนถึงตอนนี้ (ส่วนใหญ่เป็นcombinatorics ) ในทางปฏิบัติความซับซ้อนจะหมายถึงการใช้งานของ RAID 1 + 6 อาจมีข้อบกพร่องที่พลาดโอกาสและไม่บรรลุผลตามทฤษฎี RAID 6 มีความซับซ้อนมากขึ้นและการซ้อนเพิ่มความซับซ้อนอีกเล็กน้อยบนนี้

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

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


โปรดระบุแหล่งที่มาของคุณสำหรับข้อมูลนี้ การทดสอบภาคปฏิบัติที่มีการเขียนขนาดใหญ่หรือเล็กไม่สอดคล้องกับประสิทธิภาพที่คุณแนะนำ
JamesRyan

@JamesRyan: นี่ไม่ใช่ข้อมูลมือสอง ผลลัพธ์ทางทฤษฎีนั้นมาจากพื้นฐานของการทำงานของระดับ RAID มาตรฐาน สิ่งที่จำเป็นสำหรับทฤษฎีก็คือความเข้าใจในการทำงานของ RAID และความเข้าใจในตรรกะและการคำนวณทางคณิตศาสตร์ หากการคำนวณเหล่านี้กระทำโดยบุคคลอื่นฉันจะระบุสิ่งนี้ไว้แน่นอนและให้ลิงก์สำหรับการอ้างอิงหากเป็นไปได้ โปรดทราบว่ามีหลายวิธีในการใช้งาน RAID 1 + 6 ที่ใช้งานจริงได้ดีกว่า แต่การใช้งานที่แตกต่างกันจะแตกต่างกันไป สิ่งที่ฉันอยากรู้คือทำไมการทดสอบภาคปฏิบัติของคุณจึงไม่เห็นด้วย
James Haigh

@JamesRyan: โปรดให้รายละเอียดเพิ่มเติมเกี่ยวกับการใช้งานที่คุณใช้อยู่ไดรฟ์ใดที่คุณใช้ในการกำหนดค่าด้วยวิธีการเปรียบเทียบ คุณลองทั้งชุด RAID 6 จาก 6 RAID 1 คู่และอาร์เรย์ RAID 0 ของ 4 RAID 1 อเนกประสงค์ด้วย 12 ไดรฟ์และขนาดก้อนเท่ากันหรือไม่ มันเป็นซอฟต์แวร์ RAID หรือไม่?
James Haigh

เนื่องจากคุณกำลังเสนอทฤษฎีที่ยังไม่ทดลองซึ่งท้าทายภูมิปัญญาดั้งเดิมทำไมคุณไม่ให้รายละเอียดการตั้งค่าของคุณที่คุณแสดงให้มันทำงาน? ฉันเดาว่าเนื่องจากคณิตศาสตร์ของคุณแตกต่างจากแหล่งอื่น ๆ ในเรื่องนี้รวมถึงโลกแห่งความจริงที่ทดสอบว่าทำไมมันไม่ทำงานก็คือคณิตศาสตร์ของคุณผิด
JamesRyan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.