Contenu | Rechercher | Menus

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
smartmontools [Le 16/03/2013, 13:55]
93.31.196.61 [activer le daemon smartd]
smartmontools [Le 20/03/2018, 18:23] (Version actuelle)
37.173.192.246 [Installation]
Ligne 1: Ligne 1:
-{{tag>​disque_dur ​ }}+{{tag>Xenial système ​disque_dur}}
  
 +----------
 ====== SMARTMONTOOLS ====== ====== SMARTMONTOOLS ======
  
-===== Préambule ===== +Smartmontools est un paquet regroupant un ensemble d'​outils basés sur la "​technologie"​ __SMART__. Cette technologie est un protocole qui permet de suivre et contrôler l'​état des disques durs **entiers**. 
- +Les données SMART ignorent les partitions ​et le partitionnement.
-Smartmontools est un paquet regroupant un ensemble d'​outils basés sur la "​technologie"​ __SMART__. Cette technologie est un protocole qui permet de suivre et contrôler l'​état des disques durs et de différents composants de votre ordinateur.+
  
 le protocole SMART est reconnu et implémenté sur la plupart des disques durs depuis la fin des années 1990. le protocole SMART est reconnu et implémenté sur la plupart des disques durs depuis la fin des années 1990.
Ligne 18: Ligne 18:
 ===== Installation ===== ===== Installation =====
  
-Commencez par [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] +Commencez par [[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​smartmontools]]** et éventuellement **[[apt>​smart-notifier]]**. 
-**[[apt>​smartmontools|smartmontools]]**.+ 
 +Lorsque l'​installateur sera lancé, Cet [[http://​hpics.li/​023ee91|écran]] s'​affichera. Cliquer sur **Forward** (Continuer). 
 + 
 +Puis cela sera au tour de [[http://​hpics.li/​3d38783|celui-ci.]] Cliquer encore sur **Forward** (Continuer).  
 + 
 +L'​installation proprement dite commencera alors. 
 + 
 +Si vous souhaitez une interface graphique ​ à smartmontools ​[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​gsmartcontrol]]**.\\ 
 +Le site officiel est ici : [[http://​gsmartcontrol.sourceforge.net/​home/​index.php|GSmartControl]]. 
 +On trouvera des copies d'​écran ici : [[http://​gsmartcontrol.sourceforge.net/​home/​index.php/​Screenshots|Copies d'​écran]]. 
 + 
 +Pour une installation en mode dépannage, comme cela peut vous être demandé dans forum, il est possible de faire une installation "à minima"​ en ligne de commande. 
 +<​code>​sudo apt-get install --no-install-recommends smartmontools</​code>​ 
 + 
 + 
 +=====  Utilisation =====
  
-===== Utilisation===== 
  
 Dans les exemples suivants, on va considérer le disque dur nommé // /dev/sdX //, qu'il faudra remplacer par le nom du disque que vous voulez tester, par exemple ///​dev/​hda//,​ ///​dev/​sdc//​ (( la liste des noms de disques durs de votre système peut s'​obtenir par :  Dans les exemples suivants, on va considérer le disque dur nommé // /dev/sdX //, qu'il faudra remplacer par le nom du disque que vous voulez tester, par exemple ///​dev/​hda//,​ ///​dev/​sdc//​ (( la liste des noms de disques durs de votre système peut s'​obtenir par : 
Ligne 35: Ligne 49:
  
  
-  * Pour obtenir ​toutes les infos disponibles par SMART sur le disque+  * Pour obtenir ​quelques ​infos disponibles par SMART sur le disque
  
-   sudo smartctl -a /dev/sdX+   sudo smartctl ​-H -i /dev/sdX 
 + 
 +Pour obtenir toutes les infos disponibles par SMART sur le disque 
 + 
 +   sudo smartctl -s on -a /dev/sdX
  
  
   * Pour faire des tests   * Pour faire des tests
-Au moins deux types de tests sont possibles, les courts (~1 min) et les longs (~10 min à 90 min).+Au moins deux types de tests sont possibles, les courts (~1 min) et les longs (~10 min à 90 min)((Une estimation de la durée prise par ces tests est visible dans la sortie de : 
 +   sudo smartctl -a /dev/sdX 
 +)).
  
 Pour lancer l'​exécution des tests Pour lancer l'​exécution des tests
Ligne 53: Ligne 73:
  
 ou en plus bref (retourne un message seulement si le disque retourne un indicateur SMART "​failing"​ ou si des autotests ont enregistré des erreurs) ​ ou en plus bref (retourne un message seulement si le disque retourne un indicateur SMART "​failing"​ ou si des autotests ont enregistré des erreurs) ​
 +  ​
   sudo smartctl -q errorsonly -H -l selftest /dev/sdX   sudo smartctl -q errorsonly -H -l selftest /dev/sdX
 +  ​
  
  
 +===== Informations sur l'​état actuel d'un disque. =====
 +
 +**Dans les exemples suivants, on va considérer le disque dur nommé /dev/sdX qu'il faudra remplacer par le nom du disque que vous voulez tester** ; par exemple /dev/hda, /dev/sdc
 +
 +La connaissance de l'​état actuel d'un disque peut être importante pour comprendre une erreur de lecture-écriture.
 +Cette information est souvent demandée dans le forum. ​
 +
 +<note warning>​Comme les données SMART ignorent les partitions et le partitionnement,​ il est **absurde** (sauf cas de RAID, voir note) de mettre un nombre après /dev/sdX. C'est même **nuisible** quand le disque est branché en usb, cf. cet exemple [[https://​forum.ubuntu-fr.org/​viewtopic.php?​pid=21841415#​p21841415]].</​note>​
 +
 +==== Cas d'un disque interne ​ ====
 +
 +La commande est:
 +<​code>​sudo smartctl -s on -a /​dev/​sdX</​code>​Rappel : Mettre un chiffre après la lettre **X** est (sauf montage en RAID, voir note) **nuisible**.
 +
 +<note tip>La lettre X est à remplacer par la lettre du disque qui pose problème, le plus souvent c'est a</​note>​
 +==== Cas des boîtiers et autres adaptateurs USB ====
 +
 +La commande ci-dessus peut nécessiter un complément si le disque est connecté en usb.\\ ​
 +Rappel : Mettre un chiffre après la lettre **X** est (sauf montage en RAID, voir note) **nuisible**.
 + 
 +a) Ce complément est en général fourni par 
 +<​code>​sudo smartctl --scan | grep -i usb</​code>​
 +qui va retourner quelque-chose comme
 +<​code>/​dev/​sdb -d usbsunplus # /dev/sdb [USB Sunplus], ATA device</​code>​
 +On récupère alors **-d usbsunplus** et **sdb**, et on obtient le retour complet grâce à
 +<​code>​sudo smartctl -s on -a -d usbsunplus /​dev/​sdb</​code>​\\ \\ 
 +b) Si ça ne marche pas, c'est dans le retour de
 +<​code>​sudo smartctl -s on -a /​dev/​sdX</​code>​
 +en remplaçant X par la lettre trouvée juste avant, qu'il faut chercher la ligne contenant
 +<​code>​Unknown USB bridge [0x</​code>​
 +De cette ligne, on copie **0xyyyy:​0xzzzz**,​ sans les crochets et on va le chercher dans la page
 +https://​www.smartmontools.org/​wiki/​Supported_USB-Devices qui référence :\\ 
 + - La plupart des adaptateurs supportés et donne l'​option "​-d"​ opérationnelle de chacun,​\\ ​
 + - La plupart des adaptateurs non supportés.
 +
 +Sur cette page-là on va donc récupérer la bonne option **-d machin-truc**,​ et 
 +<​code>​sudo smartctl -s on -a -d machin-truc /​dev/​sdX</​code>​
 +en remplaçant X par la lettre trouvée juste avant, fournira le rapport smartctl complet.
 +
 +
 +Exceptionnellement,​ il peut arriver que ni a) ni b) ne suffise.
 +
 +\\ c) En ce cas, certaines des commandes suivantes peuvent être essayées, toujours en remplaçant "​X"​ par la bonne lettre, vérifiée juste avant :
 +
 +Merci de faire la totalité des cinq commandes et de ne pas vous arrêter à la première surtout si elle n'a répondu que quelques lignes.
 +<​code>​sudo smartctl -s on -d ata  -a /​dev/​sdX</​code>​
 +<​code>​sudo smartctl -s on -d sat  -a /​dev/​sdX</​code>​
 +<​code>​sudo smartctl -s on -d scsi -a /​dev/​sdX</​code>​
 +<​code>​sudo smartctl -s on -d auto -T verypermissive -a /​dev/​sdX</​code>​
 +<​code>​sudo smartctl -s on -d test -T verypermissive -a /​dev/​sdX</​code>​
 +
 +
 +==== Cas du pilote UAS ====
 +
 +Si aucune commande précédente ne fonctionne avec un adaptateur USB, il peut être nécessaire de désactiver le support de [[wpfr>​USB_Attached_SCSI|UAS(P)]]((USB Attached SCSI)).
 +
 +=== Test avec déchargement du module ===
 +
 +  - brancher l'​adaptateur
 +  - relever les identifiants USB vendeur:​produit pour l'​adaptateur :
 +    * lister les périphériques USB utilisant le pilote UAS <​code>​lsusb -t | grep uas</​code>​
 +    * noter la valeur de Port et Dev, puis afficher ce périphérique USB avec XXX //''​valeur de Port''//​ et YYY //''​valeur de Dev''//​ <​code>​lsusb -s XXX:​YYY</​code>​
 +    * noter la valeur après ID sous le format <id vendeur>:<​id produit>
 +  - démonter les partitions du disque : <​code>​sudo umount -v /​dev/​sdX*</​code>​
 +  - décharger le module **uas** : <​code>​sudo modprobe -r uas</​code>​
 +  - décharger le module **usb-storage** : <​code>​sudo modprobe -r usb-storage</​code>​
 +  - recharger le module **usb-storage** __sans le support uas pour l'​adaptateur__ en remplaçant //<id vendeur>//​ et //<id produit>//​ par les valeurs relevée précédemment : <​code>​sudo modprobe usb-storage quirks=<​id vendeur>:<​id produit>:​u</​code> ​
 +  - si les partitions du disque ne sont pas montées automatiquement,​ débrancher l'​adaptateur USB et le rebrancher **connecté avec le disque dur**
 +  - réessayer les commandes ''​smartctl''​
 +
 +=== Exemple concret ===
 +
 +Exemple avec un adaptateur de marque U-Green avec le chipset VIA qui se charge en **/​dev/​sdc**
 +
 +  * tester la commande initiale : <​code>​sudo smartctl -s on -d sat  -a /​dev/​sdc</​code>​
 +
 +> smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-71-generic] (local build)
 +> Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
 +
 +> **Read Device Identity failed: scsi error unsupported field in scsi command**
 +
 +> A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive'​ options.
 +
 +  * recherche du périphérique USB utilisant le pilote UAS : <​code>​lsusb -t</​code>​
 +
 +> /:  Bus **04**.Port 1: Dev 1, Class=root_hub,​ Driver=xhci_hcd/​4p,​ 5000M
 +>      |%%__%% Port 3: Dev **35**, If 0, Class=Mass Storage, Driver=**uas**,​ 480M
 +
 +  * relever la valeur après Bus (ici 4) et Dev (ici 35), et rechercher les identifiants USB pour ce périphérique <​code>​lsusb -s 4:​35</​code>​
 +
 +> Bus 004 Device 035: ID **2109:​0711** VIA Labs, Inc.
 +
 +  * dans l'​exemple,​ noter pour la suite <id vendeur>​=2109 et <id produit>​=0711
 +  * démonter les partitions du disque : <​code>​ sudo umount -v /​dev/​sdc*</​code>​
 +
 +> umount: /dev/sdc: not mounted
 +> umount: /​media/​ubuntu/​Linux (/dev/sdc1) unmounted
 +
 +  * décharger les différents modules : <​code>​sudo modprobe -r uas
 +sudo modprobe -r usb-storage</​code>​
 +  * recharger le module usb-storage sans le support UAS pour l'​adaptateur : <​code>​sudo modprobe usb-storage quirks=2109:​0711:​u</​code>​
 +  * les partitions du disque sont remontées automatiquement,​ sinon débrancher et rebrancher l'​adaptateur avec le disque connecté
 +  * vérifier que le pilote n'est plus **uas** mais **usb-storage**((le numéro de //Device// change à chaque reconnexion))<​code>​lsusb -t | grep usb-storage</​code>​
 +
 +>     ​|%%__%% Port 3: Dev 36, If 0, Class=Mass Storage, Driver=**usb-storage**,​ 480M
 +
 +  * relancer la commande smartctl et constater qu'il n'y a plus d'​erreur : <code bash>​sudo smartctl -s on -d sat  -a /​dev/​sdc</​code>​
 +
 +> smartctl 6.5 2016-01-24 r4214 [x86_64-linux-4.4.0-71-generic] (local build)
 +> Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
 +
 +> === START OF INFORMATION SECTION ===
 +> Model Family: ​    ​Western Digital Caviar Blue Serial ATA
 +> Device Model: ​    WDC WD1600AAJS-75M0A0
 +> [...]
 +
 +=== Blacklister le module UAS ===
 +
 +Si le test précédent est concluant, il est possible de rendre le changement permanent.
 +
 +  * [[:​tutoriel:​comment_modifier_un_fichier|créer le fichier]] ''/​etc/​modprobe.d/​ignore-uas.conf''​ **avec les droits d'​administration**.
 +  * ajouter la ligne suivante en remplaçant //<id vendeur>//​ et //<id produit>//​ par les valeurs relevée précédemment :<file - /​etc/​modprobe.d/​ignore-uas.conf>​options usb-storage quirks=<​id vendeur>:<​id produit>:​u</​file>​
 +  * sauvegarder le fichier
 +  * redémarrer l'​ordinateur
 +  * brancher l'​adaptateur directement
 ===== Notification automatique d'un problème ===== ===== Notification automatique d'un problème =====
  
Ligne 61: Ligne 208:
  
 Il est aussi possible de paramétrer des alertes automatiques (envoi de mail, messages utilisateur par wall, syslog, ... ) en cas de détections d'​erreurs ou de signes de vieillissement. Il est aussi possible de paramétrer des alertes automatiques (envoi de mail, messages utilisateur par wall, syslog, ... ) en cas de détections d'​erreurs ou de signes de vieillissement.
- 
 **smartd** est inclus dans le paquet //​smartmontools//​ **smartd** est inclus dans le paquet //​smartmontools//​
  
-Le fichier de configuration est __/​etc/​smartd.conf__ ​ Par défaut, il est configuré pour scanner tous les disques.+Le fichier de configuration est __/​etc/​smartd.conf__ ​ Par défaut, il est configuré pour scanner tous les disques. Une configuration de ce fichier est donc nécessaire pour obtenir des alertes pertinentes.
  
  
 ==== activer le daemon smartd==== ==== activer le daemon smartd====
-[[tutoriel:​comment_modifier_un_fichier|Éditez le fichier]] __/​etc/​default/​smartmontools__ et décommenter __start_smartd=yes__ puis démarrer le service en tapant dans un [[terminal]]:​+<note important>​** Par défaut, le demon smart n'est pas activé. Il est indispensable de le faire manuellement.** 
 + 
 +[[tutoriel:​comment_modifier_un_fichier|Éditez le fichier]] __/​etc/​default/​smartmontools__ et décommenter __start_smartd=yes__ puis démarrer le service en tapant dans un [[terminal]]:​</​note>​
  
   sudo /​etc/​init.d/​smartmontools start    sudo /​etc/​init.d/​smartmontools start 
Ligne 76: Ligne 224:
 L'​action de ce programme est de se mettre à l'​écoute des messages de tests et  d'​ouvrir une fenêtre d'​avertissement s'il détecte un problème. L'​action de ce programme est de se mettre à l'​écoute des messages de tests et  d'​ouvrir une fenêtre d'​avertissement s'il détecte un problème.
  
-<note tip>Pour que **smart-notifier** lance ces messages d'​alertes,​ il faut que smartd soit actif et que la session en cours ait été redémarrée+<note tip>Pour que **smart-notifier** lance ces messages d'​alertes,​ il faut que smartd soit actif, paramétré, ​et que la session en cours ait été redémarrée.
 </​note>​ </​note>​
  
Ligne 88: Ligne 236:
 Ce qui affichera : Ce qui affichera :
  
-{{:smart-notifier.png|}} +{{::smart-notifier_15.10.png?800|smart-notifier sous Ubuntu 15.10}}
  
 ===== Traduire l'​alerte ===== ===== Traduire l'​alerte =====
-Lorsque vous équipez un autre pc que le votre de la notification il serait dommage qu'​elle soit ignorée pour une bête impossibilité de compréhension du message...+Lorsque vous équipez un autre pc que le vôtre ​de la notificationil serait dommage qu'​elle soit ignorée pour une bête impossibilité de compréhension du message...
  
 Sauvegarder l'​original en cas de boulette en tapant dans [[terminal]]: ​ Sauvegarder l'​original en cas de boulette en tapant dans [[terminal]]: ​
-          ​ +<​code>​ 
-   ​sudo cp /​usr/​share/​smart-notifier/​smart_notifier/​smart-notifier.glade /​usr/​share/​smart-notifier/​smart_notifier/​smart-notifier.glade.old+sudo cp /​usr/​share/​smart-notifier/​smart_notifier/​smart-notifier.glade /​usr/​share/​smart-notifier/​smart_notifier/​smart-notifier.glade.old 
 +</​code>​
  
-puis [[tutoriel:​comment_modifier_un_fichier|éditez le fichier]]  ​__/​usr/​share/​smart-notifier/​smart_notifier/​smart-notifier.glade__+puis avec les [[:​sudo|droits d'​administration]], ​[[tutoriel:​comment_modifier_un_fichier|éditez le fichier]]  ​**/​usr/​share/​smart-notifier/​smart_notifier/​smart-notifier.glade**
 et modifiez les lignes indiquées ci-dessous. et modifiez les lignes indiquées ci-dessous.
 +  * __Titre de la Fenêtre__, //ligne 31//:<​file><​property name="​title"​ context="​True"​ translatable="​True">​Alerte Disque-dur !</​property></​file>​
 +  * __Titre du Message__, //ligne 56//:<​file>​
 +<​property name="​label"​ context="​True"​ translatable="​True">&​lt;​big&​gt;&​lt;​b&​gt;​Alerte ! Disque-dur en Danger !&​lt;/​b&​gt;&​lt;/​big&​gt;</​property>​
 +</​file>​
 +  * __ Corps du Message__, //ligne 69//: <​file>​
 +<​property name="​label"​ context="​True"​ translatable="​True">​S.m.a.r.t. surveille en permanence les disques-durs et donne l'​alerte en cas de variation importante dans les normales relevées. 60% des pannes de disques-durs sont mécaniques,​ s.m.a.r.t. peut en détecter 30%. Cette alerte n'est pas à prendre à la légère et peut annoncer une panne imminente. Planifier rapidement vos sauvegardes et le remplacement de vos disques-durs.</​property>​
 +</​file>​
 +  * __Message de smartd__, //ligne 92//:<​file>​
 +<​property name="​label"​ context="​True"​ translatable="​True">​Message original de smartd :</​property>​
 +</​file>​
  
-=== Titre de la Fenêtre, ligne 31 === 
-<​property name="​title"​ context="​True"​ translatable="​True">​Alerte Disque-dur !</​property>​ 
  
-=== Titre du Message, ligne 56 === +=====Interprétation des résultats ​===== 
-''<​property name="​label"​ context="​True"​ translatable="​True">&​lt;​big&​gt;&​lt;​b&​gt;​Alerte ! Disque-dur en Danger !&​lt;/​b&​gt;&​lt;/​big&​gt;</​property>''​ +L'interprétation ​des résultats demande ​de l'expérience ; postez-les dans le forum
- +=====Voir aussi ====
-=== Corps du Message, ligne 69 === +
-''<​property name="​label"​ context="​True"​ translatable="​True">​S.m.a.r.t. surveille en permanence les disques-durs et donne l'​alerte en cas de variation importante dans les normales relevées. 60% des pannes ​de disques-durs sont mécaniques,​ s.m.a.r.t. peut en détecter 30%. Cette alerte n'est pas à prendre à la légère et peut annoncer une panne imminente. Planifier rapidement vos sauvegardes et le remplacement de vos disques-durs.</​property>''​ +
- +
-=== Message de smartd, ligne 92 === +
-''<​property name="​label"​ context="​True"​ translatable="​True">​Message original de smartd :</​property>''​ +
- +
-===== Interface Graphique pour smartmontools ​ ===== +
-Copies d'​écran sur le site officiel de [[http://​gsmartcontrol.berlios.de/​home/​index.php/​en/​Screenshots|gsmartcontrol]]. +
- +
-====Lucid et versions ulterieures d'​Ubuntu)==== +
- +
-[[:​tutoriel:​comment_installer_un_paquet|Installez le paquet]] **[[apt>​gsmartcontrol|gsmartcontrol]]**. +
- +
-=====Voir aussi =====+
  
   * [[http://​smartmontools.sourceforge.net|Site officiel Smartmontools]]   * [[http://​smartmontools.sourceforge.net|Site officiel Smartmontools]]
   * [[http://​smartlinux.sourceforge.net/​smart/​attributes.php|Index des SMART Attributes]]   * [[http://​smartlinux.sourceforge.net/​smart/​attributes.php|Index des SMART Attributes]]
   * [[http://​www.lea-linux.org/​documentations/​index.php/​Hardware-hard_plus-smart|tuto sur le système smart]] : tutoriel de Lea-linux   * [[http://​www.lea-linux.org/​documentations/​index.php/​Hardware-hard_plus-smart|tuto sur le système smart]] : tutoriel de Lea-linux
-  * [[http://​fr.wikipedia.org/​wiki/​Self-Monitoring%2C_Analysis_and_Reporting_Technology|Wikipédia : SMART]] +  * [[wpfr>Self-Monitoring%2C_Analysis_and_Reporting_Technology|Wikipédia : SMART]] ​(en français et très succinct). 
-  *  [[http://​valaurea.free.fr/​documents/​sig11_smart.html|Tout savoir de ses disques durs avec smartmontools (sig-11.org)]] +  * [[wp>​S.M.A.R.T.]] (en anglais mais beaucoup moins abrégé). 
-  *  [[http://​smartmontools.sourceforge.net/​badblockhowto.html|Bad block HOWTO for smartmontools]] : Pour aller un plus loin lorsqu'​une erreur est détectée.+  [[http://​valaurea.free.fr/​documents/​sig11_smart.html|Tout savoir de ses disques durs avec smartmontools (sig-11.org)]] 
 +  *  [[https://www.smartmontools.org/​browser/​trunk/​www/​badblockhowto.xml|Bad block HOWTO for smartmontools]] : Pour aller un plus loin lorsqu'​une erreur est détectée. 
 +  * **Vidéo**: [[https://​www.youtube.com/​watch?​v=1e3N1wqhpSA|Secteurs Morts - Diagnostic et Réparation]] 
 +  * **Video**: [[https://​www.youtube.com/​watch?​v=VtFQ0AXSAFc|Comprendre les attributs SMART - Diagnostic HDD]] 
 +  * Quelques explications des compteurs smart sont disponibles dans wikipedia et aussi dans ce lien http://​www.deltasight.fr/​monitoring-serieux-de-disques-durs-avec-smartmontools/​ 
 + 
  
 ---- ----
  
 //​Contributeurs : [[utilisateurs:​didrocks ]], [[utilisateurs:​fnx]],​ [[utilisateurs:​.amalric.]] pour la traduction, [[utilisateurs:​furious-therapy]] : DEB pour Jaunty.// //​Contributeurs : [[utilisateurs:​didrocks ]], [[utilisateurs:​fnx]],​ [[utilisateurs:​.amalric.]] pour la traduction, [[utilisateurs:​furious-therapy]] : DEB pour Jaunty.//


Le contenu de ce wiki est sous licence : CC BY-SA v3.0