Files
serv_benchmark/docs/SMART_GUIDE.md
Gilles Soulier c67befc549 addon
2026-01-05 16:08:01 +01:00

7.1 KiB
Executable File
Raw Permalink Blame History

Guide des Données SMART - Santé et Vieillissement des Disques

Introduction

Le script script_test.sh collecte automatiquement les données SMART (Self-Monitoring, Analysis and Reporting Technology) pour tous les disques physiques détectés. Ces données permettent de surveiller l'état de santé et le vieillissement des disques durs (HDD) et SSD.

Données Collectées

Indicateurs Communs (HDD et SSD)

1. État de Santé Global

"health_status": "PASSED"  // ou "FAILED" ou null
  • PASSED : Le disque passe tous les auto-tests SMART
  • FAILED : Le disque a échoué aux tests SMART 🔴 (remplacer immédiatement)
  • null : SMART non supporté ou données non disponibles

2. Heures de Fonctionnement

"power_on_hours": 12543
  • Nombre total d'heures pendant lesquelles le disque a été alimenté
  • Interprétation :
    • < 10,000h : Jeune
    • 10,000-30,000h : Utilisé normalement
    • > 30,000h : Vieillissant (> 3.4 ans de fonctionnement continu)
    • > 50,000h : Très vieux (> 5.7 ans)

3. Cycles d'Alimentation

"power_cycle_count": 1876
  • Nombre de fois où le disque a été allumé/éteint
  • Les arrêts/démarrages fréquents peuvent réduire la durée de vie

4. Température

"temperature_celsius": 42
  • Température actuelle du disque en degrés Celsius
  • Plages recommandées :
    • HDD : 25-45°C optimal, < 50°C acceptable
    • SSD : 30-50°C optimal, < 70°C acceptable
    • ⚠️ > 60°C (HDD) ou > 80°C (SSD) : Surchauffe dangereuse

Indicateurs Critiques de Défaillance

5. Secteurs Réalloués

"reallocated_sectors": 0
  • Nombre de secteurs défectueux qui ont été remplacés par des secteurs de réserve
  • CRITIQUE : Ce compteur ne devrait JAMAIS augmenter sur un disque sain
  • Interprétation :
    • 0 : Disque sain
    • 1-10 : Début de défaillance ⚠️ (surveiller de près)
    • > 10 : Défaillance avancée 🔴 (planifier le remplacement)
    • > 100 : Défaillance critique 🔴 (remplacer immédiatement)

6. Secteurs en Attente de Réallocation

"pending_sectors": 0
  • Secteurs instables en attente de réallocation
  • TRÈS CRITIQUE : Indique une défaillance imminente
  • Interprétation :
    • 0 : Normal
    • > 0 : Défaillance imminente 🔴 (sauvegarder et remplacer MAINTENANT)

7. Erreurs CRC UDMA

"udma_crc_errors": 0
  • Erreurs de transmission de données (câble SATA/USB ou interface défectueux)
  • Interprétation :
    • 0 : Connexion saine
    • 1-5 : Problème de câble/connexion ⚠️ (vérifier le câble)
    • > 10 : Câble défectueux ou problème d'interface 🔴

Indicateurs Spécifiques aux SSD

8. Wear Leveling Count

"wear_leveling_count": 97
  • Représente le pourcentage de durée de vie restante des cellules NAND
  • Généralement affiché comme une valeur de 0 à 100
  • Interprétation :
    • 100-80 : SSD neuf/très bon état
    • 79-50 : Usure normale
    • 49-20 : Usure avancée ⚠️
    • < 20 : Fin de vie proche 🔴 (planifier remplacement)

9. Total LBAs Written

"total_lbas_written": 45678901234
  • Volume total de données écrites sur le SSD (en blocs logiques)
  • Permet de calculer l'usure totale du SSD
  • Calcul approximatif de données écrites :
    • Total_GB_Written = (total_lbas_written × 512) / 1,073,741,824
    • Exemple : 45,678,901,234 LBAs ≈ 21.8 TB écrits

Exemple de Sortie Complète

Disque SSD Sain

{
  "device": "nvme0n1",
  "model": "Samsung SSD 970 EVO Plus 500GB",
  "size_gb": "465.8",
  "type": "ssd",
  "interface": "nvme",
  "serial": "S4EWNX0R123456",
  "smart": {
    "health_status": "PASSED",
    "power_on_hours": 8543,
    "power_cycle_count": 1234,
    "temperature_celsius": 38,
    "reallocated_sectors": 0,
    "pending_sectors": 0,
    "udma_crc_errors": 0,
    "wear_leveling_count": 95,
    "total_lbas_written": 12345678901
  }
}

Diagnostic : Disque en excellent état

Disque HDD avec Début de Défaillance

{
  "device": "sda",
  "model": "WD Blue 1TB",
  "size_gb": "931.5",
  "type": "hdd",
  "interface": "sata",
  "serial": "WD-WCC1234567890",
  "smart": {
    "health_status": "PASSED",
    "power_on_hours": 42567,
    "power_cycle_count": 3456,
    "temperature_celsius": 41,
    "reallocated_sectors": 8,
    "pending_sectors": 0,
    "udma_crc_errors": 1,
    "wear_leveling_count": null,
    "total_lbas_written": null
  }
}

Diagnostic :

  • ⚠️ 8 secteurs réalloués : Début de défaillance
  • ⚠️ 42,567 heures (4.8 ans) : Disque vieillissant
  • Action : Surveiller de près, planifier un remplacement préventif

Disque Défaillant (À Remplacer)

{
  "device": "sdb",
  "model": "Seagate Barracuda 2TB",
  "size_gb": "1863.0",
  "type": "hdd",
  "interface": "sata",
  "serial": "ST2000DM001-XXXXXXX",
  "smart": {
    "health_status": "FAILED",
    "power_on_hours": 67890,
    "power_cycle_count": 5678,
    "temperature_celsius": 52,
    "reallocated_sectors": 156,
    "pending_sectors": 3,
    "udma_crc_errors": 45,
    "wear_leveling_count": null,
    "total_lbas_written": null
  }
}

Diagnostic :

  • 🔴 health_status: "FAILED" : Test SMART échoué
  • 🔴 156 secteurs réalloués : Défaillance massive
  • 🔴 3 secteurs en attente : Défaillance active en cours
  • 🔴 52°C : Surchauffe
  • Action : SAUVEGARDER IMMÉDIATEMENT et remplacer le disque

Commandes de Diagnostic Manuel

Voir les données SMART brutes

sudo smartctl -A /dev/sda

Tester la santé d'un disque

sudo smartctl -H /dev/sda

Voir toutes les informations SMART

sudo smartctl -a /dev/sda

Lancer un test court (5 minutes)

sudo smartctl -t short /dev/sda
# Attendre 5 minutes, puis vérifier les résultats
sudo smartctl -l selftest /dev/sda

Lancer un test long (plusieurs heures)

sudo smartctl -t long /dev/sda
# Attendre la fin du test (peut prendre 2-12h selon le disque)
sudo smartctl -l selftest /dev/sda

Recommandations

Surveillance Régulière

  • Exécuter le script de benchmark mensuellement pour suivre l'évolution
  • Comparer les valeurs SMART d'un mois à l'autre
  • Toute augmentation de reallocated_sectors ou pending_sectors est un signal d'alarme

Planification de Remplacement

  • Remplacer immédiatement si :

    • health_status: "FAILED"
    • pending_sectors > 0
    • reallocated_sectors > 100
  • Planifier un remplacement si :

    • reallocated_sectors augmente régulièrement
    • power_on_hours > 50,000 sur un HDD
    • wear_leveling_count < 20 sur un SSD
    • Température constamment > 55°C (HDD) ou > 75°C (SSD)

Sauvegardes

  • Sauvegarde 3-2-1 :
    • 3 copies de vos données
    • 2 supports différents
    • 1 copie hors site

Références