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 ..
la source
Réponses:
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.
la source
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
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.
la source
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 :)
la source
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.
la source
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.
la source
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.
la source
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.
la source