Formel zur Berechnung der Wahrscheinlichkeit eines nicht behebbaren Lesefehlers während der RAID-Wiederherstellung

5647
FarO

Ich möchte die Zuverlässigkeit verschiedener RAID-Systeme mit Laufwerken (URE / Bit = 1e-14) oder Enterprise (URE / Bit = 1e-15) vergleichen. Die Formel für die Erfolgswahrscheinlichkeit eines Wiederaufbaus (Ignorieren mechanischer Probleme, die ich später berücksichtigen werde) ist einfach:

error_probability = 1 - (1-per_bit_error_rate) ^ bit_read

Es ist wichtig zu wissen, dass dies die Wahrscheinlichkeit ist, MINDESTENS einen URE zu erhalten, nicht unbedingt nur einen.

Nehmen wir an, wir wollen 6 TB nutzbaren Speicherplatz. Wir können es mit bekommen:

  • RAID1 mit 1 + 1 Festplatten mit jeweils 6 TB. Während des Neuaufbaus lesen wir 1 Diskette mit 6 TB zurück. Das Risiko ist: 1- (1-1e-14) ^ (6e12 * 8) = 38% für Consumer oder 4,7% für Enterprise-Laufwerke.

  • RAID10 mit 2 + 2 Festplatten mit jeweils 3 TB. Während des Umbaus lesen wir nur 1 Diskette mit 3 TB (die mit der ausgefallenen Platte gepaart!) Zurück und das Risiko ist geringer: 1- (1-1e-14) ^ (3e12 * 8) = 21% für Verbraucher oder 2,4% für Verbraucher Unternehmenslaufwerke.

  • RAID5 / RAID Z1 mit 2 + 1 Festplatten mit jeweils 3 TB. Während des Neuaufbaus lesen wir 2 Festplatten mit je 3 TB zurück. Das Risiko ist: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% für Consumer- oder 4,7% oder Enterprise-Laufwerke.

  • RAID5 / RAID Z1 mit 3 + 1 Festplatten mit jeweils 2 TB (wird häufig von Benutzern von SOHO-Produkten wie Synologys verwendet). Während des Umbaus lesen wir 3 Festplatten mit jeweils 2 TB zurück. Das Risiko ist: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% für Consumer- oder 4,7% oder Enterprise-Laufwerke.

Das Berechnen des Fehlers für die Toleranz einzelner Laufwerke ist einfach. Schwieriger ist die Berechnung der Wahrscheinlichkeit bei Systemen, die tolerant für Ausfälle mehrerer Laufwerke sind (RAID6 / Z2, RAIDZ3).

Wenn nur der erste Datenträger zum Wiederherstellen verwendet wird und der zweite Datenträger von Anfang an erneut gelesen wird, ist die Fehlerwahrscheinlichkeit die oben berechnete Quadratwurzel (14,5% für Consumer-RAID5 2 + 1, 4,5% für Consumer) RAID1 1 + 2). Ich nehme jedoch an (zumindest in ZFS, dass volle Prüfsummen vorhanden sind!), Dass die zweite Parität / verfügbare Platte nur gelesen wird, wenn dies erforderlich ist, was bedeutet, dass nur wenige Sektoren benötigt werden: Wie viele UREs können möglicherweise auf der ersten Platte vorkommen? nicht viele, sonst würde die Fehlerwahrscheinlichkeit für Einscheibentoleranzsysteme sogar noch stärker steigen, als ich berechnet habe.

Wenn ich richtig liege, würde eine zweite Paritätsfestplatte das Risiko auf extrem niedrige Werte reduzieren.

Nebenbei bemerkt, es ist wichtig zu bedenken, dass Hersteller die URE-Wahrscheinlichkeit für Laufwerke der Consumer-Klasse aus Marketinggründen erhöhen (verkaufen Sie mehr Laufwerke der Enterprise-Klasse). Daher wird erwartet, dass selbst Festplatten der Consumer-Klasse 1E-15 URE / Bit-Lesevorgänge erreichen .

Einige Daten: http://www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

Die in Klammern angegebenen Werte (Enterprise-Laufwerke) gelten daher auch für Verbraucherlaufwerke. Und echte Enterprise-Laufwerke weisen eine noch höhere Zuverlässigkeit auf (URE / Bit = 1e-16).

In Bezug auf die Wahrscheinlichkeit von mechanischen Ausfällen sind sie proportional zur Anzahl der Festplatten und proportional zum Zeitaufwand für den Wiederaufbau.

12
Hi Olaf! Für mich scheint diese Frage etwas zu spezifisch für Computerhardware zu sein, um für [math.SE] geeignet zu sein, aber Sie könnten auf ihrer [Meta-Site] (http: //meta.math.stackexchange) nachfragen .com /) wenn Sie Ihre Frage haben möchten. Wenn dies der Fall ist, kennzeichnen Sie es erneut und wir migrieren es gerne für Sie! slhck vor 11 Jahren 1
Wie genau erreichen Sie bei RAID5 mit 3 Laufwerken eine URE-Wahrscheinlichkeit von 38%? Bei Verwendung von URE = 10 ^ 14, HDD = 3,5 * 1024 ^ 4 Byte erhalte ich 3,8% URE pro Laufwerk und 11,1% URE beim Wiederherstellen. Das heißt: 100 * (1- (1- (hdd / ure)) ^ 3). Ich denke, dass Ihre Zahlen etwas niedriger sind (obwohl die Ausfallrate in der Praxis höher ist als von den Herstellern angegeben). Da die Fehlerraten pro gelesenen Bits pro Laufwerk und nicht pro gelesenen Bits angegeben sind, denke ich, dass der Teil, in dem Sie ^ bit_read verwenden, falsch ist. Geben Sie vielleicht genauer an, wie Sie diese Quoten berechnet haben. +1 für interessante Frage. http://www.cs.cmu.edu/~bianca/fast07.pdf Ярослав Рахматуллин vor 11 Jahren 2
Hinzugefügte Informationen und überprüfte Berechnungen. FarO vor 10 Jahren 0

2 Antworten auf die Frage

3
FarO
2
Brad Patton

Es gibt eine Reihe von Websites und Artikeln, die versuchen, diese Frage zu beantworten.

Diese Site verfügt über Rechner für RAID 0, 5, 10/50/60 Level.

Der Wikipedia-Artikel zu RAID-Levels enthält Abschnitte zu RAID 0- und RAID 1-Ausfallraten.

RAID 0 :

Die Zuverlässigkeit eines bestimmten RAID 0-Sets ist gleich der durchschnittlichen Zuverlässigkeit jeder Festplatte geteilt durch die Anzahl der Festplatten im Set:

Das heißt, die Zuverlässigkeit (gemessen an der mittleren Zeit bis zum Versagen (MTTF) oder der mittleren Zeit zwischen Ausfällen (MTBF)) ist in etwa umgekehrt proportional zur Anzahl der Mitglieder - also ist ein Satz von zwei Platten ungefähr halb so zuverlässig wie eine einzelne Platte. Bei einer Wahrscheinlichkeit von 5%, dass die Platte innerhalb von drei Jahren ausfallen würde, würde diese Wahrscheinlichkeit in einem Array mit zwei Festplatten auf erhöht werden (mindestens einer schlägt fehl) = 1 - (keiner schlägt fehl) = 1 - (1 - 0,05) ^ 2 = 0,0975 = 9,75%.

RAID 1 :

Ein vereinfachtes Beispiel ist ein RAID 1 mit zwei identischen Modellen eines Festplattenlaufwerks, mit einer Wahrscheinlichkeit von 5%, dass die Festplatte innerhalb von drei Jahren ausfällt. Vorausgesetzt, dass die Ausfälle statistisch unabhängig sind, beträgt die Wahrscheinlichkeit, dass beide Festplatten während der dreijährigen Lebensdauer ausfallen, 0,25%. Somit ist die Wahrscheinlichkeit, alle Daten zu verlieren, über einen Zeitraum von drei Jahren 0,25%, wenn mit dem Array nichts unternommen wird.



Ich habe auch mehrere Blogartikel zu diesem Thema gefunden, darunter auch diesen, der uns daran erinnert, dass die unabhängigen Laufwerke in einem System (das I in RAID) nicht so unabhängig sein können:

Die naive Theorie besagt, dass, wenn Festplatte 1 die Ausfallwahrscheinlichkeit von 1/1000 hat und Festplatten 2 dies ebenfalls tun, die Wahrscheinlichkeit, dass beide ausfallen, 1 / 1.000.000 beträgt. Dies setzt voraus, dass Fehler statistisch unabhängig sind, aber nicht. Sie können Wahrscheinlichkeiten nicht einfach so multiplizieren, wenn die Ausfälle nicht korreliert sind. Die Annahme, dass Unabhängigkeit falsch ist, ist ein häufiger Fehler beim Anwenden der Wahrscheinlichkeit, möglicherweise der häufigste Fehler.

Joel Spolsky äußerte sich im neuesten StackOverflow-Podcast zu diesem Problem. Wenn ein Unternehmen ein RAID erstellt, kann es sein, dass es vier oder fünf Festplatten beschafft, die zusammen vom Band kommen. Wenn eine dieser Festplatten einen kleinen Fehler aufweist, der dazu führt, dass sie nach etwa 10.000 Betriebsstunden ausfällt, ist dies wahrscheinlich der Fall. Dies ist nicht nur eine theoretische Möglichkeit. Unternehmen haben beobachtet, dass Disketten etwa zur gleichen Zeit ausfallen.