SMART-Test ne termine jamais

17

Lorsque vous exécutez des tests SMART à l'aide de smartmontools, ils ne terminent JAMAIS. J'obtiens toujours "Interrompu (réinitialisation de l'hôte.)" Sur divers systèmes et disques différents, y compris Debian dans x86 et ARM, OS X sur x64, avec des disques externes et internes. Même lorsqu'il est exécuté en mode captif avec des disques tous vides (mis à zéro avec dd).

Qu'est-ce que je fais mal?

Max Ried
la source
Vous ne faites rien de mal. C'est le matériel qui ne fonctionne pas
Ramhound
Est-il censé fonctionner du tout?
Max Ried
Oui, cela devrait fonctionner
Ramhound
@MaxRied, êtes-vous en train de dire que vous avez essayé cela sur de nombreux ordinateurs différents avec des journaux de disques différents, et que vous n'avez toujours pas vu de fin, même pour les disques que vous savez être en bonne santé à partir d'un outil d'analyse SMART différent?
Frank Thomas
@FrankThomas Oui.
Max Ried

Réponses:

14

Lorsque le lecteur ne gère aucune activité d'entrée / sortie pendant le test, il peut se mettre en veille, ce qui soulève la Interrupted (host reset)condition. Essayez de lire à partir du disque à intervalles appropriés:

while true; do dd if=/dev/disk1 of=/dev/null count=1; sleep 60; done

(remplacez /dev/disk1par le périphérique approprié; lit un secteur de ce périphérique toutes les 60 secondes jusqu'à ce que vous frappiez ctrl-c)

Cela m'a aidé dans mon environnement: OS X 10.6.8, lecteur connecté par USB WD Elements, pilote SAT-SMART 0.8.

Un test captif devrait théoriquement garder le lecteur en ligne. Pourtant, la commande matérielle envoyée par smartctlpeut expirer avant la fin du test, ce qui oblige le noyau à réinitialiser le lien et se retrouve dans la même situation que ci-dessus ( bug # 303 ).

Voir ce fil sur la liste de diffusion smartmontools-support pour plus de détails. Je remercie Christian Franke pour la perspicacité donnée ici.

sve.g
la source
Autres interruptions possibles ( serverfault.com/a/584055 ): un mauvais câble peut provoquer des délais d'attente et le noyau déclenchera une réinitialisation. Je suis moins sûr qu'il soit nécessaire d'arrêter smartd. Tous les délais et interruptions apparaîtront dans dmesg / kern.log / journalctl -fk.
Tobu
Wow, c'est fou! Confirmation - après avoir laissé tomber un HGST HDN726060ALE610 d'un miroir zpool, il a été bloqué à 10% pendant 36 heures (il se terminera plus rapidement sans autre activité, DROIT?). Cinq minutes de ces minuscules lectures dd l'ont fait se terminer. Scepticisme rejeté.
Bill McGonigle
Est /dev/disk1censé être le périphérique ou la partition, c'est-à-dire comme /dev/sdaou /dev/sda1?
Merchako
@Merchako Ceci est lié à Mac OS où il se trouve réellement comme ça.
Max Ried
5

J'ai essayé la solution de Tobu, dans mon cas, j'ai continué à trouver le lecteur USB externe en mode veille, quelque temps après le démarrage du test et l'interruption, il semble que dd ait fini par lire dans un cache du noyau et le cache était suffisamment grand pour le disque pour passer en mode veille. J'ai remarqué qu'appeler smartctl pour demander le statut était toujours capable de "réveiller" le disque. Donc: cette version de la même idée a fait l'affaire pour moi:

sudo bash -c 'while true; do smartctl -a /dev/sdb > /dev/null; sleep 60; done'

Après 5 heures, le disque USB externe tourne toujours. Pour la première fois, j'ai pu voir un long test smartctl se terminer sur un disque externe.

Je pense que cette solution présente également l'avantage de ne pas déplacer inutilement les têtes de disque toutes les minutes. Le long terme s'est terminé presque exactement dans le temps prévu (le script Keep-Awake n'a pas ajouté de temps à la course)

Ari
la source
3

Une variante de la réponse d'Ari est à utiliser watch, car la smartctlsortie peut en fait être intéressante pour garder une trace de l'état:

sudo watch -d -n 60 smartctl -a /dev/sdx

Cela mettra à jour automatiquement la sortie smartctl -atoutes les 60 secondes, de sorte que vous pouvez voir combien de temps d'auto-test reste, et mettre en évidence les changements (il est donc plus facile de constater que le test progresse effectivement).

GreatEmerald
la source
+1, jamais vu watchauparavant.
Hashim
1

Le test captif peut ne pas fonctionner s'il prend plus de 20 secondes.

Source: ticket # 303 , intitulé "En mode captif de test intelligent, prolongez le délai d'expiration comme décrit par le dispositif ATA".

Sergey V
la source