10. On ajoute un outils de surveillance des disques durs :
Il est utile de savoir si un disque vq lâcher afin de le changer à temps. Pour cela, on va mettre en place de la supervision des disques.
On va utiliser : Smartmontools
Et on a du tuto ici : https://wiki.debian-fr.xyz/Smartmontools
Des infos sur comment interpréter tout cela : https://www.deltasight.fr/monitoring-ser...tmontools/
On commence par l'installer :
Une fois fait on peut tester nos disques. Vous pouvez retrouver la bonne lettre de vos disques dans les infos avec la commande suivante :
Puis vous utilisez la commande :
(remplacez donc "X" avec la lettre voulue)
Vous devriez obtenir un truc du style :
Pas forcément toutes ces lignes mais dans le style et avec à la fin des messages de support de SMART :
Vous pouvez aussi tester sur la clef usb et vous aurez surement un soucis. Dans ce cas vous pouvez spécifié le type de disque pour le test avec la comande suivante :
Remplacez "OPTIONS" par la bonne optoin :
Dans le cas d'une clef usb, il s'agit de "scsi".
Source : https://superuser.com/questions/1064119/...-s-m-a-r-t
Maintenant qu'on sait que nos disques supportent smaart, on va activer des options dessus avec la commande suivante :
Les options indiquées servent à : "s" on active le support smart, "o" on active la collecte de données hors connexion et "S" on active la sauvegarde auto des attributs.
On obtient ceci :
Sur la clef usb j'ai eu :
On va débuter les tests et pour ça on commence avec la commande suivante :
Qui devrait vous retourner :
C'est là que ça devient sympa, si vous avez le test qui a FAILED, et bien vous êtes bon pour racheter tout de suite un nouveau disque dur :)
On va voir les tests que l'on peut réaliser sur les disques avec la commande suivante :
Cela va vous retourner pas mal de trucs :
Dans le tas vous voyez ce que vous cherchez :
- capabilities: Self-test supported.
- Short self-test routine recommended polling time: ( 1) minutes.
- Extended self-test routine recommended polling time: ( 92) minutes.
On va commencer avec un test assez court :)
On attend le temps annoncé et on va voir le résultat :
Vous aurez la confirmation que cela s'est bien passé avec "Completed without error" dans :
On peut lancer un long test :
Une fois le temps achevé, de même, vous pouvez obtenir le résultat avec :
Qui donne :
Les deux tests se sont donc bien passés :)
On va maintenant configurer smartmontools pour qu'il lance tout seul des scans courts et longs à des intervalles choisis. Pour cela il faut éditer le fichier "smartd.conf" :
Dedans vous verrez une ligne de test qu'il faut commenter pour désactiver (= ajouter un dièse en début de ligne) :
Et on ajoute les scans des disques en ajoutant des lignes :
Les détails :
- sdX, vous remplacez le X par la lettre du disque sur lequel vous voulez lancer le test
- a, une option qui en remplace plusieurs d'un coup selon la doc :
- d, avec le paramètre "sat", on a vu cela pour la clef usb, cela donne le type de disque, pas obligatoire si votre disque était bien reconnu
- s, avec le paramètre "(S/../.././01|L/../../7/03)" qui donne les dates de lancement des tests. La programmation suit le style suivant "T/MM/DD/d/HH" avec T pour l type de test (court ou long), MM qui donne le mois (de 01 pour janvier à 12 pour décembre), DD qui est le jour du mois (de 01 à 31), d qui est le jour de la semaine (de 1 pour lundi à 7 pour dimanche) et HH qui est l'heure du jour. Ici on a donc un test court tous les jours à 1h du matin et un test long tous les dimanches à 3h du matin.
- m, avec le paramètre "monmail@domaine.tld" qui va enoyer un mail à "root" à la fin du test pour avoir les infos.
- M, avec la paramètre "exec /usr/share/smartmontools/smartd-runner" qui permet d'exécuter smartd-runner qui va lancer les scripts dispos dans "/etc/smartmontools/run.d/". Un de ces scripts envoie l'email.
Plus dinfos : http://manpages.ubuntu.com/manpages/trus...onf.5.html
Une fois les changements réalisés, vous redémarrez smartmontools avec la commande :
Vous pouvez ausi tester la fonciton d'envoie d'email en modifiant vos commandes précédentes et en mettant :
a la place, "exec /usr/share/smartmontools/smartd-runner" est donc devenu "test".
Vous relancez smartmontools :
Et vous devriez recevoir un mail du genre :
Si c'est bon, remettez votre ligne comme avant et relancez smartmontools.
Pour lancer smartmontools automatiquement au lancement de la machine, on édite :
Et on change la ligne suivante en la décommentant :
Maintenant, si un jour vous recevez un message signalant des erreurs sur un de vos disques :
Vous pouvez changer ce disque avant qu'il ne rende l'âme complètement.
Des infos pour "prolonger" la vie de ce disque par ici : https://wiki.debian-fr.xyz/Smart_error.
Il est utile de savoir si un disque vq lâcher afin de le changer à temps. Pour cela, on va mettre en place de la supervision des disques.
On va utiliser : Smartmontools
Et on a du tuto ici : https://wiki.debian-fr.xyz/Smartmontools
Des infos sur comment interpréter tout cela : https://www.deltasight.fr/monitoring-ser...tmontools/
On commence par l'installer :
Code :
sudo apt-get install smartmontools
Une fois fait on peut tester nos disques. Vous pouvez retrouver la bonne lettre de vos disques dans les infos avec la commande suivante :
Code :
sudo fdisk -l
Puis vous utilisez la commande :
Code :
smartctl -i /dev/sdX
Vous devriez obtenir un truc du style :
Code :
smartctl 5.40 2010-07-12 r3124 [x86_64-unknown-linux-gnu] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF INFORMATION SECTION ===
Device Model: SAMSUNG HD204UI
Serial Number: S2H7J9AB505399
Firmware Version: 1AQ10001
User Capacity: 2 000 398 934 016 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 6
Local Time is: Sat Aug 13 01:12:47 2011 EAT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Pas forcément toutes ces lignes mais dans le style et avec à la fin des messages de support de SMART :
Code :
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
/dev/sdb: Unknown USB bridge [0x0781:0x5567 (0x100)]
Please specify device type with the -d option.
Use smartctl -h to get a usage summary
Code :
sudo smartctl -d OPTIONS -i /dev/sdX
Code :
-d TYPE, --device=TYPE
Specifies the type of the device. The valid arguments to this option are ata, scsi, sat, marvell,3ware,N,
areca,N, usbcypress, usbjmicron, usbsunplus, cciss,N, hpt,L/M (or hpt,L/M/N), and test.
Source : https://superuser.com/questions/1064119/...-s-m-a-r-t
Maintenant qu'on sait que nos disques supportent smaart, on va activer des options dessus avec la commande suivante :
Code :
sudo smartctl -s on -o on -S on /dev/sdX
On obtient ceci :
Code :
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
SMART Enabled.
SMART Attribute Autosave Enabled.
SMART Automatic Offline Testing Enabled every four hours.
Sur la clef usb j'ai eu :
Code :
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Informational Exceptions (SMART) enabled
Temperature warning disabled
Enable autosave (clear GLTSD bit) faile
On va débuter les tests et pour ça on commence avec la commande suivante :
Code :
sudo smartctl -H /dev/sdX
Qui devrait vous retourner :
Code :
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
C'est là que ça devient sympa, si vous avez le test qui a FAILED, et bien vous êtes bon pour racheter tout de suite un nouveau disque dur :)
On va voir les tests que l'on peut réaliser sur les disques avec la commande suivante :
Code :
sudo smartctl -c /dev/sdX
Cela va vous retourner pas mal de trucs :
Code :
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-8-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF READ SMART DATA SECTION ===
General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 430) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 92) minutes.
Dans le tas vous voyez ce que vous cherchez :
- capabilities: Self-test supported.
- Short self-test routine recommended polling time: ( 1) minutes.
- Extended self-test routine recommended polling time: ( 92) minutes.
On va commencer avec un test assez court :)
Code :
sudo smartctl -t short /dev/sdX
On attend le temps annoncé et on va voir le résultat :
Code :
sudo smartctl -l selftest /dev/sdX
Vous aurez la confirmation que cela s'est bien passé avec "Completed without error" dans :
Code :
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 16156 -
On peut lancer un long test :
Code :
sudo smartctl -t long /dev/sdX
Une fois le temps achevé, de même, vous pouvez obtenir le résultat avec :
Code :
sudo smartctl -l selftest /dev/sdX
Qui donne :
Code :
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 16157 -
# 2 Short offline Completed without error 00% 16156 -
Les deux tests se sont donc bien passés :)
On va maintenant configurer smartmontools pour qu'il lance tout seul des scans courts et longs à des intervalles choisis. Pour cela il faut éditer le fichier "smartd.conf" :
Code :
sudo nano /etc/smartd.conf
Dedans vous verrez une ligne de test qu'il faut commenter pour désactiver (= ajouter un dièse en début de ligne) :
Code :
#DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner
Et on ajoute les scans des disques en ajoutant des lignes :
Code :
/dev/sdX -a -d sat -o on -S on -s (S/../.././01|L/../../7/03) -m monmail@domaine.tld -M exec /usr/share/smartmontools/smartd-runner
- sdX, vous remplacez le X par la lettre du disque sur lequel vous voulez lancer le test
- a, une option qui en remplace plusieurs d'un coup selon la doc :
Code :
-a Equivalent to turning on all of the following Directives: ´-H´ to check the SMART health status, ´-f´ to report failures of Usage (rather than Prefail) Attributes, ´-t´ to track changes in both Prefailure and Usage Attributes, ´-l selftest´ to report increases in the number of Self-Test Log errors, ´-l error´ to report increases in the number of ATA errors, ´-C 197´ to report nonzero values of the current pending sector count, and ´-U 198´ to report nonzero values of the offline pending sector count.
- s, avec le paramètre "(S/../.././01|L/../../7/03)" qui donne les dates de lancement des tests. La programmation suit le style suivant "T/MM/DD/d/HH" avec T pour l type de test (court ou long), MM qui donne le mois (de 01 pour janvier à 12 pour décembre), DD qui est le jour du mois (de 01 à 31), d qui est le jour de la semaine (de 1 pour lundi à 7 pour dimanche) et HH qui est l'heure du jour. Ici on a donc un test court tous les jours à 1h du matin et un test long tous les dimanches à 3h du matin.
- m, avec le paramètre "monmail@domaine.tld" qui va enoyer un mail à "root" à la fin du test pour avoir les infos.
- M, avec la paramètre "exec /usr/share/smartmontools/smartd-runner" qui permet d'exécuter smartd-runner qui va lancer les scripts dispos dans "/etc/smartmontools/run.d/". Un de ces scripts envoie l'email.
Plus dinfos : http://manpages.ubuntu.com/manpages/trus...onf.5.html
Une fois les changements réalisés, vous redémarrez smartmontools avec la commande :
Code :
/etc/init.d/smartmontools restart
Vous pouvez ausi tester la fonciton d'envoie d'email en modifiant vos commandes précédentes et en mettant :
Code :
/dev/sdX -a -d sat -o on -S on -s (S/../.././01|L/../../7/03) -m monmail@domaine.tld -M test
Vous relancez smartmontools :
Code :
/etc/init.d/smartmontools restart
Et vous devriez recevoir un mail du genre :
Code :
This message was generated by the smartd daemon running on:
host name: hostname
DNS domain: dnsname
The following warning/error was logged by the smartd daemon:
TEST EMAIL from smartd for device: /dev/sda [SAT]
Device info: ST3654560UT, S/N:7MK1TVBB, FW:3.AAD, 250 GB
For details see host's SYSLOG.
Si c'est bon, remettez votre ligne comme avant et relancez smartmontools.
Pour lancer smartmontools automatiquement au lancement de la machine, on édite :
Code :
sudo nano /etc/default/smartmontools
Et on change la ligne suivante en la décommentant :
Code :
# uncomment to start smartd on system startup
start_smartd=yes
Maintenant, si un jour vous recevez un message signalant des erreurs sur un de vos disques :
Code :
The following warning/error was logged by the smartd daemon:
Device: /dev/sda [SAT], 16 Currently unreadable (pending) sectors
Vous pouvez changer ce disque avant qu'il ne rende l'âme complètement.
Des infos pour "prolonger" la vie de ce disque par ici : https://wiki.debian-fr.xyz/Smart_error.