badblocks vs SMART Extended Self Test


14

En quoi un balayage de surface complet en lecture / écriture par «badblocks» diffère-t-il de l' autotest SMART Extended intégré ?

Il semble que ce soient tous les deux des analyses de surface, alors pourquoi faut-il badblocks -vws3 jours pour tester un lecteur de 1 To, alors que SMART le fait en 2 heures et demie (du moins c'est le temps estimé que smartmon m'a donné)?


étant plus présent, avez-vous envisagé d'utiliser les badblocksparamètres "dernier bloc" "premier bloc" et d'effectuer les tests un peu par jour?
Aquarius Power

Réponses:


12

Le test de surface SMART est presque certainement une passe de lecture unique et certainement non destructive. Comme cela a été souligné, il est également interne au lecteur; à l'exception possible de données de contrôle mineures, aucune donnée n'est transmise à ou depuis l'hôte pendant le test.

En revanche, badblocks -weffectue quatre passes sur le lecteur, chacune avec une écriture et une lecture. Cela représente à lui seul une différence de 8 fois le temps pris pour le test, plus une latence de rotation. Puisqu'il s'agit d'un logiciel exécuté sur l'hôte, toutes ces données doivent être mélangées via l'interface disque vers la RAM et gérées par le logiciel (badblocks, dans notre cas).

Si nous prenons la pire latence de rotation de 1 × (le disque doit faire une révolution complète après avoir écrit les données afin de les relire, ce qui est à peu près ce que vous verrez si vous aimez les badblocks remplit d'abord l'ensemble disque dur, puis relisez le tout, plutôt que de faire des E / S une piste physique à la fois qui avec LBA est presque impossible), nous nous retrouvons avec le pire des cas (1 + 1) × 8 × = 16 × aussi longtemps que nécessaire pour terminer l'opération. 16 × 2,5 h = 40 h, ce qui correspond certainement à vos chiffres et suppose toujours que nous ne traitons que du stockage de données sur le disque et que cela se produit aussi rapidement que le disque peut supporter des E / S séquentielles.


5

Les tests courts et longs SMART effectuent uniquement des lectures (localisées) des secteurs; il est également non destructif pour les données. Les données lues sont uniquement transférées vers le contrôleur embarqué, pas vers le PC hôte. L'interface SATA est essentiellement inactive pendant le test et le voyant d'activité du disque dur sur le PC ne doit pas s'allumer.

badblocks -vwsdemande un secteur d'écriture, puis lit et vérifie l'opération. Chaque écriture et lecture ajoute une révolution de disque par opération plus du temps pour les transferts de données sur l'interface SATA plus le traitement du PC hôte. Le voyant d'activité du disque dur doit être allumé la plupart du temps.


0

https://wiki.archlinux.org/index.php/badblocks#Comparisons_with_Other_Programs

La mise en garde ici est que certains fabricants de programmes de test n'impriment pas les résultats de test complets et autorisent un certain nombre de secteurs défectueux à ne dire que s'ils réussissent ou non. Les programmes des fabricants, cependant, sont généralement plus rapides que les mauvais blocs, parfois assez.

Utilisez donc les tests approfondis destructifs de badblocks lorsque cela est possible.

Edit: Par destructeur, je voulais dire que de nombreux disques durs modernes ont une charge de travail de 180 To / an, ce qui signifie que sur un disque dur de 12 To, vous prendriez 96 To de charge de travail, si vous exécutez l'ensemble complet de tests de blocs défectueux juste pour le tester. Cela pourrait être de 48 To si, par charge de travail, cela signifie uniquement des écritures, ce qui pourrait être le cas, mais ce n'est pas bien documenté.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.