RAID5 นั้นแข็งแกร่งกว่า RAID1 หรือไม่


12

ฉันกำลังจะแทนที่อาเรย์ฮาร์ดแวร์ RAID5 รุ่นเก่าด้วยอาเรย์ซอฟต์แวร์ RAID1 แบบลีนุกซ์ ฉันกำลังคุยกับเพื่อนและเขาอ้างว่า RAID5 นั้นแข็งแกร่งกว่า RAID1

การอ้างสิทธิ์ของเขาคือเมื่อใช้ RAID5 เมื่ออ่านข้อมูลพาริตีจะถูกอ่านเพื่อให้แน่ใจว่าไดรฟ์ทั้งหมดส่งคืนข้อมูลที่ถูกต้อง เขาอ้างว่าในข้อผิดพลาด RAID1 ที่เกิดขึ้นบนไดรฟ์จะไม่มีใครสังเกตเห็นเพราะไม่มีการตรวจสอบดังกล่าวกับ RAID1

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

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

คำตอบ:


22

RAID-5 เป็นวิธีการแก้ปัญหาความผิดพลาดความอดทนไม่ได้เป็นวิธีการแก้ปัญหาข้อมูลที่สมบูรณ์

โปรดจำไว้ว่า RAID ย่อมาจาก Redundant Array ของราคาถูกดิสก์ ดิสก์เป็นหน่วยปรมาณูของความซ้ำซ้อน - RAID ไม่สนใจข้อมูลจริงๆ คุณซื้อโซลูชันที่ใช้ระบบไฟล์เช่น WAFL หรือ ZFS เพื่อจัดการกับความซ้ำซ้อนของข้อมูลและความสมบูรณ์

ตัวควบคุม RAID (ฮาร์ดแวร์หรือซอฟต์แวร์) ไม่ได้ตรวจสอบความเท่าเทียมกันของบล็อกในเวลาที่อ่าน นี่เป็นความเสี่ยงที่สำคัญในการใช้งาน RAID-5 - หากคุณพบความล้มเหลวของสื่อบางส่วนในไดรฟ์ (สถานการณ์ที่บล็อกที่ไม่ดีไม่ได้ทำเครื่องหมายว่า "ไม่ดี") ตอนนี้คุณอยู่ในสถานการณ์ที่ข้อมูลของคุณเงียบ เสียหาย

RAID-Z / ZFS ของ Sun ให้ความสมบูรณ์ของข้อมูลแบบ end-to-endและฉันสงสัยว่าระบบไฟล์และระบบ RAID อื่น ๆ จะให้คุณสมบัตินี้ในอนาคตเนื่องจากจำนวนคอร์ที่มีอยู่ในซีพียูยังคงเพิ่มขึ้นอย่างต่อเนื่อง

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


6

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

จาก pdf ภายใต้ SATAssure (tm) Plus:

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

เป็นที่น่าสนใจว่าผู้ผลิตบางรายเอะอะเกี่ยวกับความจริงที่ว่าพวกเขาคำนวณเสมอเสมอมันทำให้ฉันคิดว่ามันเป็นเรื่องแปลกสำหรับตัวควบคุมฮาร์ดแวร์ เป็นที่ทราบกันดีว่าระบบเช่น ZFS และ WAFL (netapp) ทำการคำนวณแบบพาริตีสำหรับทุกการอ่าน


ลิงค์นั้นดูน่าสนใจ แต่จริง ๆ แล้วมันพูดอย่างชัดเจนทุกที่ในหน้านั้นหรือแผ่นพับว่าพวกเขาคำนวณความเท่าเทียมกันในการอ่านทั้งหมดหรือไม่?
andynormancx

ฉันเพิ่มใบเสนอราคาจาก pdf โปรดทราบว่ากล่อง S2A เป็นระดับไฮเอนด์ที่เงียบสงบ
James

3

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

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

ระบบย่อย RAID ส่วนใหญ่ขึ้นอยู่กับไดรฟ์เพื่อแจ้งให้คอนโทรลเลอร์หรือคอมพิวเตอร์ทราบเมื่อเกิดข้อผิดพลาด

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

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

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

ฉันได้เรียนรู้สิ่งนี้จากการสนทนาทางเทคนิคของ NetApp โดยวิศวกรของพวกเขาสองคน


ฉันจะไม่ใช้คำว่า "มีประสิทธิภาพมากขึ้น" ... "ความจุมากขึ้น" จะเหมาะสมกว่า ในใจของฉันทางออกที่ทำให้มีโอกาสมากขึ้นที่ฉันจะสูญเสียข้อมูลของฉันไม่มีประสิทธิภาพมากกว่า
duffbeer703

ทุกอย่างเป็นการแลกเปลี่ยนที่คุ้มค่า RAID-5 เป็นอุปกรณ์จัดเก็บข้อมูลที่คุ้มค่ามากขึ้นในขณะที่ RAID-1 หรือ RAID-1 + 0 (0 + 1) มีความทนทานกว่า
David Mackintosh

อีกเหตุผลที่ชอบ 1 + 0 มากกว่า 0 + 1 ก็คือ 1 + 0 สามารถอยู่รอดได้ 4 ใน 6 ที่เป็นไปได้ "ไดรฟ์ที่สองล้มเหลวก่อนที่จะเปลี่ยนไดรฟ์ที่ล้มเหลวครั้งแรกและสร้างอาร์เรย์ใหม่" ที่ 0 + 1 สามารถอยู่รอดได้เพียง 2 จาก 6 ถึงแม้ว่า 0 + 1 จะสามารถรอดชีวิตจากความล้มเหลวของคอนโทรลเลอร์บนแขนข้างหนึ่ง (ซึ่งไม่สามารถ 0 + 1 ได้) นี่เป็นสิ่งที่หาได้ยากกว่าความล้มเหลวของไดรฟ์
David Spillett

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

3

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

บางคนตรวจสอบกับพื้นหลัง 'ขัด' ในกรณีนั้น RAID6 ชนะเพราะสามารถกู้คืนข้อมูลและ RAID5 และ RAID1 อยู่ในสถานการณ์เดียวกันคุณสามารถระบุได้ แต่ไม่สามารถแก้ไขได้ (นี่ไม่เป็นความจริงอย่างเด็ดขาดเนื่องจากไดรฟ์สามารถตรวจจับ CRC ที่ไม่ดีส่งคืนข้อผิดพลาดและให้คุณเขียนบล็อกใหม่จากพาริตีซึ่งเกิดขึ้นค่อนข้างบ่อย)

หากคุณต้องการความถูกต้องของข้อมูลให้จัดเก็บแฮชกับทุกบล็อค (หรือบันทึกหรือแบ่งออกเป็น) ที่ชั้นแอปพลิเคชัน Sybase และ Oracle ทำเช่นนี้ (ฉันเชื่อว่าในระดับหน้าเว็บ) และฉันเคยเห็นมาหลายครั้งแล้วบันทึกฐานข้อมูลขนาดใหญ่ (เช่นคอนโทรลเลอร์เริ่มส่งคืนข้อมูลที่ไม่ถูกต้องระบบขัดข้องพร้อมข้อผิดพลาดชัดเจนดังนั้นจึงไม่มีการเขียนเมื่อฐานข้อมูลทำงานบนฮาร์ดแวร์ที่ล้มเหลวด้วยสถานะไม่สอดคล้องกัน)

โซลูชันระบบไฟล์เท่านั้นและโซลูชั่น RAID เดียวที่ทำเพื่อคุณคือ ZFS


0

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

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

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

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

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


เขากำลังพูดถึงความเท่าเทียมกัน เขาอ้างว่าใน RAID5 ข้อมูลความเท่าเทียมกันถูกเรียกคืนจากการอ่านและเปรียบเทียบกับข้อมูลที่มาจากดิสก์อื่นเพื่อตรวจสอบว่าไม่มีข้อผิดพลาดในการอ่าน
andynormancx

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

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

1
โปรดดูen.wikipedia.org/wiki/…สำหรับการสนทนาเกี่ยวกับซอฟต์แวร์ Vs ฮาร์ดแวร์ RAID เห็นได้ชัดว่าการใช้งานที่คุณเลือกนั้นขึ้นอยู่กับสภาพแวดล้อมและความต้องการของคุณ ความชอบของฉันคือฮาร์ดแวร์ RAID กับซอฟต์แวร์ RAID
เบ็นด่วน

ฉันเข้าใจลืมฉันเคยพูดถึง checksums ฉันได้อัปเดตคำถามเพื่อแก้ไขความสับสน คำถามคือทั้งหมดที่เกี่ยวกับว่าระบบ RAID5 มักจะตรวจสอบข้อมูลความเท่าเทียมกันในการอ่าน
andynormancx

0

ฉันกำลังจะแทนที่อาเรย์ฮาร์ดแวร์ RAID5 รุ่นเก่าด้วยอาเรย์ซอฟต์แวร์ RAID1 แบบลีนุกซ์ ฉันกำลังคุยกับเพื่อนและเขาอ้างว่า RAID5 นั้นแข็งแกร่งกว่า RAID1

ซึ่งจะขึ้นอยู่กับประเภทการนำไปใช้งานของการตรวจค้น (hw / sw), ดิสก์, ตัวควบคุมการโจมตีหากมีและคุณสมบัติของมัน

การอ้างสิทธิ์ของเขาคือเมื่อใช้ RAID5 เมื่ออ่านข้อมูลพาริตีจะถูกอ่านเพื่อให้แน่ใจว่าไดรฟ์ทั้งหมดส่งคืนข้อมูลที่ถูกต้อง เขาอ้างว่าในข้อผิดพลาด RAID1 ที่เกิดขึ้นบนไดรฟ์จะไม่มีใครสังเกตเห็นเพราะไม่มีการตรวจสอบดังกล่าวกับ RAID1

มันมีความรู้สึกเล็กน้อย แต่ไม่ใช่จริง ๆ :) สิ่งที่เกิดขึ้นคือ - ถ้ามีการเขียนข้อมูลผิดบนกระจกจะถูกส่งไปยังไดรฟ์ทั้งสองและใน raid5 parity เพราะมันจะถูกสร้างและกระจายไปทั่วไดรฟ์ การตรวจสอบการอ่าน / เขียนข้อมูลทำได้โดยดิสก์และเฟิร์มแวร์ตัวควบคุมและไม่มีส่วนเกี่ยวข้องกับระดับการโจมตี

So the question is, what do RAID5/RAID1 systems in the real world

จริงแล้ว ระบบ RAID5 ตรวจสอบข้อมูลพาริตีบนการอ่านหรือไม่? มีระบบ RAID1 ที่อ่านจากไดรฟ์ทั้งหมดและเปรียบเทียบข้อมูลที่อ่านหรือไม่

ดังที่ฉันได้กล่าวไว้การตรวจสอบไม่ได้เป็นส่วนหนึ่งของอัลกอริธึมการจู่โจมแม้ว่าผู้ควบคุมบางคนอาจมีการใช้งานเพิ่มเติม

ความทนทานของอาเรย์นั้นขึ้นอยู่กับคุณภาพของไดรฟ์ (2.5 "ไดรฟ์มีแนวโน้มที่จะอยู่ได้นานกว่า 3.5" เนื่องจากอัตรา RV ลดลงจากประสบการณ์ของฉันไม่เคยซื้อไดรฟ์ SCSI / SAS maxtor สูงสุด - พวกเขามีข้อบกพร่องเฟิร์มแวร์ที่น่ากลัว) (การควบคุมอุณหภูมิและความชื้น) ตัวควบคุม (มี BBU เป็นเฟิร์มแวร์ล่าสุดหรือไม่การโจมตีจริงหรือ fakeraid?) จำนวน PSU ในเซิร์ฟเวอร์คุณภาพของ UPS ฯลฯ


ฉันเกรงว่าคุณยังไม่ได้ตอบคำถามซึ่งเกี่ยวกับการใช้งานจริงของ RAID5 อย่างแท้จริงเกี่ยวกับการตรวจสอบข้อมูลพาริตีบนการอ่าน
andynormancx

0

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

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

ดังนั้นจากมุมมองของฉันใช่มันสามารถทำเช่นนั้น แต่ถ้ามันทำมันจะไม่มีประสิทธิภาพและฉันสงสัยว่ามีการดำเนินการในลักษณะนั้น

อย่างไรก็ตามอีกครั้งฉันไม่มีความรู้ส่วนตัวเกี่ยวกับการใช้งานจริง


0

ระบบ RAID5 ตรวจสอบข้อมูลพาริตีบนการอ่านหรือไม่?

มันไม่สมเหตุสมผลเลย คุณจะทำอย่างไรเมื่อคุณพบว่าไม่ตรงกันความเท่าเทียมกัน? (คุณจะรู้ได้อย่างไรว่าบล็อกใดผิดปกติ)

สำหรับการอ่านแบบสุ่มตรวจสอบความเท่าเทียมกันจะมีราคาแพง โดยปกติคุณสามารถให้บริการการอ่านแบบสุ่มโดยดูจากดิสก์เดียว แต่ถ้าคุณต้องการตรวจสอบพาริตี้คุณต้องอ่านดิสก์ทั้งหมดในการอ่านแต่ละครั้ง (นั่นอาจยังคงสมเหตุสมผลถ้ามีอะไรที่คุณสามารถทำได้!)

โปรดทราบว่า RAID-1 มีปัญหานี้เช่นกัน - ซึ่งสมเหตุสมผลเมื่อคุณดู RAID-1 เป็นดิสก์ RAID-2 สองตัว


0

ฉันคิดถึงการอ้างสิทธิ์เล็กน้อยว่า RAID-1 น่าจะเร็วกว่าการอ่านมากกว่า RAID-5 เนื่องจากมันอ่านข้ามไดรฟ์ทั้งสองในครั้งเดียว

ตอนนี้เนื่องจากพาริตีไม่ได้อ่านบน RAID-5 ยกเว้นว่าอาร์เรย์ต้องการการสร้างใหม่จริง ๆ แล้วเท่ากับอาร์เรย์ RAID-0 ในแง่ของการอ่านฉันถูกต้องหรือไม่

RAID-0 นั้นโดยทั่วไปถือว่าเป็นระดับที่เร็วที่สุด (แม้ว่ามันควรจะมีชื่อว่า "AID" เนื่องจากไม่มีความซ้ำซ้อน แต่อย่างใด) :-D

การพูดถึงซอฟต์แวร์ Linux, การทดสอบอย่างง่าย - โดยใช้ hdparm - ยืนยันทฤษฎีนี้: อาร์เรย์ RAID-5 ของฉันแสดงความเร็วในการอ่านที่สูงกว่าอาร์เรย์ RAID-1 ของฉันเสมอ

แต่: อาเรย์ย่อยสลายจะทำงานช้ากว่าอาเรย์ที่ใช้งานปกติมากดูเหมือนว่า! ฉันเพิ่งทดสอบสิ่งนี้กับ Fedora 9 ซึ่งทำงานบนไดรฟ์ WD 1 TB 4 ตัวที่มีระดับ RAID ต่างกัน นี่คือผลลัพธ์:

RAID-5 ที่ถูกลดระดับ: ความเร็วในการอ่าน 43 MB / วินาที RAID-5 ปกติ: ความเร็วในการอ่าน 240 MB / วินาที (!) RAID-1: ความเร็วในการอ่าน 88 MB / วินาที

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


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

-1

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

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


ฉันเกรงว่าจำนวนคำตอบของคุณคือ "ฉันไม่รู้ว่าการใช้งาน RAID5 ใดตรวจสอบความเท่าเทียมกันในการอ่าน" และไม่ตอบคำถาม
andynormancx

มันเป็นคำตอบที่ถูกต้องเพราะไม่มีใครรู้แน่นอนยกเว้นคนที่เขียนไดรเวอร์จริงๆ
sybreon

-2

ในตอนนี้, ฉันไม่มีที่เก็บข้อมูล 24/7, ตัวควบคุมจะตรวจสอบสิ่งที่เขียนและอ่านจากดิสก์เสมอ เช่นกับ raid1 คุณเขียนแย่กว่าเล็กน้อยในดิสก์เดียว แต่การอ่านของคุณเร็วกว่าเล็กน้อย (ต้องเขียนไฟล์ลงในดิสก์สองแผ่น แต่สามารถอ่านส่วนหนึ่งจากดิสก์หนึ่งและอีกส่วนหนึ่งจากดิสก์สอง)

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

ด้วย RAID 5 คุณต้องการดิสก์อย่างน้อย 3 แผ่นและสามารถใช้ดิสก์ N-1 สำหรับข้อมูลได้ ด้วยการจู่โจม 1 คุณจำเป็นต้องมีดิสก์เป็นจำนวนคู่เสมอและสามารถใช้ดิสก์ N / 2 สำหรับข้อมูลได้

ดังนั้นในการบุกระดับที่ใหญ่กว่าระดับ 5 จะช่วยให้คุณมีพื้นที่เก็บข้อมูลมากขึ้นในขณะที่การโจมตี 1 ให้ความซ้ำซ้อนมากขึ้น

หากคุณแข็งแกร่งขึ้นหมายความว่าคุณมีความซ้ำซ้อนมากกว่าการโจมตี 1

ขึ้นอยู่กับขนาดของการจู่โจมคุณต้องพิจารณาเวลาการสร้างใหม่ในกรณีที่เกิดข้อผิดพลาด (มีกี่ดิสก์ที่มีขนาดดิสก์ใหญ่เท่าใดการจู่โจมแบบไหน (นุ่ม - ปลอม - ฮาร์ดแวร์ -) ซึ่งระดับ ฯลฯ )

ดังนั้นจึงเป็นไปไม่ได้จริงๆที่จะบอกว่าการโจมตีครั้งหนึ่งนั้นแข็งแกร่งกว่าการโจมตีแบบอื่น (บางทีการจู่โจมที่ 6 อาจจะแข็งแกร่งกว่าการจู่โจมที่ 5 ในราคาที่คุณเสียพื้นที่เก็บข้อมูล)


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

1
"คอนโทรลเลอร์จะตรวจสอบสิ่งที่เขียนและอ่านจากดิสก์เสมอ" นี่ไม่ใช่กรณีที่คอนโทรลเลอร์สามารถอ่านจากดิสก์ทั้งสอง แต่คอนโทรลเลอร์บางตัวส่งคืนข้อมูลแรกที่ได้รับ
James

ฉันคิดว่าเป็นไปได้ที่จะบอกว่า RAID1 ต้องการดิสก์จำนวนมากและมิเรอร์ที่สามเป็นอย่างอื่นที่ไม่ใช่ RAID1 การติดตั้งใช้งานน้อยจึงสนับสนุนมิเรอร์ที่สามที่คำศัพท์ไม่เคยเป็นมาตรฐาน
carlito
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.