qu'est-ce qu'un URE exactement?

14

Je me suis penché récemment sur RAID5 contre RAID6 et je continue de voir que RAID5 n'est plus suffisamment sécurisé en raison des classements URE et de la taille croissante des disques. Fondamentalement, la plupart du contenu que j'ai trouvé dit qu'en RAID5, en cas de panne de disque, si le reste de votre baie est de 12 To, vous avez presque 100% de chances de rencontrer un URE et de perdre vos données.

Le chiffre de 12 To provient du fait que les disques sont évalués à 10 ^ 14 bits lus pour atteindre un URE.

Eh bien, il y a quelque chose que je n'obtiens pas ici. Une lecture est effectuée par la tête qui passe sur le secteur, ce qui peut faire échouer la lecture, c'est que la tête meurt ou que le secteur meurt. il se peut aussi que la lecture ne fonctionne pas pour une autre raison (je ne sais pas, comme une vibration qui faisait sauter la tête ...). alors, permettez-moi d'aborder les 3 situations:

  • la lecture ne fonctionne pas: ce n'est pas irrécupérable, non? il peut être réessayé.
  • la tête meurt: ce serait à coup sûr irrécupérable, mais, cela signifie aussi que le plateau complet (ou du moins le côté) serait illisible, ce serait plus alarmant, non?
  • le secteur meurt: ainsi totalement irrécupérable, mais ici je ne comprends pas pourquoi le disque de 4 To est évalué à 10 ^ 14 pour l'URE et le 8 To est aussi bien évalué à 10 ^ 14 pour l'URE, cela signifierait les secteurs sur le Les 8 To (probablement les nouvelles technologies) sont deux fois moins fiables que ceux des 4 To, cela n'a pas de sens.

Comme vous le voyez, sur les 3 points d'échec que j'identifie, aucun n'a de sens. Alors qu'est-ce qu'un URE exactement, je veux dire concrètement?

Y a-t-il quelqu'un qui peut m'expliquer cela?

Modifier 1

Après la première vague de réponses, il semble que la raison soit la défaillance du secteur. Une bonne chose est que le firmware, le contrôleur RAID et le système de fichiers OS + ont une procédure en place pour détecter tôt cela et réaffecter les secteurs.

Eh bien, je sais maintenant ce qu'est un URE (en fait, le nom est assez explicite :)).

Je suis toujours perplexe par les causes sous-jacentes et surtout la note stable qu'ils donnent.

Certains attribuent le secteur défaillant à des sources externes (ondes cosmiques), je suis alors surpris que le taux d'URE soit alors basé sur le nombre de lectures et non sur l'âge, les ondes cosmiques devraient en effet toucher plus un disque plus ancien simplement parce qu'il a été exposé de plus, je pense que c'est plus un fantasme bien que je puisse me tromper.

Vient maintenant l'autre raison liée à l'usure du disque et certains ont souligné que des densités plus élevées donnent des domaines magnétiques plus faibles, cela a tout à fait du sens et je suivrais l'explication. Mais comme il est bien expliqué ici , les nouveaux disques de tailles différentes sont obtenus principalement en mettant plus ou moins le même plateau (puis la même densité) dans le châssis du disque dur. Les secteurs sont les mêmes et tous devraient avoir la même fiabilité, donc les disques plus gros devraient alors avoir une note plus élevée que les disques plus petits, les secteurs étant moins lus, ce n'est pas le cas, pourquoi? Cela expliquerait cependant pourquoi les disques plus récents avec une technologie plus récente n'obtiennent pas de meilleure note que les anciens, simplement parce que le meilleur gain technologique est compensé par la perte due à une densité plus élevée.

Mèmes
la source
"URE et pour perdre vos données" afaik (et je peux me tromper), un URE signifie seulement que certaines données sont perdues, pas toutes - et vous pouvez réessayer la reconstruction après avoir frappé l'URE. Cela dit, le raid 10 ou zfs est un peu là où il en est de nos jours.
Sirex
1
"Les secteurs [sur les disques plus récents] sont à moitié aussi fiables que [sur les anciens], cela n'a pas de sens " Je ne suis pas sûr d'être d'accord. Au fur et à mesure que les zones magnétiques deviennent de plus en plus petites (ce qu'impliquent des densités de données plus élevées dans le même boîtier), il est très raisonnable qu'elles deviennent de plus en plus susceptibles d'être effacées accidentellement (émissions locales de rayons gamma, événement de rayons cosmiques, etc.). Cette sensibilité croissante des disques modernes est la raison pour laquelle aucun d'entre nous ne déploierait des disques non RAID dans tout ce qui compte, et l'une des raisons pour lesquelles la plupart d'entre nous ont abandonné le RAID-5.
MadHatter
Le vrai problème ici est que beaucoup trop de baies RAID transforment un seul URE en une erreur de l'ensemble de la baie. Un seul URE devrait entraîner la perte d'un seul bloc RAID. Laissez le système de fichiers déterminer si ce bloc était même en cours d'utilisation, il y a de fortes chances qu'il n'ait vraiment pas d'importance.
MSalters
1
@Memes non, les chiffres s'annulent. Deux fois plus de secteurs représentent également deux fois plus d'opportunités d'échec, donc le même taux d'erreur de lecture équivaut à la même fiabilité octet par octet. C'est pourquoi il est utilisé en premier lieu.
Hobbs

Réponses:

13

Un URE est une erreur de lecture irrécupérable. Quelque chose s'est produit qui a provoqué l'échec de la lecture d'un secteur que le lecteur ne peut pas réparer. L'électronique du lecteur est sophistiquée, elle ne transmettra les données que si elle a pu les lire correctement sur le disque. L'électronique du variateur essaiera plusieurs fois de lire un secteur défectueux avant de le déclarer endommagé.

Ce qui cause l'erreur de lecture - Je ne suis pas un expert ici (le bras oscille), mais le vieillissement de l'entraînement peut rendre les tolérances de fabrication pertinentes. Les domaines magnétiques peuvent s'affaiblir. Les rayons cosmiques peuvent causer des dommages, etc. C'est essentiellement un échec aléatoire.

Comment cela affecte-t-il RAID 5?

Un RAID 5 consiste en une répartition au niveau des blocs avec une parité distribuée. Les blocs de parité sont calculés en faisant XOR les bits des blocs de données ensemble. La fonction XOR dit fondamentalement, si tous les bits sont identiques, le résultat est 0 sinon il est 1. Lors du calcul de la parité, vous prenez les 2 premiers bits et les XOR puis XOR le résultat avec le bit suivant et ainsi de suite, par exemple

1010   data      or    1010 data
1100   data            1100 data
0110   parity          0011 data
                       0101 parity

La nature de la fonction XOR est telle que si un disque meurt et est remplacé, les données qui doivent y figurer peuvent être reconstruites à partir des disques restants.

1010  data       or    1010 data
      damaged               damaged
0101  parity           0011 data
                       0101 parity

Comme vous pouvez le voir, les données endommagées peuvent être reconstruites en XOR les données restantes et la parité.

Comment un URE affecte-t-il cela?

Un URE n'est significatif que lors d'une reconstruction RAID 5.

Lorsque vous reconstruisez un RAID 5, il y a une grande quantité de lecture à faire. Chaque bloc de données doit être lu afin de reconstruire les données sur le nouveau disque. Si un URE se produit, les données du bloc concerné ne peuvent pas être récupérées, vos données sont donc incohérentes. Pour des disques suffisamment grands dans un R5 suffisamment grand, le nombre de bits lus pour reconstruire le disque remplacé dépasse la valeur URE, par exemple 1 bit sur 10 ^ 14 lus.

user9517
la source
2
Un seul disque de 8 To a plus de 6 * 10 ^ 13 bits, donc avec seulement trois de ces disques dans un RAID-5, un URE est plus probable qu'improbable lors d'une reconstruction. Oh, et +1 de ma part.
MadHatter
3
L'affirmation (écrite dans la question et dans certaines réponses et commentaires, également dans d'autres questions, en fait partout sur Internet) qu'après avoir lu 12 To une erreur de lecture est presque certaine est fausse. Tu ne le crois pas? Non. Sachez le. En lisant 12 To (ou plus) sur l'un de vos disques et en constatant qu'aucune erreur ne s'est produite. Veuillez le faire et arrêter ce mythe. Je vous remercie.
David Balažic
1
@IanKemp Non, ce n'est pas le cas. Je l'ai essayé. Vous ne l'avez évidemment pas fait. (aussi, la meilleure note déplace juste un peu le mythe, pas de vrai changement)
David Balažic
1
@ DavidBalažic De toute évidence, la taille de votre échantillon d' un invalide l'intégralité de la théorie des probabilités! Je vous suggère de soumettre un document au Comité Nobel.
Ian Kemp
1
@IanKemp Si quelqu'un prétend que tous les nombres sont divisibles par 7 et que j'en trouve UN qui ne l'est pas, alors oui, une seule découverte peut invalider une théorie entière. BTW, toujours pas une seule personne n'a confirmé le mythe dans la pratique (par expérience), n'est-ce pas? Pourquoi devraient-ils, quand la croyance est plus que la connaissance ...
David Balažic
9

Alors qu'est-ce qu'un URE exactement, je veux dire concrètement?

Les disques durs ne stockent pas simplement les données que vous leur demandez. En raison de la diminution constante de la taille des domaines magnétiques et du fait que les disques durs stockent les données de manière analogique plutôt que binaire (le micrologiciel du disque dur reçoit un signal analogique du plateau, qui est traduit en signal binaire, et cette traduction est partie de la sauce secrète du fabricant), il y a pratiquement toujours un certain degré d'erreur dans une lecture, qui doit être compensé.

Pour garantir que les données peuvent être relues, le disque dur stocke également les données de correction d'erreurs avancées avec les données que vous lui avez demandé de stocker.

En fonctionnement normal, les données FEC sont suffisantes pour corriger les erreurs dans le signal lu sur le plateau. Le firmware peut alors reconstruire les données d'origine, et tout va bien. Il s'agit d'une erreur de lecture récupérable qui est exposée dans SMART en tant qu'attribut de taux d'erreur de lecture (attribut SMART 0x01) et / ou ECC matériel récupéré (attribut SMART 0xc3).

Si pour une raison quelconque le signal se dégrade en dessous d'un certain point, les données FEC ne sont plus suffisantes pour reconstruire les données d'origine. À ce stade, selon la théorie, le firmware sera toujours en mesure de détecter que les données ne peuvent pas être relues de manière fiable, mais il ne peut rien y faire. Si plusieurs de ces lectures échouent, le disque doit en quelque sorte informer le reste de l'ordinateur que la lecture n'a pas pu être effectuée avec succès. Il le fait en signalant une erreur de lecture irrécupérable . Cela augmente également le compteur des erreurs non corrigibles signalées (attribut SMART 0xbb).

Une erreur de lecture irrécupérable, ou URE, est simplement un rapport indiquant que pour une raison quelconque, les données de charge utile plus les données FEC étaient insuffisantes pour reconstruire les données stockées à l'origine.

Gardez à l'esprit que les taux d'URE sont statistiques . Vous ne rencontrerez aucun disque dur où vous pourrez lire exactement 10 ^ 14 (ou 10 ^ 15) - 1 bits avec succès, puis le bit suivant échoue. Il s'agit plutôt d'une déclaration du fabricant selon laquelle, en moyenne , si vous lisez (par exemple) 10 ^ 14 bits, à un moment donné au cours de ce processus, vous rencontrerez un secteur illisible.

En outre, à la suite des derniers mots ci-dessus, gardez à l'esprit que les débits URE sont donnés en termes de secteurs par bits lus . En raison de la façon dont les données sont stockées sur les plateaux, le disque ne peut pas dire quelle partie d'un secteur est mauvaise, donc si un secteur échoue à la vérification FEC, alors tout le secteur est considéré comme mauvais.

un CVn
la source
D'accord, cela semble indiquer que le secteur est défaillant. Je reçois totalement les statistiques, pas de souci. Je vois également ici que la fiabilité du secteur diminue à mesure que la densité augmente, mais cela n'a toujours pas de sens. Les disques plus récents ont généralement la même densité de plateau quelle que soit la taille physique, le 4 To aura juste moins de plateaux que le 6 To. Fondamentalement, les secteurs sont les mêmes, alors pourquoi le 8 To n'est pas en mesure d'atteindre statistiquement une valeur plus élevée, il y a deux fois plus de secteurs, donc chacun est lu deux fois moins (statistiquement). ils devraient alors échouer moins, non?
Memes
3

le secteur meurt: ainsi totalement irrécupérable, mais ici je ne comprends pas pourquoi le disque de 4 To est évalué à 10 ^ 14 pour l'URE et le 8 To est aussi bien évalué à 10 ^ 14 pour l'URE, cela signifierait les secteurs sur le Les 8 To (probablement les nouvelles technologies) sont deux fois moins fiables que ceux des 4 To, cela n'a pas de sens.

La spécification est généralement "en moyenne 1 erreur est détectée lors de la lecture de n bits", donc la taille du lecteur n'a pas d'importance. Cela importe si vous calculez votre risque qu'une erreur se produise sur votre lecteur et votre charge de travail, mais le fabricant déclare uniquement qu'il faut lire n bits pour trouver une erreur (en moyenne, non garanti).

Exemple: si vous achetez un lecteur de 1 To, vous devrez le lire environ 12 fois pour trouver une erreur, tandis qu'un lecteur de 8 To pourrait en faire l'expérience lors de la deuxième lecture - mais le nombre de bits lus est le même à chaque fois, donc la qualité des broches magnétiques est à peu près la même.

Ce que vous payez en augmentant le prix, ce sont d'autres facteurs, la capacité à entasser 8 To dans l'espace physique de 1 To, la consommation d'énergie considérablement réduite, moins de collisions lors du déplacement du lecteur, etc.

user121391
la source
0

Je pense que @Michael Kjörling a répondu clairement.

Lorsque le disque lit, la tête détecte la direction du domaine magnétique, puis envoie un signal électronique, qui est analogique. Nous supposons que le firmware devrait donner un 1 lorsqu'il reçoit une tension supérieure à 0,5 V, mais le champ magnétique est trop faible, de sorte que la tête envoie un signal avec 0,499 V uniquement, une erreur rencontrée. Nous avons besoin de la FEC pour corriger cette erreur.

Voici un exemple: une donnée de secteur doit être 0x0F23, nous la codons avec 0 * 1 + F * 2 + 2 * 3 + 3 * 4 = 0x30. nous obtenons maintenant la FEC et l'écrivons après le secteur. Lorsque nous lisons, nous lisons 0x0E23 et FEC 0x30, cela ne correspond pas. Après quelques calculs, nous avons constaté que ce devait être 0x0F23. Mais si nous avons 0x0E13 et 0x30, OU nous avons 0x0E23 et 0x32, nous ne pouvons pas calculer la bonne.

Cette note est si basse, peut-être à moins que le fabricant de disques durs ne lise les PBs jamais les données EBs pourraient obtenir une valeur stable. Ils donnent donc la valeur de probabilité: lorsque vous lisez des données 10 ^ 14 bits, vous pouvez les rencontrer une fois. Comme il s'agit d'une valeur de probabilité, vous avez peut-être rencontré après avoir lu seulement 1 données de secteur, peut-être que vous avez rencontré jusqu'à ce que vous lisiez des données de 50 To. Et cette valeur n'a rien à voir avec la capacité du disque, c'est juste une préoccupation fortuite avec la taille des données que vous lisez. Si vous lisez un disque de 4 To plein de données 6 fois, cette chance équivaut à lire un disque de 6 To 4 fois ou à lire un disque de 8 To 3 fois.

Harley
la source