Question 1:
En ce qui concerne l' -boption: 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 -best défini sur quelque chose de plus grand que la taille de votre bloc, l'intégrité des badblocksré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 -best réglé sur quelque chose de plus petit que la taille de bloc de votre lecteur, la vitesse de l' badblocksexé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' -coption 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 à laquelle badblockss'exécute. badblocksva (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 -cest trop faible, cela rendra vos badblocksexé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 -cest trop élevée, la badblocksmémoire peut manquer. Si cela se produit, badblockséchouera assez rapidement après son démarrage. Les considérations supplémentaires ici incluent les badblocksexécutions parallèles : si vous exécutezbadblockscontre 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 -cquelque chose de sensiblement élevé compte tenu de la mémoire disponible pour badblocksque 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 -wtest 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, badblockseffectue les opérations suivantes:
- Lisez les données existantes, totalisez-les (relisez si nécessaire) et stockez-les en mémoire.
- Écrivez un motif prédéterminé (remplaçable avec l'
-poption, mais généralement pas nécessaire) dans le bloc.
- Relisez le bloc, en vérifiant que les données lues sont identiques au modèle.
- Réécrivez les données d'origine sur le disque.
- Je ne suis pas sûr de cela, mais il relit probablement et vérifie également que les données d'origine ont été écrites avec succès et toujours des sommes de contrôle pour la même chose.
En -wmode destructif ( ), badblocksne 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 -wcela effacera toutes les données et laissera badblocksà 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 badblocksplusieurs fois sur les mêmes données, en utilisant l' -poption.
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.