Je souhaite utiliser des badblocks pour vérifier mes disques durs et apprécierais une clarification de son fonctionnement.
Quelqu'un peut-il expliquer les meilleures options à utiliser avec -b
et -c
? J'ai inclus leurs définitions à partir de la page de manuel, mais je ne sais pas si des tailles plus grandes seraient bénéfiques pour les disques modernes avec 64 Mo de RAM et 4k secteurs.
-b block-size Specify the size of blocks in bytes. The default is 1024.
-c number of blocks the number of blocks which are tested at a time. The default is 64
Deuxièmement, je voudrais savoir si le test en mode écriture est plus approfondi que le mode lecture-écriture non destructif?
Enfin, combien de réallocations de secteur SMART sont acceptables / les lecteurs avec un nombre de réallocations non nul doivent-ils être immédiatement remplacés?
linux
hard-drive
bad-blocks
Yoren
la source
la source
Réponses:
Question 1:
En ce qui concerne l'
-b
option: cela dépend de votre disque. Les grands disques modernes ont des blocs de 4 Ko, auquel cas vous devez les définir-b 4096
. Vous pouvez obtenir la taille de bloc à partir du système d'exploitation , et il est également généralement possible de l'obtenir soit en lisant les informations du disque sur l'étiquette, soit en recherchant le numéro de modèle du disque sur Google. Si-b
est défini sur quelque chose de plus grand que la taille de votre bloc, l'intégrité desbadblocks
résultats peut être compromise (c'est-à-dire que vous pouvez obtenir des faux négatifs: aucun bloc défectueux n'a été trouvé alors qu'il peut encore exister). Si-b
est réglé sur quelque chose de plus petit que la taille de bloc de votre lecteur, la vitesse de l'badblocks
exécution peut être compromise. Je ne suis pas sûr, mais il peut y avoir d'autres problèmes de configuration-b
à quelque chose de plus petit que la taille de votre bloc, car il ne vérifie pas l'intégrité d'un bloc entier, il peut toujours être possible d'obtenir des faux négatifs s'il est défini trop petit.L'
-c
option correspond au nombre de blocs à vérifier en même temps. Lecture / écriture par lots, en gros. Cette option n'affecte pas l'intégrité de vos résultats, mais elle affecte la vitesse à laquellebadblocks
s'exécute.badblocks
va (facultativement) écrire, puis lire, mettre en mémoire tampon, vérifier, répéter pour tous les N blocs comme spécifié par-c
. Si la valeur-c
est trop faible, cela rendra vosbadblocks
exécutions beaucoup plus longues que l'ordinaire, car la mise en file d'attente et le traitement d'une demande d'E / S séparée entraînent une surcharge, et le disque peut également imposer une surcharge supplémentaire par demande. Si la valeur-c
est trop élevée, labadblocks
mémoire peut manquer. Si cela se produit,badblocks
échouera assez rapidement après son démarrage. Les considérations supplémentaires ici incluent lesbadblocks
exécutions parallèles : si vous exécutezbadblocks
contre plusieurs partitions sur le même disque (mauvaise idée), ou contre plusieurs disques sur le même canal IO, vous voudrez probablement régler-c
quelque chose de sensiblement élevé compte tenu de la mémoire disponible pourbadblocks
que les exécutions parallèles ne se battent pas pour la bande passante IO et peut paralléliser d'une manière saine.Question 2:
Contrairement à ce que d'autres réponses indiquent, le
-w
test du mode d'écriture n'est pas plus ou moins fiable que le test de lecture-écriture non destructif, mais il est deux fois plus rapide, au prix d'être destructeur pour toutes vos données. Je vais vous expliquer pourquoi:En mode non destructif,
badblocks
effectue les opérations suivantes:-p
option, mais généralement pas nécessaire) dans le bloc.En
-w
mode destructif ( ),badblocks
ne fait que les étapes 2 et 3 ci-dessus. Cela signifie que le nombre d'opérations de lecture / écriture nécessaires pour vérifier l'intégrité des données est réduit de moitié. Si un bloc est mauvais, les données seront erronées dans l'un ou l'autre mode. Bien sûr, si vous vous souciez des données stockées sur votre lecteur, vous devez utiliser le mode non destructif, car-w
cela effacera toutes les données et laisserabadblocks
à la place les modèles écrits sur le disque.Mise en garde: si un bloc va mal, mais n'est pas encore complètement parti, certaines paires de vérification en lecture / écriture peuvent fonctionner, et d'autres non. Dans ce cas, le mode non destructif peut vous donner une indication plus fiable de la "fragilité" d'un bloc, car il effectue deux ensembles de vérification en lecture / écriture (peut-être - voir la puce à l'étape 4). Même si le mode non destructif est plus fiable de cette manière, il n'est plus fiable que par coïncidence . La bonne façon de vérifier les blocs qui ne sont pas entièrement mauvais mais ne peuvent pas supporter plusieurs opérations de lecture / écriture est de s'exécuter
badblocks
plusieurs fois sur les mêmes données, en utilisant l'-p
option.Question 3:
Si SMART réaffecte des secteurs, vous devriez probablement envisager de remplacer le lecteur dès que possible. Les disques qui perdent quelques secteurs ne les perdent pas toujours , mais la cause est généralement un disque très utilisé qui devient magnétiquement pâteux, ou des têtes / moteurs défaillants entraînant des lectures / écritures inexactes ou échouées. La décision finale dépend de vous, bien sûr: en fonction de la valeur des données sur le disque et de la fiabilité dont vous avez besoin des systèmes que vous utilisez, vous pouvez décider de le maintenir. J'ai des disques avec des blocs défectueux connus qui tournent avec des avertissements SMART depuis des années dans mon serveur de fichiers, mais ils sont sauvegardés selon un calendrier tel que je puisse gérer une panne totale sans trop de peine.
la source
-b
défaut1024
? Cela me semble un peu bizarre. Pourquoi ne pas512
?ext2
. badblocks fait partie de e2fsprogs et était à l'origine destiné à remplir la liste des blocs défectueux d'un système de fichiers ext2. Vous devez l'exécuter avec la même taille de bloc que le FS pour obtenir les nombres au bon format pour mkfs.ext2. TL; DR: raisons historiques qui ne devraient pas vous préoccuper.1) Si votre disque moderne utilise une taille de secteur autre que 512b - alors vous devez définir cette taille avec l'
-b
option (ie-b 4096
). Sans cette option, votre vérification se déroulera beaucoup plus lentement car chaque secteur réel sera essayé plusieurs fois (8 fois dans le cas du secteur 4k). Aussi, comme mentionné Olivier Dulac dans le commentaire de la question -block is indeed 1 block, and not 1/2 or 1/4th or even 2 (or more) blocks.
L'option
-c
implique le nombre de secteurs essayés à la fois. Cela pourrait avoir une certaine implication sur les performances et la valeur de ces performances pourrait dépendre du modèle de disque spécifique.2)
write-mode test
- À ma connaissance, il ne vérifiera que si vous avez une erreur matérielle ou une erreur logicielle (aka Silent Data Degradation, bit rot, decay of storage media, UNC sector)3) Je ne ferais pas confiance au rapport SMART à un moment donné. Il est plus important de savoir comment les valeurs changent au fil du temps. Voici également une recherche de Google Failure Trends sur une grande population de lecteurs de disque et en voici une discussion . Voici une citation de la recherche:
Concernant les mentions par d'autres pour le remplacement de disque - vous pouvez ne pas avoir de problème de disque dur mais de dégradation des données silencieuses (pourriture des bits, dégradation des supports de stockage, secteurs UNC). Dans ce cas, il n'a aucun sens de remplacer le disque, mais il est plutôt utile d'effectuer la lecture / écriture des mêmes données sur le disque. Vous pouvez voir ici comment cela pourrait être résolu.
Si vous avez une erreur matérielle, vous pouvez essayer de repartitionner le lecteur de manière à ce que la zone défectueuse soit située hors des partitions. Pour moi, cette approche était utile et un tel mauvais disque a été utilisé pendant longtemps sans aucun problème.
la source
-b
défaut à 1024. Si votre disque utilise une taille de secteur autre que 1024, ce qui est assez courant en dehors des systèmes de fichiers ext2, vous devez le spécifier.Je laisserais -b et -c par défaut, sauf si vous avez une raison spécifique de les modifier. Vous pourriez probablement définir -b sur 4096 si votre disque a des tailles de bloc de 4k.
Je suggère que vous exécutiez d'abord des badblocks avec un test rw non destructif. S'il trouve des secteurs défectueux, le disque est cassé et doit être remplacé. S'il ne trouve PAS de blocs défectueux sur les éléments non destructifs, mais que vous suspectez qu'il contient des blocs défectueux, exécutez le test rw destructif.
Je remplacerais le lecteur dès que les secteurs sont remplacés.
la source
Ce genre de différence entre le mode de lecture des blocs défectueux (non destructif) et le mode d'écriture (destructif):
Un lecteur ne réalloue un secteur défectueux qu'en cas d'échec d'écriture. Les erreurs de lecture des fichiers ne sont "corrigées" que lors d'une tentative de réécriture du fichier. Autrement. le mauvais bloc fait toujours partie du fichier en supposant que vous pourriez récupérer quelque chose. Les erreurs de lecture des tables de partition ne peuvent être "corrigées" qu'en exécutant des blocs défectueux en mode écriture et en recréant la partition
Ainsi, le mode lecture vous dira où sont les mauvais blocs mais ne peut rien y faire. Le mode d'écriture teste la santé de chaque secteur et entraînera la réallocation du disque sur un bloc défectueux mais au détriment de la destruction des données. Faites votre choix.
la source
Pour répondre à votre deuxième question sur les secteurs remappés, cela dépend. Je parle du contexte d'un utilisateur à domicile qui (occasionnellement) surveille ce genre de choses.
Voici deux situations que j'ai rencontrées. J'avais un RAID5 de 6 disques de 200 Go. Après une panne de courant qui a provoqué des lumières vacillantes, un lecteur a montré 14 secteurs remappés et a enregistré plusieurs erreurs. J'ai regardé le lecteur et aucune autre erreur n'a été enregistrée et le nombre de secteurs remappés est resté stable. J'ai conclu que le variateur avait souffert d'un transitoire de puissance et n'était pas défaillant autrement. J'ai continué à l'utiliser pendant des années. Le RAID5 d'origine a été retiré, mais j'ai deux de ces disques en service avec environ 10 ans d'alimentation en heures. Ils ont une poignée de secteurs remappés. J'utilise deux d'entre eux en miroir pour stocker les sauvegardes incrémentielles de sauvegarde de ma sauvegarde principale. De cette façon, la sauvegarde principale voit (principalement) des opérations de lecture et les écritures vont sur différents appareils. Si l'un de ces anciens disques tombe en panne, l'autre devrait continuer. Si les deux échouent, Je les remplace par autre chose et réexécute le script de sauvegarde. L'impact si l'un de ces disques tombe en panne est proche de zéro, donc je ne m'inquiète pas des secteurs remappés.
J'avais un disque dur de 2 To qui faisait partie d'une paire de lecteurs en miroir et qui a commencé à développer des secteurs remappés. Au début, c'était des dizaines, puis des centaines, puis des milliers. C'était sur une période de plusieurs années. L'autre disque de la paire est resté en bonne santé et, en fait, le dérivé lentement défaillant n'a pas été supprimé de la baie. Finalement, j'ai remplacé les deux disques par des disques de 6 To et le nombre croissant de secteurs remappés est devenu un problème. J'ai toujours le lecteur et il "fonctionne" toujours, même avec environ 4500 secteurs remappés. J'ai mis des disques comme celui-ci dans un système de test (en tant que membre RAID) pour voir ce qui se passe quand on meurt réellement. J'ai eu quelques occasions de travailler avec cela et en toutes circonstances, le remplacement s'est déroulé sans drame.
J'ai eu une panne de disque sur mon serveur de fichiers de sauvegarde principal. Il n'a produit aucun avertissement avancé, il a juste cessé de répondre aux commandes SATA. C'était un membre d'un ZFS RAIDZ2 et je l'ai remplacé sans aucun drame. En fait, sur mon serveur de test, j'ai remplacé les disques défectueux sans redémarrer ou redémarrer le serveur.
Encore un point à noter, j'ai des sauvegardes sur site et hors site de toutes les données importantes. Si un système est perdu, il y a deux copies des données ailleurs.
la source