สูตรการคำนวณความน่าจะเป็นของข้อผิดพลาดในการอ่านที่ไม่สามารถกู้คืนได้ในระหว่างการสร้าง RAID ใหม่


12

ฉันต้องการเปรียบเทียบความน่าเชื่อถือของระบบ RAID ที่แตกต่างกันกับ consumer (URE / bit = 1e-14) หรือ enterprise (URE / bit = 1e-15) สูตรที่มีความน่าจะเป็นที่จะประสบความสำเร็จในการสร้างใหม่ (ไม่สนใจปัญหาเชิงกลที่ฉันจะนำมาพิจารณาภายหลัง) นั้นง่ายมาก:

error_probability = 1 - (1-per_bit_error_rate) ^ bit_read

สิ่งสำคัญที่ต้องจำไว้คือนี่เป็นความน่าจะเป็นที่จะได้อย่างน้อยหนึ่ง URE ไม่ใช่เพียงอย่างเดียว

สมมติว่าเราต้องการพื้นที่ใช้งาน 6 TB เราสามารถรับมันด้วย:

  • RAID1 ที่มีดิสก์ 1 + 1 แผ่นละ 6 TB ในระหว่างการสร้างใหม่เราอ่านดิสก์ 6TB 1 แผ่นและความเสี่ยงคือ: 1- (1-1e-14) ^ (6e12 * 8) = 38% สำหรับผู้บริโภคหรือ 4.7% สำหรับไดรฟ์ระดับองค์กร

  • RAID10 ที่มีดิสก์ 2 + 2 แต่ละ 3 TB ในระหว่างการสร้างใหม่เราอ่านดิสก์ 1TB 3 ตัวเท่านั้น (หนึ่งคู่กับดิสก์ที่ล้มเหลว!) และความเสี่ยงต่ำกว่า: 1- (1-1e-14) ^ (3e12 * 8) = 21% สำหรับผู้บริโภคหรือ 2.4% สำหรับ ไดรฟ์ระดับองค์กร

  • RAID5 / RAID Z1 ที่มีดิสก์ 2 + 1 แต่ละ 3TB ในระหว่างการสร้างใหม่เราอ่านดิสก์ 2 แผ่นขนาด 3TB แต่ละตัวและความเสี่ยงคือ: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% สำหรับผู้บริโภคหรือ 4.7% หรือไดรฟ์ระดับองค์กร

  • RAID5 / RAID Z1 ที่มีดิสก์ 3 + 1 แผ่นละ 2 TB (มักใช้โดยผู้ใช้ผลิตภัณฑ์ SOHO เช่น Synologys) ในระหว่างการสร้างใหม่เราอ่านแผ่นดิสก์ขนาด 2TB จำนวน 3 แผ่นแต่ละตัวและความเสี่ยงคือ: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% สำหรับผู้บริโภคหรือ 4.7% หรือไดรฟ์ระดับองค์กร

การคำนวณข้อผิดพลาดสำหรับการยอมรับดิสก์เดี่ยวนั้นเป็นเรื่องง่ายและยากกว่าคือการคำนวณความน่าจะเป็นที่ระบบยอมให้ดิสก์หลายตัวล้มเหลว (RAID6 / Z2, RAIDZ3)

หากมีเพียงดิสก์แรกที่ใช้สำหรับการสร้างใหม่และดิสก์ที่สองถูกอ่านอีกครั้งตั้งแต่เริ่มต้นในกรณีหรือ URE ความน่าจะเป็นข้อผิดพลาดคือดิสก์ที่คำนวณข้างต้นรูทราก (14.5% สำหรับผู้บริโภค RAID5 2 + 1, 4.5% สำหรับผู้บริโภค RAID1 1 + 2) อย่างไรก็ตามฉันคิดว่า (อย่างน้อยใน ZFS ที่มีการตรวจสอบเต็ม!) ว่าดิสก์แบบพาริตี้ / ที่สองสามารถอ่านได้เมื่อจำเป็นเท่านั้นซึ่งหมายความว่ามีความจำเป็นเพียงไม่กี่เซกเตอร์: มีกี่ UREs ที่สามารถเกิดขึ้นได้ในดิสก์แรก มีไม่มากมิฉะนั้นความน่าจะเป็นข้อผิดพลาดสำหรับระบบความทนทานดิสก์เดียวจะสูงกว่าที่ฉันคำนวณ

หากฉันถูกต้องดิสก์ที่สองจะช่วยลดความเสี่ยงให้ต่ำลงอย่างมาก

คำถามก็เป็นสิ่งสำคัญที่ต้องจำไว้ว่าผู้ผลิตเพิ่มความน่าจะเป็น URE สำหรับไดรฟ์ระดับผู้บริโภคด้วยเหตุผลทางการตลาด (ขายไดรฟ์ระดับองค์กรมากขึ้น) ดังนั้นแม้กระทั่ง HDD ระดับผู้บริโภคคาดว่าจะอ่าน 1E-15 URE / บิต .

ข้อมูลบางส่วน: http://www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

ค่าที่ฉันให้ไว้ในวงเล็บ (ไดรฟ์ระดับองค์กร) จึงนำไปใช้กับไดรฟ์ผู้บริโภคได้อย่างแนบเนียน และไดรฟ์ระดับองค์กรจริงมีความน่าเชื่อถือที่สูงขึ้น (URE / bit = 1e-16)

เกี่ยวกับความน่าจะเป็นของความล้มเหลวทางกลมันเป็นสัดส่วนกับจำนวนดิสก์และสัดส่วนกับเวลาที่ต้องสร้างใหม่


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

2
คุณมาถึงความน่าจะเป็น 38% URE สำหรับ RAID5 ที่มีไดรฟ์ 3 ตัวอย่างไร ใช้ URE = 10 ^ 14, HDD = 3.5 * 1024 ^ 4 ไบต์ฉันได้รับ 3.8% URE ต่อไดรฟ์และ 11.1% สำหรับ URE ในขณะที่สร้างใหม่ นั่นคือ: 100 * (1- (1- (hdd / ure)) ^ 3) ฉันคิดว่าตัวเลขของคุณออกมาเล็กน้อย (แม้ว่าอัตราความล้มเหลวในทางปฏิบัติจะสูงกว่าที่ผู้ผลิตระบุไว้) เนื่องจากอัตราข้อผิดพลาดจะได้รับต่อการอ่านบิตต่อไดรฟ์และไม่ใช่ต่อการอ่านบิตฉันคิดว่าส่วนที่คุณใช้ ^ bit_read นั้นผิด อาจให้รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการคำนวณราคาต่อรองเหล่านั้นหรือไม่ +1 สำหรับคำถามที่น่าสนใจ cs.cmu.edu/~bianca/fast07.pdf
ЯрославРахматуллин

เพิ่มข้อมูลและการคำนวณที่ตรวจสอบแล้ว
FarO

คำตอบ:



2

มีหลายไซต์และบทความที่พยายามตอบคำถามนี้

ไซต์นี้มีเครื่องคิดเลขสำหรับ RAID 0, 5, 10/50/60 ระดับ

บทความวิกิพีเดียเกี่ยวกับระดับ RAIDมีส่วนเกี่ยวกับอัตราความล้มเหลว RAID 0 และ RAID 1

RAID 0 :

ความน่าเชื่อถือของชุด RAID 0 ที่ระบุเท่ากับความน่าเชื่อถือโดยเฉลี่ยของแต่ละดิสก์หารด้วยจำนวนดิสก์ในชุด:

นั่นคือความน่าเชื่อถือ (ที่วัดจากเวลาเฉลี่ยถึงความล้มเหลว (MTTF) หรือเวลาเฉลี่ยระหว่างความล้มเหลว (MTBF)) นั้นแปรผกผันกับจำนวนสมาชิกโดยประมาณดังนั้นจำนวนดิสก์สองชุดจึงมีความน่าเชื่อถือเท่ากับดิสก์เพียงแผ่นเดียว หากมีความน่าจะเป็น 5% ที่ดิสก์จะล้มเหลวภายในสามปีในดิสก์อาร์เรย์สองชุดความน่าจะเป็นนั้นจะเพิ่มขึ้นเป็น {P} (อย่างน้อยหนึ่งล้มเหลว) = 1 - {P} (ไม่ล้มเหลว) = 1 - (1 - 0.05) ^ 2 = 0.0975 = 9.75%

RAID 1 :

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



นอกจากนี้ฉันได้พบบทความบล็อกหลายบทความเกี่ยวกับเรื่องนี้รวมถึงบทความนี้ที่เตือนให้เราทราบถึงไดรฟ์ที่เป็นอิสระในระบบ (I ใน RAID) อาจไม่เป็นอิสระจากนั้น:

ทฤษฎีไร้เดียงสาคือถ้าฮาร์ดดิสก์ 1 มีความน่าจะเป็นของความล้มเหลว 1/1000 และดิสก์ 2 ก็เช่นกันดังนั้นความน่าจะเป็นที่จะเกิดความล้มเหลวทั้งคู่คือ 1 / 1,000,000 ที่ถือว่าความล้มเหลวเป็นอิสระทางสถิติ แต่พวกเขาไม่ได้ คุณไม่สามารถคูณความน่าจะเป็นแบบนั้นได้เว้นแต่ความล้มเหลวนั้นไม่ได้มีความสัมพันธ์กัน การสมมติว่าความเป็นอิสระผิดพลาดเป็นข้อผิดพลาดทั่วไปในการใช้ความน่าจะเป็นอาจเป็นข้อผิดพลาดที่พบบ่อยที่สุด

Joel Spolsky แสดงความคิดเห็นกับปัญหานี้ในพอดคาสต์ StackOverflow ล่าสุด เมื่อ บริษัท สร้าง RAID พวกเขาอาจหยิบดิสก์สี่หรือห้าตัวที่หลุดออกจากสายการประกอบเข้าด้วยกัน หากหนึ่งในดิสก์เหล่านี้มีข้อบกพร่องเล็กน้อยที่ทำให้เกิดความล้มเหลวหลังจากพูดว่าใช้งาน 10,000 ชั่วโมงเป็นไปได้ว่าพวกเขาทั้งหมดทำ นี่ไม่ใช่แค่ความเป็นไปได้ทางทฤษฎี บริษัท ต่างๆได้สังเกตดิสก์หลายชุดที่ล้มเหลวในเวลาเดียวกัน

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