Comment vérifier une santé du disque dur à partir de la ligne de commande à l'aide de SmartCTL

Comment vérifier une santé du disque dur à partir de la ligne de commande à l'aide de SmartCTL

Le smartmontools Le package est généralement disponible dans les référentiels par défaut de toutes les principales distributions Linux. Il contient deux utilitaires utiles pour vérifier l'état du stockage avec S.M.UN.R.T soutien (Technologie d'analyse et de reportage d'autocontrôle): smartcl et smartd. Le premier est l'utilitaire que nous utilisons directement pour vérifier S.M.UN.R.T attributs, exécuter des tests ou effectuer d'autres actions; Ce dernier est le démon qui peut être utilisé pour planifier des opérations en arrière-plan. Dans ce tutoriel, nous apprendrons l'utilisation de base de smartctl.

Dans ce tutoriel, vous apprendrez:

  • Comment installer le package SmartMontools sur diverses distributions
  • Quelles sont les différences entre le s.M.UN.R.T auto-tests
  • Comment utiliser SmartCTL pour vérifier la santé d'un dispositif de stockage
  • Comment exécuter des tests sur un périphérique de stockage à partir de la ligne de commande
Comment vérifier une santé du disque dur à partir de la ligne de commande à l'aide de SmartCTL

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Distribution indépendante
Logiciel Le package SmartMontools (voir les instructions)
Autre Autorisation
Conventions # - nécessite que les commandes Linux sont exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux sont exécutées en tant qu'utilisateur non privilégié régulier

Installation

Comme mentionné avant le smartmontools Le package est disponible dans les référentiels de toutes les principales distributions Linux, donc tout ce que nous avons à faire pour l'installer, c'est d'utiliser notre gestionnaire de packages préféré. Si vous courez sur Debian ou l'un de ses dérivés, comme Ubuntu ou Mint, par exemple, vous pouvez courir:

$ sudo apt-get update && sudo apt-get install smartmontools 

Sur les versions récentes de Red Hat Enterprise Linux, Centos et Fedora, nous pouvons utiliser DNF:

$ sudo dnf installer smartmontools 

Si Archlinux est votre distribution préférée, vous pouvez utiliser Pac-Man:

$ sudo pacman -s smartmontools 


Vérifier si Smart est activé

Faisons familiariser avec le smartctl utilitaire. La première chose que nous voulons vérifier est si S.M.UN.R.T La prise en charge est active sur l'appareil. Pour effectuer cette opération, nous pouvons exécuter l'utilitaire SmartCTL avec le -je Option (abréviation pour --Info):

$ sudo smartctl -i / dev / sda 

La sortie de la commande est la suivante:

=== SECTION DE SECTION DES INFORMATIONS === Famille de modèle: Western Digital Red Device Modèle: WDC WD10EFRX-68FYTN0 LU WWN ID de périphérique: 5 0014EE 20C672DEF Firmware Version: 82.00A82 Capacité utilisateur: 1 000 204 886 016 octets [1.00 TB] Tailles du secteur: 512 octets logiques, 4096 octets Taux de rotation physique: 5400 RPM Le périphérique est: dans la base de données SmartCTL [pour les détails Utilisation: -p show] La version ATA est: ACS-2 (révision mineure non indiquée) La version SATA est: Sata 3.0, 6.0 Go / s (courant: 3.0 Go / s) L'heure locale est: Je sept. Le support intelligent est: désactivé 

Nous pouvons voir que les informations de base sont affichées telles que la famille de l'appareil, le modèle, la taille du secteur, etc. Ce qui nous intéresse le plus, cependant, c'est le contenu des deux dernières lignes. De là, nous pouvons voir que l'appareil a des capacités intelligentes et que, dans ce cas, la prise en charge intelligente est désactivée. Et si nous voulons l'activer? Tout ce que nous avons à faire est de courir smartctl avec le -s Option, en utilisant «On» comme argument:

$ sudo smartctl -s on / dev / sda smartctl 6.6 2017-11-05 R4594 [ARMV6L-LINUX-5.4.51+] (construction locale) Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === Démarrage de la section des commandes d'activation / désactiver === Smart Activé. 

Se familiariser avec SmartCTL

Pour obtenir toutes les informations intelligentes disponibles sur un périphérique de stockage, nous pouvons lancer l'utilitaire avec le -un Option (abréviation pour -tous) et bien sûr passer le chemin de l'appareil que nous voulons vérifier comme le dernier argument de la commande. Supposons que nous voulons vérifier l'état actuel du / dev / sda appareil; Nous courions:

$ sudo smartctl -a / dev / sda 

La commande ci-dessus produit beaucoup de sortie. Parmi les autres choses, nous pouvons voir l'état de divers paramètres intelligents:

Attributs intelligents Numéro de révision de la structure des données: 16 Attributs intelligents spécifiques du fournisseur avec seuils: id # attribut_name Valeur de l'indicateur pire type de thème mis à jour when_failed raw_value 1 raw_read_error_rate 0x002f 200 200 051 pré-fail toujours - 0 3 spin_up_time 0x0027 135 125 021 Pre-Fail Alway 4 start_stop_count 0x0032 100 100 000 old_age toujours - 941 5 reallocated_sector_ct 0x0033 200 200 140 Préfail toujours - 0 7 Seek_error_rate 0x002e 200 200 000 old_age toujours - 0 9 Power_on_Hours 0x0032 085 085 000 Old_age toujours - 11285 10 spin - 0 11 calibration_retry_count 0x0032 100 100 000 Old_age toujours - 0 12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 446 192 Power-Off_Rettract_Count 0x0032 199 000 Old_age Alway4258 194 TEMPERT_CELSIUS 0x0022 111 099 000 Old_age toujours - 32 196 Reallocated_event_Count 0x0032 200 200 000 Old_age toujours - 0 197 Current_Pending_Sector 0x0032 200 200 000 Old_age toujours - 0 198 Offline_UncorClable 0x0030 100 253 000 Old_age 0 200 Multi_zone_error_rate 0x0008 200 200 000 Old_age Offline - 0 

Les paramètres très importants à vérifier sont, entre autres, "reallocated_sector_ct" et "current_pending_sector". Dans les deux cas, si le VALEUR BRUTE est autre chose que 0, nous devons être très prudents et commencer à sauvegarder les données sur le disque dur. Le Reallocated_sector_ct est le nombre de secteurs sur le périphérique de bloc qui ne peut pas être utilisé correctement.

Lorsqu'un tel secteur est trouvé, il est remappé à un
des secteurs de rechange disponibles du périphérique de stockage, et les données contenues sont déplacées. Le Secteur dans l'attente actuelle L'attribut, à la place, est le compte de mauvaises secteurs qui attendent toujours d'être remappés. Si vous voulez en savoir plus sur le S.M.UN.R.T Attributs et leur signification, vous pouvez commencer à jeter un œil à la Wikipedia S.M.UN.R.T page.

Dans la sortie, nous pouvons également voir un journal des tests effectué sur l'appareil:

Structure du journal d'auto-test intelligent numéro 1 num test_description statut respect la durée de vie (heures) lba_of_first_error # 1 court hors ligne terminé sans erreur 00% 9590 - # 2 court hors ligne terminé sans erreur 00% 2941 - # 3 Offline étendue terminée complétée sans erreur 00% 21 - # 4 Short hors ligne terminée sans erreur 00% 18 - # 5 Short hors ligne terminé sans erreur 00% 0 - # 6 Short hors ligne terminé sans erreur 00% 0 - 

Dans le Description du test colonne, nous pouvons voir que divers types de tests ont été effectués, et tous ont été achevés sans erreur. Dans la section suivante, nous verrons quelles sont les différences entre elles et comment lancer réellement un test sur un périphérique de stockage.

Tests intelligents disponibles

Le smartctl L'utilitaire peut être utilisée pour lancer une variété d'auto-tests:

  • court
  • long
  • transport (dispositifs ATA uniquement)
  • Sélectionnez (ATA Devices Only)

Voyons rapidement quelles sont les différences entre eux.

Le court Le test est destiné à vérifier rapidement les problèmes les plus courants qui pourraient être trouvés sur un périphérique de stockage. Le test ne doit pas prendre plus de 10 minutes: les performances mécaniques, électriques et lues d'un disque sont vérifiées.

Le long Le test est essentiellement une version plus précise du «court» test. In peut prendre beaucoup de temps à terminer: comme indiqué dans le manuel SmartCTL, il peut durer de dizaines de minutes à plusieurs heures.

Le transport Le test est destiné à vérifier les dommages possibles survenus lors du transport de l'appareil. Il faut généralement quelques minutes pour terminer un test de transport. Il est disponible uniquement sur les appareils ATA.

Le sélectionner Le test, comme celui du «transport», est disponible uniquement sur les appareils ATA, et est destiné à vérifier uniquement la plage spécifiée de LBA (adresses logiques). La plage d'adresses est spécifiée lors du lancement du test. Par exemple, pour vérifier les adresses de 10 à 20 (inclusives), nous exécuterons:

$ sudo smartctl -t select, 10-20 

Il est possible de spécifier un maximum de 5 plages différentes de LBA pour vérifier en répétant le -t option:

$ sudo smartctl -t select, 0-5 -t select, 5-10 


Le -t L'option est la courte pour --test et est utilisé pour exécuter un test immédiatement.

Exécuter un test

Nous avons vu quels sont les tests possibles que nous pouvons exécuter avec le smartctl utilitaire. Voyons maintenant comment lancer un test. Comme nous l'avons vu à la fin de la section précédente, le -t L'option est utilisée pour exécuter un test immédiatement; Nous devons fournir le type de test que nous voulons exécuter comme argument de l'option. Pour exécuter un court tester sur le / dev / sda Appareil que nous exécutrions:

$ sudo smartctl -t court / dev / sda smartctl 6.6 2017-11-05 R4594 [ARMV6L-LINUX-5.4.51+] (construction locale) Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === Démarrage de la section immédiate et d'auto-test hors ligne === Commande d'envoi: "Exécutez immédiatement la routine d'auto-test Smart Short en mode hors ligne". Commande de lecteur "Exécuter la routine d'auto-test Smart Short immédiatement en mode hors ligne" réussi. Les tests ont commencé. Veuillez patienter 2 minutes pour le test pour terminer. Le test se terminera après le 24 septembre 14:39:05 2020 Utilisez SmartCTL -X pour abandonner le test. 

La sortie de la commande rapporte l'heure à attendre que le test se termine et la date et l'heure à laquelle il devrait être terminé. Après l'intervalle de temps spécifié, pour vérifier les résultats du test, nous pouvons exécuter:

$ sudo smartctl -a / dev / sda 

Comme vous pouvez le remarquer, le test (le premier de la liste - # 1) et ses résultats ont été ajoutés à la liste des journaux. Il a été achevé sans erreurs:

Structure du journal d'auto-test intelligent Numéro de révision 1 Num Test_Description Statut Life Time (heures) LBA_OF_FIRST_ERROR # 1 Short Offline terminé sans erreur 00% 11286 - # 2 Short Offline terminé sans erreur 00% 9590 - # 3 Court hors ligne terminé sans erreur 00% 2941 - # 4 hors ligne étendue terminée sans erreur 00% 21 - # 5 Short hors ligne terminé sans erreur 00% 18 - # 6 Short hors ligne terminé sans erreur 00% 0 - # 7 Short hors ligne terminé sans erreur 00% 0 - 

Il est possible de connaître l'heure estimée qu'un test prendrait pour terminer. Ces informations doivent être incluses dans la sortie du SmartCTL -A / DEV / SDX commande, mais peut être demandé explicitement en lançant smartctl avec le -c Option (abréviation pour --capacités). Voici les lignes intéressantes dans la sortie:

$ sudo smartctl -c / dev / sda […] Routine de son auto-test courte du temps de sondage recommandé: (2) minutes. Temps de scrutin recommandé par la routine d'auto-test étendue: (157) minutes. Temps de sondage recommandé par routine d'auto-test de transport: (5) minutes. […] 

Faisons un test de transport, maintenant: maintenant:

$ sudo smartctl -t transport / dev / sda 

Nous attendons 5 minutes, puis vérifions les résultats. Comme prévu, le test apparaît maintenant dans la liste, et heureusement, aucune erreur n'a été trouvée:

Structure du journal d'auto-test intelligent numéro 1 num test_description statut respect la durée de vie (heures) LBA_OF_FIRST_ERROR # 1 Conveyance Offline terminée sans erreur 00% 11286 - # 2 Short hors ligne terminée sans erreur 00% 11286 - # 3 Court hors ligne terminée sans erreur 00% 9590 - # 4 Short hors ligne terminée sans erreur 00% 2941 - # 5 Extension hors ligne terminée sans erreur 00% 21 - # 6 Short hors ligne terminé sans erreur 00% 18 - # 7 Short hors ligne terminé sans erreur 00% 0 - # 8 Short Offline terminé terminé terminé terminé sans erreur 00% 0 - 


Maintenant, pour un simple sélectionner test:

$ sudo smartctl -t select, 100-150 / dev / sda smartctl 6.6 2017-11-05 R4594 [ARMV6L-LINUX-5.4.51+] (construction locale) Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org === Démarrage de la section immédiate et d'auto-test hors ligne === Commande d'envoi: "Exécuter la routine d'auto-test sélective intelligente immédiatement en mode hors ligne". Span start_lba ending_lba 0 100 150 Drive Commande "Exécuter la routine d'auto-test sélective intelligente immédiatement en mode hors ligne" réussi. Les tests ont commencé. 

Ce test est terminé avec succès:

Structure du journal d'auto-test intelligent numéro 1 num test_description statut restant vie (heures) LBA_OF_FIRST_ERROR # 1 sélectif hors ligne terminé sans erreur 00% 11287 - # 2 Convoyance hors ligne terminée sans erreur 00% 11286 - # 3 Short Offline terminée sans erreur 00% 11286 - # 4 Short offline Completed without error 00% 9590 - # 5 Short offline Completed without error 00% 2941 - # 6 Extended offline Completed without error 00% 21 - # 7 Short offline Completed without error 00% 18 - # 8 Short offline Completed sans erreur 00% 0 - # 9 Short hors ligne terminée sans erreur 00% 0 - 

Encore une fois, les résultats des tests sont inclus dans la sortie générée lorsque SmartCTL est lancé avec le -un option; Si l'on veut se concentrer uniquement sur les journaux, il peut plutôt utiliser le -l option (--enregistrer) et spécifier quel type de journaux doit être affiché. Pour afficher uniquement erreur Journaux, on fonctionnerait:

$ sudo smartctl -l error / dev / sda 

Inclure aussi auto-tests Journaux, à la place:

$ sudo smartctl -l error -l selftest / dev / sda 

Quand smartctl est lancé avec le -un Option le erreur, auto-tests et sélectif Les journaux sont inclus dans la sortie des appareils ATA.

Conclusions

Dans ce tutoriel, nous avons vu comment installer le smartmontools package sur certaines des distributions Linux les plus utilisées et comment utiliser le smartctl Utilité pour vérifier l'état de S.M.UN.R.T paramètres sur un périphérique de stockage. Nous avons également vu quels sont les tests possibles que nous pouvons effectuer et quelles sont les différences entre elles. Nous avons également vu comment lancer un test et comment les résultats. Dans le prochain article, nous verrons comment planifier des tests en utilisant le smartd démon, et comment être informé avec un e-mail lorsqu'une erreur est rencontrée. Restez à l'écoute!

Tutoriels Linux connexes:

  • Comment configurer SmartD et être informé du disque dur…
  • Commandes de vérification de la santé Linux Basic
  • Optimisation des performances de Linux: outils et techniques
  • Ubuntu 20.04 Surveillance du système avec des widgets conky
  • Ubuntu 22.04 Surveillance du système avec des widgets conky
  • Meilleur outil de surveillance du système pour Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Comment partitionner le lecteur USB en Linux
  • Comment créer une application Tkinter à l'aide d'un objet orienté…
  • Comment utiliser Google Drive sur Linux