หากระบบ RAID5 ประสบ URE ในระหว่างการสร้างใหม่ข้อมูลทั้งหมดจะสูญหายหรือไม่?


23

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

(ฉันสนใจเป็นพิเศษในการติดตั้ง RAID5 ของ ZFS ที่นี่ แต่ตรรกะนั้นเหมือนกันสำหรับการติดตั้ง RAID5 ใด ๆ )


1
โดยทั่วไปเมื่อกล่าวถึง "ความน่าจะเป็นที่จะได้รับ URE ในระหว่างการสร้างใหม่ " ในบริบทของความเสี่ยง RAID5 ข้อสันนิษฐานโดยนัยก็คือความเสียหายก่อนหน้านี้เกิดขึ้นแล้วเพื่อให้การสร้างใหม่นั้นมีความจำเป็น กล่าวอีกนัยหนึ่ง "URE ระหว่างการสร้างใหม่" เป็นURE ที่สองและข้อมูลทั้งหมดจะสูญหายไป
ค้น

1
@ Colt - ฉันเข้าใจว่าเป็นสิ่งที่มีความหมาย แต่สิ่งที่ฉันไม่เข้าใจคือเหตุผลว่าทำไม URE เดี่ยว (ซึ่งในการวิเคราะห์ว่าทำไม RAID5 จึงไม่แนะนำให้ใช้ดูเหมือนว่าจะอ้างถึงเซกเตอร์เสีย) หมายความว่าข้อมูลทั้งหมดจะ หายไป. โดยทั่วไปแล้วหากฉันทำอาร์เรย์ RAID5 หายไป 1 ไดรฟ์ฉันก็ยังมีข้อมูลทั้งหมดอยู่ ถ้าฉันสูญเสียเซกเตอร์เดียวจากไดรฟ์ใด ๆ ที่เหลืออยู่ก็เป็นไปได้ว่าฉันสูญเสียข้อมูลที่เก็บไว้ในเซกเตอร์นั้น แต่ถ้าเซกเตอร์นั้นว่าง (เช่น) พื้นที่ว่างฉันก็ไม่สนใจและถ้าเซกเตอร์นั้น ได้มีข้อมูลอยู่แล้วมันอาจส่งผลกระทบเพียงไม่กี่ไฟล์
process91

@Colt - ขึ้นอยู่กับคำตอบด้านล่างดูเหมือนว่าล้มเหลวในการสร้างอาร์เรย์ใน Presence ของ URE เดียวเป็นทางเลือกที่ทำโดยผู้ผลิตฮาร์ดแวร์ RAID ในความคิดของฉันนี่เป็นตัวเลือกที่ผิด แต่โชคดีที่ดูเหมือนว่า ZFS จะแตกต่างออกไป
process91

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

โปรดทราบว่าการติดตั้ง RAID5 แบบ“ ZFS” เรียกว่า“ raidz” หรือ“ zraid” และแตกต่างจากฮาร์ดแวร์ RAID5 โดยทั่วไปคุณจะได้รับคำตอบที่ดีขึ้นเกี่ยวกับ“ ZFS RAID5” ถามเกี่ยวกับ“ raidz”
Josh

คำตอบ:


24

มันขึ้นอยู่กับการใช้งาน RAID ที่เฉพาะเจาะจง:

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

  • ซอฟต์แวร์ linux RAID สามารถสั่งให้ a) หยุดการสร้างอาร์เรย์ใหม่ (พฤติกรรมเดียวของ "โบราณ" MDRAID / เมล็ดสร้าง) หรือ b) ดำเนินการต่อด้วยกระบวนการสร้างใหม่ทำเครื่องหมาย LBA บางอย่างว่าไม่ดี / ไม่สามารถเข้าถึงได้ เหตุผลก็คือจะเป็นการดีกว่าที่จะให้ผู้ใช้ทำการเลือกของเขา: หลังจากทั้งหมด URE เดียวสามารถอยู่บนพื้นที่ว่างไม่ส่งผลกระทบต่อข้อมูลเลย (หรือส่งผลกระทบต่อไฟล์ที่ไม่สำคัญเท่านั้น);

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


@ process91 เพียงทำอย่างละเอียดอีกเล็กน้อย หากการใช้ RAID ไม่ได้มีโครงสร้างข้อมูลเพิ่มเติมที่จำเป็นในการทำเครื่องหมายแต่ละส่วนว่าไม่ดีก็จะต้องล้มเหลวในการสร้างใหม่หรือแนะนำความเสียหายเงียบ การทำเครื่องหมายแต่ละภาคส่วนว่าแย่นั้นดีกว่า แต่ก็ยังสามารถทำให้ภาคอื่น ๆ ตกอยู่ในความเสี่ยงได้เนื่องจากการแบ่งปันภาคส่วนที่เท่าเทียมกันกับภาคที่ไม่ดี
kasperd

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

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

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

1
@ process91 ฉันได้เพิ่มบันทึกเกี่ยวกับอาร์เรย์ที่ใช้ LSI ลองดูสิ
shodanshok

8

หาก URE จะเกิดขึ้นคุณจะพบกับข้อมูลเสียหายมากกว่าบล็อกซึ่งโดยทั่วไปจะมีขนาด 256KB-1MB แต่นั่นไม่ได้หมายความว่าข้อมูลทั้งหมดในโวลุ่มของคุณจะหายไป สิ่งที่ไม่ดีนักเกี่ยวกับ RAID5 นั้นแตกต่างอย่างสิ้นเชิง: การสร้างตัวเองใหม่นั้นมีความตึงเครียดและมีโอกาสสูงที่คุณจะได้รับความล้มเหลวของดิสก์ที่สองติดต่อกัน ในกรณีเช่นนี้ข้อมูลทั้งหมดจะสูญหาย


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

3
มันเป็นทฤษฎีความน่าจะเป็น ด้วย N (ซึ่งเป็น # ของไดรฟ์) โอกาสที่จะเกิดความล้มเหลวจะสูงกว่า N เท่า
BaronSamedi1958

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

2

ฉันจะอธิบายวิธีอื่น ๆ ;

หากคอนโทรลเลอร์ RAID ไม่หยุดทำงานบน URE จะเกิดอะไรขึ้น?

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

ดิสก์เริ่มมีเซกเตอร์เสียมากขึ้นหลังจากการสร้างใหม่และข้อมูลเริ่มเสียหาย

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

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


1
ฉันเห็นผู้ดูแลใหม่กำลังตรวจสอบเว็บไซต์อยู่ตลอดเวลากำลังมองหาสิ่งที่ต้องทำ ...
Ward - Reinstate Monica

1
เหตุใด URE เดี่ยวจึงสร้างความเสียหายในโวลุ่ม RAID ทั้งหมด
process91

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

2
ฉันสนใจที่จะวิเคราะห์ว่าเหตุใด RAID5 จึงถูกมองว่าเป็น "คนตาย" ในปี 2009 ซึ่งขึ้นอยู่กับความน่าจะเป็นของ URE เดียว ความเข้าใจของฉันในตอนนี้คือการวิเคราะห์นี้ไม่ถูกต้องทั้งทางคณิตศาสตร์และไม่ได้นำไปใช้ในทางเดียวกันเช่น ZFS
process91

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

1

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

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

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


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

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