OpenBSD : smartmontools

Article publié, le et modifié le
5 minutes de lecture

Cet article contient 907 mots.
Source brute de l'article : MD

Description

Sous OpenBSD, il est possible de surveiller l’état de son|ses disque(s) dur(s), nativement par le biais de l’outil atactl, qui reste basique, mais fait le job.

Néanmoins concentrons-nous sur le projet smartmontools… qui est disponible en tant que paquet.

Installation

# pkg_add smarmontools

Configuration

Le fichier de configuration est /etc/smartd.conf.

Selon l’emplacement de votre disque dur, il peut être intéressant de le paramètrer ainsi :

/dev/sd0c -a -o on -S on -s (S/../.././02|L/../../7/03)

Qui :

  • surveillera tous les attributs
  • activera la collection des données automatiquement
  • effectuera un test court tous les jours à partir de 2h du matin
  • effectuera un test long tous les dimanches dès 3h du matin.

⇒ Syntaxe :

la syntaxe entre parenthèses est : T/MM/DD/d/HH

Où :

  • T est le type de Test :
    • C pour un test de transmission
    • L pour un test long
    • O pour un test immédiat hors-ligne
    • S pour un test court
  • MM est le mois de l’année en format numérique, de 01 à 12
  • DD est le jour dans le mois, en format numérique, de 01 à 31
  • d est le jour dans la semaine, en format numérique, de 1 à 7 ; 1 étant Lundi…
  • HH est l’heure, de 01 à 23

⇒ Activation du démon logiciel :

# rcctl enable smartd
# rcctl start smartd

Utilisation

Informations

⇒ Obtenir les informations du disque dur :

# smartcl -i /dev/sd1c

Exemple :

$ doas smartctl -i /dev/sd1c                  
smartctl 7.1 2019-12-30 r5022 [x86_64-unknown-openbsd6.8] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     SAMSUNG SpinPoint F1 DT
Device Model:     SAMSUNG HD103UJ
Serial Number:    S13PJ9CZ200215
LU WWN Device Id: 5 0024e9 201ee0406
Firmware Version: 1AA01118
User Capacity:    1,000,204,886,016 bytes [1.00 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA/ATAPI-7, ATA8-ACS T13/1699-D revision 3b
Local Time is:    Fri Feb 19 12:27:52 2021 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

Exécution de tests

⇒ Exécuter un test smart court :

# smartctl -t short /dev/sd1c

Exemple :

$ doas smartctl -t short /dev/sd1c            
smartctl 7.1 2019-12-30 r5022 [x86_64-unknown-openbsd6.8] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Short self-test routine immediately in off-line mode".
Drive command "Execute SMART Short self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 2 minutes for test to complete.
Test will complete after Fri Feb 19 12:30:26 2021 CET
Use smartctl -X to abort test.

⇒ Exécuter un test smart long :

# smartctl -t long /dev/sd1c

Exemple :

$ doas smartctl -t long /dev/sd1c               
smartctl 7.1 2019-12-30 r5022 [x86_64-unknown-openbsd6.8] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Extended self-test routine immediately in off-line mode".
Drive command "Execute SMART Extended self-test routine immediately in off-line mode" successful.
Testing has begun.
Please wait 228 minutes for test to complete.
Test will complete after Fri Feb 19 17:00:35 2021 CET
Use smartctl -X to abort test.

Gestion des logs

⇒ Vérifier rapidement les erreurs :

# smartctl -l error /dev/sd1c

Exemple correct :

$ doas smartctl -l error /dev/sd1c 
smartctl 7.1 2019-12-30 r5022 [x86_64-unknown-openbsd6.8] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Error Log Version: 1
No Errors Logged

⇒ Vérifier les résultats des auto-test :

# smartctl -l selftest /dev/sd1c

Exemple correct :

$ doas smartctl -l selftest /dev/sd1c
smartctl 7.1 2019-12-30 r5022 [x86_64-unknown-openbsd6.8] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== 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%     21190         -

Exemple avec erreur :

$ doas smartctl -l selftest /dev/sd1c 
smartctl 7.1 2019-12-30 r5022 [x86_64-unknown-openbsd6.8] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== 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: read failure       20%     20826         1800697692
# 2  Short offline       Completed without error       00%     20817         -

Ici l’auto-test ne va pas jusqu’au bout de l’analyse.


Affichage de la température

⇒ Afficher la température du disque :

# smartctl -l scttemp /dev/sd1c

Exemple :

$ doas smartctl -l scttemp /dev/sd1c 
smartctl 7.1 2019-12-30 r5022 [x86_64-unknown-openbsd6.8] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SCT Status Version:                  2
SCT Version (vendor specific):       256 (0x0100)
Device State:                        Active (0)
Current Temperature:                    27 Celsius
Power Cycle Min/Max Temperature:     --/27 Celsius
Lifetime    Min/Max Temperature:     --/55 Celsius

SCT Temperature History Version:     2
Temperature Sampling Period:         1 minute
Temperature Logging Interval:        1 minute
Min/Max recommended Temperature:     -4/72 Celsius
Min/Max Temperature Limit:           -9/77 Celsius
Temperature History Size (Index):    128 (29)

Index    Estimated Time   Temperature Celsius
  30    2021-02-19 10:47    24  *****
  31    2021-02-19 10:48    23  ****
  32    2021-02-19 10:49    23  ****
  33    2021-02-19 10:50    24  *****
  34    2021-02-19 10:51    23  ****
  35    2021-02-19 10:52    23  ****
  36    2021-02-19 10:53    23  ****
  37    2021-02-19 10:54    24  *****
  38    2021-02-19 10:55    23  ****
  39    2021-02-19 10:56    24  *****

Toutes les données

⇒ Afficher les données complètes :

# smartctl -a /dev/sd1c


Documentations

  • $ man smartd smartd.conf
  • La documentation officielle du projet sur smartmontools.org.