Formule pour calculer la probabilité d'erreur de lecture irrécupérable pendant la reconstruction RAID

12

Je veux comparer la fiabilité de différents systèmes RAID avec des disques grand public (URE / bit = 1e-14) ou d'entreprise (URE / bit = 1e-15). La formule pour avoir la probabilité de réussite d'une reconstruction (en ignorant les problèmes mécaniques, que je prendrai en compte plus tard) est simple:

error_probability = 1 - (1-per_bit_error_rate) ^ bit_read

Il est important de se rappeler qu'il s'agit de la probabilité d'obtenir AU MOINS un URE, pas nécessairement un seul.

Supposons que nous voulons un espace utilisable de 6 To. Nous pouvons l'obtenir avec:

  • RAID1 avec 1 + 1 disques de 6 To chacun. Pendant la reconstruction, nous relisons 1 disque de 6 To et le risque est: 1- (1-1e-14) ^ (6e12 * 8) = 38% pour les consommateurs ou 4,7% pour les disques d'entreprise.

  • RAID10 avec 2 + 2 disques de 3 To chacun. Pendant la reconstruction, nous relisons seulement 1 disque de 3 To (celui jumelé avec celui qui a échoué!) Et le risque est plus faible: 1- (1-1e-14) ^ (3e12 * 8) = 21% pour le consommateur ou 2,4% pour lecteurs d'entreprise.

  • RAID5 / RAID Z1 avec 2 + 1 disques de 3 To chacun. Pendant la reconstruction, nous relisons 2 disques de 3 To chacun et le risque est le suivant: 1- (1-1e-14) ^ (2 * 3e12 * 8) = 38% pour les disques grand public ou 4,7% ou les disques d'entreprise.

  • RAID5 / RAID Z1 avec 3 + 1 disques de 2 To chacun (souvent utilisé par les utilisateurs de produits SOHO comme Synologys). Pendant la reconstruction, nous relisons 3 disques de 2 To chacun et le risque est: 1- (1-1e-14) ^ (3 * 2e12 * 8) = 38% pour les disques grand public ou 4,7% ou les disques d'entreprise.

Le calcul de l'erreur pour la tolérance d'un seul disque est facile, plus difficile est de calculer la probabilité avec des systèmes tolérants aux pannes de plusieurs disques (RAID6 / Z2, RAIDZ3).

Si seul le premier disque est utilisé pour la reconstruction et que le second est relu depuis le début dans le cas ou un URE, alors la probabilité d'erreur est celle calculée au-dessus de la racine carrée (14,5% pour le consommateur RAID5 2 + 1, 4,5% pour le consommateur RAID1 1 + 2). Cependant, je suppose (au moins dans ZFS qui a des sommes de contrôle complètes!) Que le deuxième disque de parité / disponible est en lecture seule là où cela est nécessaire, ce qui signifie que seuls quelques secteurs sont nécessaires: combien d'URE peuvent éventuellement se produire sur le premier disque? pas beaucoup, sinon la probabilité d'erreur pour les systèmes de tolérance à disque unique monterait en flèche encore plus que ce que j'avais calculé.

Si je ne me trompe pas, un deuxième disque de parité réduirait pratiquement le risque à des valeurs extrêmement basses.

Mis à part la question, il est important de garder à l'esprit que les fabricants augmentent la probabilité d'URE pour les disques grand public pour des raisons de marketing (vendent plus de disques de classe entreprise), donc même les disques durs de classe grand public devraient atteindre 1E-15 URE / bit en lecture .

Quelques données: http://www.high-rely.com/hr_66/blog/why-raid-5-stops-working-in-2009-not/

Les valeurs que j'ai fournies entre parenthèses (disques d'entreprise) s'appliquent donc également aux disques grand public. Et les vrais disques d'entreprise ont une fiabilité encore plus élevée (URE / bit = 1e-16).

Concernant la probabilité de pannes mécaniques, elles sont proportionnelles au nombre de disques et proportionnelles au temps nécessaire à la reconstruction.

FarO
la source
1
Salut Olaf! En ce qui me concerne, cette question semble un peu trop spécifique au matériel informatique pour convenir aux mathématiques , mais vous pouvez demander sur leur méta-site s'ils aimeraient avoir votre question. Si c'est le cas, signalez à nouveau et nous serons heureux de le migrer pour vous!
slhck
2
Comment arrivez-vous exactement à 38% de probabilité URE pour RAID5 avec 3 disques? En utilisant URE = 10 ^ 14, HDD = 3,5 * 1024 ^ 4 octets, j'obtiens 3,8% URE par lecteur et 11,1% pour URE lors de la reconstruction. Soit: 100 * (1- (1- (hdd / ure)) ^ 3). Je pense que vos chiffres sont un peu décalés (bien que le taux d'échec pratique soit plus élevé que ce qui est indiqué par les fabricants). Puisque les taux d'erreur sont donnés par bits lus par lecteur et non par bits lus, je pense que la partie où vous utilisez ^ bit_read est fausse. Peut-être donner plus de détails sur la façon dont vous avez calculé ces cotes? +1 pour une question intéressante. cs.cmu.edu/~bianca/fast07.pdf
Ярослав Рахматуллин
Ajout d'informations et vérification des calculs.
FarO

Réponses:

2

Il existe un certain nombre de sites et d'articles qui tentent de répondre à cette question.

Ce site dispose de calculatrices pour les niveaux RAID 0, 5, 10/50/60.

L'article de wikipedia sur les niveaux RAID contient des sections sur les taux d'échec RAID 0 et RAID 1.

RAID 0 :

La fiabilité d'un ensemble RAID 0 donné est égale à la fiabilité moyenne de chaque disque divisée par le nombre de disques de l'ensemble:

C'est-à-dire que la fiabilité (mesurée par le temps moyen avant défaillance (MTTF) ou le temps moyen entre pannes (MTBF)) est à peu près inversement proportionnelle au nombre de membres - donc un ensemble de deux disques est à peu près moitié moins fiable qu'un seul disque. S'il y avait une probabilité de 5% que le disque tombe en panne dans les trois ans, dans une matrice à deux disques, cette probabilité serait augmentée à {P} (au moins un échoue) = 1 - {P} (aucun échoue) = 1 - (1 - 0,05) ^ 2 = 0,0975 = 9,75%.

RAID 1 :

À titre d'exemple simplifié, considérons un RAID 1 avec deux modèles identiques d'unité de disque, chacun avec une probabilité de 5% que le disque tombe en panne dans les trois ans. À condition que les défaillances soient statistiquement indépendantes, la probabilité de défaillance des deux disques au cours de la durée de vie de trois ans est de 0,25%. Ainsi, la probabilité de perdre toutes les données est de 0,25% sur une période de trois ans si rien n'est fait sur la matrice.



J'ai également trouvé plusieurs articles de blog sur ce sujet, y compris celui-ci qui nous rappelle que les lecteurs indépendants d'un système (le I en RAID) peuvent ne pas être indépendants après tout:

La théorie naïve est que si le disque dur 1 a une probabilité de défaillance de 1/1000 et le disque 2 aussi, la probabilité de défaillance des deux est de 1/1 000 000. Cela suppose que les échecs sont statistiquement indépendants, mais ils ne le sont pas. Vous ne pouvez pas simplement multiplier des probabilités comme ça à moins que les échecs ne soient pas corrélés. Supposer à tort l'indépendance est une erreur courante dans l'application de la probabilité, peut-être l'erreur la plus courante.

Joel Spolsky a commenté ce problème dans le dernier podcast StackOverflow. Lorsqu'une entreprise crée un RAID, elle peut récupérer quatre ou cinq disques qui sont sortis ensemble de la chaîne de montage. Si l'un de ces disques présente un léger défaut qui entraîne sa défaillance après 10 000 heures d'utilisation, il est probable qu'ils le soient tous. Ce n'est pas seulement une possibilité théorique. Les entreprises ont observé des lots de disques défaillant tous à la même période.

Brad Patton
la source