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é des badblocks
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 à laquelle badblocks
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 vos badblocks
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, la badblocks
mémoire peut manquer. Si cela se produit, badblocks
échouera assez rapidement après son démarrage. Les considérations supplémentaires ici incluent les badblocks
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 pour badblocks
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:
- 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'
-p
option, 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 -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 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 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.