Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
smartmontools [Le 16/03/2013, 11:53] 93.31.196.61 [activer le daemon smartd] |
smartmontools [Le 08/01/2018, 21:39] 88.182.40.86 [Cas d'un disque interne] |
||
---|---|---|---|
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 **Forwords** | ||
+ | |||
+ | Puis cela sera au tour de [[http://hpics.li/3d38783|celui-ci.]] Cliquer aussi sur **Forwords**. | ||
+ | |||
+ | L'installation proprement dite commencera alors. | ||
+ | |||
+ | Si vous souhaitez une 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]]. | ||
+ | |||
+ | |||
+ | ===== 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 46: | ||
- | * 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 70: | ||
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 205: | ||
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 221: | ||
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> | |
- | //Attention **smartd** "reveille" les disques durs externes toutes les 30 minutes pour les analyser, ceci peut provoquer une usure prématurée de ces périphériques si ils sont dotés d'une fonction standby inférieur à 30 minutes//</note> | + | |
Ligne 89: | Ligne 233: | ||
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 notification, il 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"><big><b>Alerte ! Disque-dur en Danger !</b></big></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"><big><b>Alerte ! Disque-dur en Danger !</b></big></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.// |