2 votes

Comment faire pour qu'un test SMART hors ligne se termine sur un lecteur actif ?

Je voudrais effectuer un test SMART hors ligne sur l'un de mes disques durs (SATA interne). La machine fonctionne sous Ubuntu 14.04, je fais donc simplement smartctl -t offline /dev/sdb (en tant que racine). Il démarre le test et me donne une estimation du temps de réalisation.

Le disque en question contient le fs racine du système, il est donc activement (mais pas lourdement) utilisé. Ainsi, lorsque je lance ensuite smartctl -a /dev/sdb même bien après le temps estimé, je vois "Offline data collection status : (0x04) Offli a été suspendue par une commande d'interruption de l'hôte". Il n'est pas clair si le test va se terminer un jour.

Si je comprends bien, le test hors ligne vérifie essentiellement chaque secteur du disque pour voir s'il peut être lu. Lorsque l'ordinateur accède au disque, le test est suspendu et reprend à la fin de la commande. Mais il semble qu'il y ait suffisamment de commandes envoyées pour que très peu de temps soit consacré au test, qui progresse donc très lentement, voire pas du tout. (Je me demande également s'il n'y a pas un délai intentionnel entre la fin de la commande et la reprise du test, afin d'éviter des allers-retours trop fréquents).

Existe-t-il un moyen de donner une priorité plus élevée au test SMART, afin qu'il progresse à un rythme raisonnable, tout en gardant le disque accessible ? Ce n'est pas grave si l'accès au disque est plus lent, tant que le système peut encore fonctionner. Je connais le mode captif -C mais cela rendrait le système inutilisable pendant l'exécution du test. Je pourrais bien sûr démarrer à partir d'un autre disque et exécuter le test SMART avec sdb démonté, mais cela rendrait également le système inutilisable pendant une certaine durée (et cela nécessite un accès physique à la machine, ce qui n'est pas pratique).

J'ai vu Le SMART-Test ne se termine jamais mais cela semble être le problème inverse : le disque n'a aucune activité et passe en mode veille. Je ne vois aucune preuve que ce soit le cas ici, car le disque est actif. J'ai également vu Le test SMART hors ligne court ne se termine jamais pour tous les disques d'un RAID1 sur ServerFault, mais la réponse suggère des problèmes de contrôleur ou de câblage, ce que je n'ai aucune raison de suspecter puisque le disque fonctionne généralement bien.

(En passant : Y a-t-il un moyen de vérifier la progression d'un test hors ligne ? Cela me permettrait de savoir si le test a des chances de se terminer dans un délai raisonnable).

1voto

meuh Points 5650

Si la commande

sudo smartctl -c /dev/sdb

dit

Offline data collection capabilities:
  Suspend Offline collection upon new command.

alors votre test devrait se terminer correctement. Vous avez peut-être smartd qui tourne en arrière-plan pour effectuer des commandes occasionnelles ?

Vous pourriez diviser votre -t offline en plus petites séries de blocs. Par exemple,

sudo smartctl -t select,0+10000 /dev/sdb

puis quand c'est fait, répétez cette commande avec une attente pour chaque résultat :

sudo smartctl -t select,next+10000 /dev/sdb

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X