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

12

Ich möchte die Zuverlässigkeit verschiedener RAID-Systeme entweder mit Consumer-Laufwerken (URE / Bit = 1e-14) oder mit Enterprise-Laufwerken (URE / Bit = 1e-15) vergleichen. Die Formel für die Wahrscheinlichkeit eines erfolgreichen Wiederaufbaus (ohne Berücksichtigung 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 bedenken, dass dies die Wahrscheinlichkeit ist, MINDESTENS einen URE zu erhalten, nicht notwendigerweise nur einen.

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

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

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

  • RAID5 / RAID Z1 mit 2 + 1 Festplatten mit jeweils 3 TB. Während der Wiederherstellung werden 2 Festplatten mit jeweils 3 TB zurückgelesen, und das Risiko ist: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% für Consumer- oder 4,7% für 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 der Wiederherstellung werden 3 Festplatten mit jeweils 2 TB zurückgelesen, und das Risiko ist: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% für Consumer- oder 4,7% für Enterprise-Laufwerke.

Die Berechnung des Fehlers für die Toleranz einzelner Festplatten ist einfach, schwieriger ist die Berechnung der Wahrscheinlichkeit bei Systemen, die für den Ausfall mehrerer Festplatten tolerant sind (RAID6 / Z2, RAIDZ3).

Wenn nur die erste Festplatte für den Neuaufbau verwendet wird und die zweite für den Fall eines URE von Anfang an erneut gelesen wird, ist die Fehlerwahrscheinlichkeit diejenige, die über der Quadratwurzel berechnet wurde (14,5% für Consumer-RAID5 2 + 1, 4,5% für Consumer RAID1 1 + 2). Ich nehme jedoch an (zumindest in ZFS mit vollständigen Prüfsummen!), Dass die zweite Parität / verfügbare Festplatte nur bei Bedarf gelesen wird, was bedeutet, dass nur wenige Sektoren benötigt werden: Wie viele UREs können möglicherweise auf der ersten Festplatte auftreten? nicht viele, sonst würde die Fehlerwahrscheinlichkeit für Einscheiben-Toleranzsysteme noch mehr in die Höhe schnellen, als ich berechnet habe.

Wenn ich richtig liege, würde ein zweiter Paritätsdatenträger das Risiko praktisch auf extrem niedrige Werte senken.

Abgesehen davon ist zu berücksichtigen, dass Hersteller die URE-Wahrscheinlichkeit für Laufwerke der Consumer-Klasse aus Marketinggründen erhöhen (mehr Laufwerke der Enterprise-Klasse verkaufen). Daher wird auch für HDDs der Consumer-Klasse ein URE / Bit-Lesevorgang von 1E-15 erwartet .

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

Die Werte, die ich in Klammern angegeben habe (Enterprise-Laufwerke), gelten daher auch für Consumer-Laufwerke. Echte Enterprise-Laufwerke weisen eine noch höhere Zuverlässigkeit auf (URE / Bit = 1e-16).

In Bezug auf die Wahrscheinlichkeit mechanischer Ausfälle sind sie proportional zur Anzahl der Festplatten und proportional zur für die Wiederherstellung erforderlichen Zeit.

FarO
quelle
1
Hallo Olaf! Für mich scheint diese Frage ein wenig zu spezifisch für Computerhardware zu sein, um für Mathematik gut geeignet zu sein , aber Sie können sie auf ihrer Metasite fragen, ob sie Ihre Frage haben möchten. Wenn dies der Fall ist, melden Sie sich erneut und wir migrieren es gerne für Sie!
Slhck
2
Wie genau erreichen Sie eine 38% ige URE-Wahrscheinlichkeit für RAID5 mit 3 Laufwerken? Unter Verwendung von URE = 10 ^ 14, HDD = 3,5 * 1024 ^ 4 Bytes erhalte ich beim Neuaufbau 3,8% URE pro Laufwerk und 11,1% für URE. Das heißt: 100 * (1- (1- (hdd / ure)) ^ 3). Ich denke, Ihre Zahlen sind ein bisschen falsch (obwohl die praktische Fehlerrate höher ist als von den Herstellern angegeben). Da die Fehlerraten pro gelesenem Bit pro Laufwerk und nicht pro gelesenem Bit angegeben werden, denke ich, dass der Teil, in dem Sie ^ bit_read verwenden, falsch ist. Geben Sie vielleicht detaillierter an, wie Sie diese Quoten berechnet haben. +1 für interessante Frage. cs.cmu.edu/~bianca/fast07.pdf
Ярослав Рахматуллин
Zusätzliche Informationen und überprüfte Berechnungen.
FarO

Antworten:

2

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

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

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-Satzes entspricht der durchschnittlichen Zuverlässigkeit jedes Datenträgers geteilt durch die Anzahl der Datenträger im Satz:

Das heißt, die Zuverlässigkeit (gemessen an der mittleren Zeit bis zum Ausfall (MTTF) oder der mittleren Zeit zwischen Ausfällen (MTBF)) ist ungefähr umgekehrt proportional zur Anzahl der Mitglieder - ein Satz von zwei Festplatten ist also ungefähr halb so zuverlässig wie eine einzelne Festplatte. Bei einer Wahrscheinlichkeit von 5%, dass die Festplatte innerhalb von drei Jahren ausfällt, würde diese Wahrscheinlichkeit in einem Array mit zwei Festplatten auf {P} erhöht (mindestens eine fällt aus) = 1 - {P} (keine fällt aus) = 1 - (1 - 0,05) 2 = 0,0975 = 9,75%.

RAID 1 :

Betrachten Sie als vereinfachtes Beispiel ein RAID 1 mit zwei identischen Modellen eines Festplattenlaufwerks mit einer Wahrscheinlichkeit von jeweils 5%, dass die Festplatte innerhalb von drei Jahren ausfällt. Vorausgesetzt, die Ausfälle sind statistisch unabhängig, beträgt die Wahrscheinlichkeit, dass beide Festplatten während der dreijährigen Lebensdauer ausfallen, 0,25%. Daher beträgt die Wahrscheinlichkeit, alle Daten zu verlieren, über einen Zeitraum von drei Jahren 0,25%, wenn keine Änderungen am Array vorgenommen werden.



Außerdem habe ich mehrere Blog-Artikel zu diesem Thema gefunden, darunter diesen , der uns daran erinnert, dass die unabhängigen Laufwerke in einem System (das I in RAID) unter Umständen doch nicht so unabhängig sind:

Die naive Theorie besagt, dass die Wahrscheinlichkeit eines Ausfalls von Festplatte 1 1/1000 und von Festplatte 2 1/1000 000 beträgt. Das setzt voraus, dass Ausfälle statistisch unabhängig sind, aber nicht. Solche Wahrscheinlichkeiten können nicht einfach multipliziert werden, es sei denn, die Fehler sind nicht korreliert. Die falsche Annahme der Unabhängigkeit ist ein häufiger Fehler bei der Anwendung der Wahrscheinlichkeit, möglicherweise der häufigste Fehler.

Joel Spolsky hat dieses Problem im neuesten StackOverflow-Podcast kommentiert. Wenn ein Unternehmen ein RAID erstellt, greift es möglicherweise zu vier oder fünf Festplatten, die zusammen vom Band gelaufen sind. Wenn eine dieser Festplatten einen kleinen Defekt aufweist, der dazu führt, dass sie nach 10.000 Betriebsstunden ausfällt, ist es wahrscheinlich, dass dies alle tun. Dies ist nicht nur eine theoretische Möglichkeit. Unternehmen haben festgestellt, dass mehrere Festplatten gleichzeitig ausfallen.

Brad Patton
quelle