Le problème de la pourriture sur les disques durs est-il un problème réel? Que peut-on faire à ce sujet?

32

Un ami parle avec moi du problème de la pourriture de bits - bits sur les disques retournant au hasard, corrompant les données. Incroyablement rare, mais avec suffisamment de temps, cela pourrait être un problème et il est impossible à détecter.

Le lecteur ne considérerait pas qu'il s'agit d'un secteur défectueux et les sauvegardes penseraient simplement que le fichier a changé. Aucune somme de contrôle n'est utilisée pour valider l'intégrité. Même dans une configuration RAID, la différence serait détectée, mais il n'y aurait aucun moyen de savoir quelle copie miroir est correcte.

Est-ce un vrai problème? Et si oui, que peut-on faire à ce sujet? Mon ami recommande zfs comme solution, mais je ne peux pas imaginer écraser nos serveurs de fichiers au travail, mettre sous Solaris et zfs ..

scobi
la source
Je viens de recevoir une belle erreur SMART sur un vieux disque Seagate de 200 Go. Les morceaux, ils ont trop pourri :-( C'est six mois de moins que la garantie de 5 ans, donc je vais probablement me faire remplacer sans problème.
ThatGraemeGuy Le

Réponses:

24

Tout d’abord: votre système de fichiers n’a peut-être pas de sommes de contrôle, mais votre disque dur le possède lui-même. Il y a SMART, par exemple. Une fois qu'un peu trop a été retourné, l'erreur ne peut évidemment pas être corrigée. Et si vous êtes vraiment malchanceux, les bits peuvent changer de telle sorte que la somme de contrôle ne devienne pas invalide; alors l'erreur ne sera même pas détectée. Alors, des choses désagréables peuvent arriver; mais l'affirmation selon laquelle un basculement aléatoire va corrompre instantanément vos données est fausse.

Cependant, oui, lorsque vous mettez des milliards de bits sur un disque dur, ils ne resteront pas comme ça pour toujours; c'est un vrai problème! ZFS peut vérifier l'intégrité à chaque lecture de données. Ceci est similaire à ce que votre disque dur fait déjà lui-même, mais c'est une autre sauvegarde pour laquelle vous sacrifiez de l'espace. Vous augmentez ainsi la résilience contre la corruption des données.

Lorsque votre système de fichiers est suffisamment performant, la probabilité qu'une erreur se produise sans être détectée devient si faible que vous n'avez plus à vous en soucier et que vous pouvez décider d'inclure des sommes de contrôle dans le format de stockage de données utilisé. inutile.

De toute façon: non, ce n'est pas impossible à détecter .

Mais un système de fichiers en soi ne peut jamais garantir la récupération de chaque défaillance; ce n'est pas une balle en argent. Vous devez toujours avoir des sauvegardes et un plan / algorithme pour ce qu'il faut faire quand une erreur a été détectée.

nex
la source
Ok, selon wikipedia ( en.wikipedia.org/wiki/Error_detection_and_correction ), les disques durs modernes utilisent les CRC pour détecter les erreurs et essayer de les récupérer en utilisant la récupération d'erreurs de style de disque compact. C'est assez bien pour moi.
Scobi
1
Mais si le CRC est stocké au même endroit (secteur) que les données, cela ne sera d'aucune utilité pour tous les cas d'erreur. Par exemple, s'il y a une erreur de positionnement de la tête, les données risquent d'être écrites dans un secteur incorrect - mais avec une somme de contrôle correcte => vous ne pourrez pas détecter le problème. C'est pourquoi les sommes de contrôle dans ZFS sont stockées séparément des données qu'elles protègent.
knweiss
Est-ce que ZFS a une maintenance comme Windows a maintenant? En gros, cela réécrit les données régulièrement pour actualiser le codage magnétique.
TomTom
Les disques durs modernes n'utilisent pas de CRC, ils utilisent un code de Hamming très différent. C'est la même chose que la mémoire ECC utilise. Les erreurs de retournement d'un bit peuvent être corrigées, les erreurs de retournement de deux bits peuvent être détectées mais non corrigées, trois bits ou plus basculant et les données sont réellement endommagées. Dans tous les cas, il n'y a pas de remplacement pour les sauvegardes de données. ZFS et les autres systèmes de fichiers n'offrent pas une meilleure protection que le code de Hamming sur les plateaux d'un lecteur. Si les données sont endommagées, ZFS ne vous sauvegardera pas.
Jody Lee Bruchon
@ JodyLeeBruchon Vous avez une source sur le code Hamming utilisé principalement maintenant? La collecte d'informations que j'ai effectuée récemment a indiqué que les fabricants de lecteurs utilisent encore le CRC-RS. 1 2
Ian Schoonover, le
16

Oui, c'est un problème, principalement à cause de la taille croissante des disques. La plupart des disques SATA ont un taux URE (erreur de lecture non corrigible) de 10 ^ 14. Ou pour chaque 12 To de données lues de manière statistique, le fabricant du lecteur indique que celui-ci renverra un échec de lecture (vous pouvez normalement les rechercher dans les feuilles de spécifications du lecteur). Le lecteur continuera à fonctionner correctement pour toutes les autres parties du lecteur. Les disques Enterprise FC et SCSI ont généralement un taux URE de 10 ^ 15 (120 To) avec un petit nombre de disques SATA, ce qui contribue à le réduire.

Je n'ai jamais vu de disques s'arrêter de tourner exactement au même moment, mais un volume raid5 s'est heurté à ce problème (il y a 5 ans, avec des disques PATA grand public à 5 400 tr / min). Le disque tombe en panne, il est marqué comme mort et une reconstruction est effectuée sur le disque de secours. Le problème est que lors de la reconstruction, un deuxième lecteur est incapable de lire ce petit bloc de données. En fonction de qui fait le raid, le volume entier peut être mort ou tout simplement ce petit bloc peut être mort. En supposant que seul un bloc soit mort, si vous essayez de le lire, vous obtiendrez une erreur, mais si vous y écrivez, le lecteur le remappera à un autre emplacement.

Il existe plusieurs méthodes de protection: raid6 (ou équivalent), qui protège mieux contre la double panne de disque, d'autres sont des systèmes de fichiers sensibles à l'URA tels que ZFS, qui utilisent des groupes de raid plus petits, ce qui vous laisse statistiquement moins de risques de toucher le lecteur URE. Les limites (lecteurs de grande taille ou disques RAID5 plus petits), le nettoyage de disque et SMART aident également, mais ne constituent pas vraiment une protection en soi, mais sont utilisés en plus de l’une des méthodes ci-dessus.

Je gère près de 3 000 piles dans les tableaux, et ces derniers nettoient constamment les lecteurs à la recherche d’URC latentes. Et j'en reçois un flux assez constant (chaque fois qu'il en trouve un, il le répare avant la panne du disque et m'avertit), si j'utilisais raid5 au lieu de raid6 et que l'un des disques était complètement mort ... être en difficulté si elle frappe certains endroits.


la source
2
De quelles unités parlez-vous? "10 ^ 14" n'est pas un "taux".
Jay Sullivan
2
L'unité serait par exemple "10 ^ 14 bits lus par erreur", ce qui équivaut à 12 To lus par erreur.
Jo Liss
2
Et bien sûr, en gardant à l'esprit que le taux d'erreur est normalement indiqué en termes d'erreur de secteur complet par bit lu. Ainsi, lorsqu'un fabricant indique les taux URE à 10 ^ -14, cela signifie en réalité que la probabilité qu'un secteur quelconque lise au hasard une lecture URE est de 10 ^ -14 et si tel est le cas, le secteur entier devient illisible. Cela et le fait que ce sont des statistiques; dans le monde réel, les URE ont tendance à arriver par lots.
un CVn
9

Les disques durs ne codent généralement pas les bits de données sous forme de domaines magnétiques uniques - les fabricants de disques durs ont toujours été conscients que les domaines magnétiques pouvaient basculer et implémenter une détection et une correction des erreurs sur les lecteurs.

Si un bit bascule, le lecteur contient suffisamment de données redondantes pour qu'il puisse et sera corrigé à la prochaine lecture de ce secteur. Vous pouvez le voir si vous vérifiez les statistiques SMART sur le lecteur en tant que «taux d'erreur corrigible».

Selon les détails du lecteur, il devrait même être capable de récupérer plusieurs bits retournés dans un secteur. Il y aura une limite au nombre de bits retournés qui peuvent être corrigés en silence, et probablement une autre limite au nombre de bits retournés pouvant être détectée comme une erreur (même s'il n'y a plus assez de données fiables pour la corriger)

Tout cela s’ajoute au fait que les disques durs peuvent corriger automatiquement la plupart des erreurs au fur et à mesure, et peuvent détecter de manière fiable la plupart des autres. Vous devriez avoir un grand nombre d’erreurs de bits dans un même secteur, qui se sont toutes produites avant que ce secteur ne soit relu, et les erreurs devraient être telles que les codes de détection d’erreur interne les voient à nouveau comme des données valides, avant que aurait jamais un échec silencieux. Ce n'est pas impossible, et je suis sûr que les entreprises exploitant de très grands centres de données le constatent (ou plutôt, cela se produit et ne le voient pas), mais ce n'est certainement pas un problème aussi grave que vous ne le pensez.

Ian Clelland
la source
2
En fait, j’ai régulièrement des erreurs de type "pourriture de bits" (que je lis très peu), que le système récupère en silence (de manière incorrecte). Si au moins il me notifiait qu'il y avait du bit-rot, je pourrais relire les données pour les récupérer avant qu'elles ne deviennent irrécupérables; et si irrécupérable, je serais capable de le comparer à l'autre disque dur.
Alex
Alex, veuillez vérifier vos données HDD SMART et la mémoire vive du système pour vous assurer qu'aucun autre problème ne provoque la corruption. La pourriture des bits et la corruption aléatoire sont extrêmement rares, il se peut donc que quelque chose d’autre se passe sur votre machine.
Brian D.
@BrianD. L'un des problèmes était que je conservais les disques durs à l'intérieur de leurs matériaux d'emballage (isolés); cela faisait chauffer les disques durs à plus de 60 ° C pendant les jours de travail. Cela vous semble-t-il une raison légitime pour laquelle une pourriture de bits aurait pu se produire?
Alex
Ce n'est certainement pas recommandé, car la plupart des disques durs comportent de petits trous d'aération qui ne doivent pas être recouverts pour fonctionner correctement. Que votre problème soit bit-rot ou autre chose, je lancerais un diagnostic complet sur le PC pour vérifier que tout fonctionne correctement.
Brian D.
4

Les disques durs modernes (depuis 199x) ont non seulement des sommes de contrôle, mais également ECC, qui peuvent détecter et corriger assez peu de pourriture "aléatoire". Voir: http://en.wikipedia.org/wiki/SMART .

Par ailleurs, certains bogues dans les microprogrammes et les pilotes de périphérique peuvent également corrompre les données dans de rares occasions (sinon le contrôle de la qualité l’attaquerait), ce qui serait difficile à détecter si vous n’avez pas de sommes de contrôle de niveau supérieur. Les premiers pilotes de périphérique pour les cartes SATA et NIC contenaient des données corrompues sous Linux et Solaris.

Les sommes de contrôle ZFS visent principalement les bogues des logiciels de niveau inférieur. Les systèmes de stockage / de base de données plus récents comme Hypertable disposent également de sommes de contrôle pour chaque mise à jour afin de se protéger contre les bogues dans les systèmes de fichiers :)

obecalp
la source
3

Théoriquement, cela est préoccupant. En pratique, cela fait partie de la raison pour laquelle nous conservons les sauvegardes enfant / parent / grand parent. Les sauvegardes annuelles doivent être conservées pendant au moins cinq ans, OMI, et si vous pensez que cela remonte plus loin, le fichier n’est évidemment pas si important.

À moins que vous ayez affaire à des éléments qui pourraient potentiellement liquéfier le cerveau de quelqu'un , je ne suis pas sûr que le rapport risque / récompense est tout à fait à la mesure du changement des systèmes de fichiers.

Kara Marfia
la source
1
Je ne vois pas en quoi les sauvegardes enfant / parent / grand-parent sont utiles. Il n'y a aucun moyen de savoir avec ce système si un bit est inversé parce qu'un utilisateur avait l'intention de le changer ou si le lecteur l'a fait lui-même. Pas sans une somme de contrôle quelconque.
Scobi
Avoir plusieurs sauvegardes ne vous aidera pas si vous ne savez pas que les données qu'elles contiennent sont bonnes. Vous pouvez contrôler manuellement vos fichiers, mais ZFS en fait beaucoup plus automatiquement et facilite la gestion du système de fichiers.
Amok
1
Des sauvegardes remontant à plus d'une semaine / mois augmentent vos chances d'avoir une bonne copie du fichier. J'aurais probablement pu être plus clair à ce sujet.
Kara Marfia
1
Le problème est: comment savez-vous que vous avez une mauvaise copie? Et comment savoir quelle copie sauvegardée est la bonne? De manière automatisée.
Scobi
J'ai vu peut-être un fichier tous les deux ou trois ans tomber dans la corruption qui peut être due à la pourriture, mais je souffre peut-être du syndrome des petits poissons. Je peux comprendre que les sauvegardes soient inutiles et je les supprimerai si c'est offensant. C'était du temps bien passé à lire les autres réponses, peu importe. ;)
Kara Marfia Le
2

Oui c'est un problème.

C'est l'une des raisons pour lesquelles RAID6 est maintenant en vogue (l'augmentation de la taille des disques durs augmente le temps nécessaire à la reconstruction d'un tableau). Avoir deux blocs de parité permet une sauvegarde supplémentaire.

Les systèmes RAID effectuent maintenant également un nettoyage RAID qui lit périodiquement les blocs de disque, vérifie les parités et les remplace si un bloc s'avère défectueux.

Matt Rogish
la source
Attention, l'intégrité des données n'est pas une caractéristique de tous les systèmes RAID.
duffbeer703
1
Avec des disques en téraoctets, il y a tellement de bits qui partagent le destin et la zone de stockage physique d'un bit est si petite que ce problème devient plus important. Dans le même temps, la probabilité d'échec augmente tellement avec les lecteurs de téraoctets que RAID6 ne suffit pas, sauf si vous mettez beaucoup de lecteurs dans le pool, par exemple 8 ou plus. Avec un plus petit nombre de disques, il est préférable d’utiliser une bande de miroirs appelée RAID 10. RAID 6 (raidz2) et RAID 10 (zpool crée le miroir mypool c0t1d0 c0t2d0 miroir c0t3d0 c0t4d0) sont possibles sur ZFS.
Michael Dillon
RAID ne peut pas dire quelles données sont bonnes ou non, alors il ne peut pas réparer les erreurs, il peut simplement les détecter.
Amok
Amuck: Pas dans le cadre de la "norme RAID" en soi, mais des systèmes RAID avancés (firmwares, etc.) le font
Matt Rogish
@ Michael Dillion - La fiabilité de RAID6 n'augmente pas avec l'augmentation du nombre de disques. Pour toutes les données, il n'y a que les données d'origine + 2 parité. L'augmentation du nombre de lecteurs est pire pour la fiabilité, car elle augmente le taux de défaillance possible des lecteurs sans augmenter la redondance des données. La seule raison d'augmenter le nombre de lecteurs, est d'augmenter la taille de votre stockage disponible.
Brian D.
1

En ce qui concerne la déclaration du PO sur le RAID, ne pas comprendre quelles données sont bonnes ou mauvaises.

Les contrôleurs RAID utilisent au minimum les bits de parité (impair / pair) sur chaque bande de données. Ceci est pour tout; les bandes de données sur disque et les bandes de données de parité (sauvegarde).

Cela signifie que, quel que soit le type de RAID doté de la redondance (RAID 5/6), le contrôleur peut savoir avec précision si la bande de données d'origine a été modifiée, ainsi que si la bande de données de redondance a été modifiée.

Si vous introduisez une deuxième bande redondante telle que RAID6, vous devez disposer de 3 bandes de données, sur trois disques différents endommagés, qui correspondent toutes aux mêmes données de fichier. Rappelez-vous que la plupart des systèmes RAID utilisent des bandes de données relativement petites (128 ko ou moins), de sorte que les chances que le "bit rot" s'aligne sur le même fichier de 128 ko, du même fichier, sont pratiquement impossibles.

Brian D.
la source
0

C'est un problème du monde réel, oui, mais la question est de savoir si vous devriez vous en préoccuper ou non.

Si vous ne disposez que d'un disque dur plein d'images, l'effort ne vaut peut-être pas la peine. C'est plein de données scientifiques importantes, ce pourrait être un autre genre d'histoire, vous avez eu l'idée.

Marc Stürmer
la source