Passer au contenu principal

Guide de validation des disques durs avant mise en production

Première étape : Tests S.M.A.R.T.

S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology / Technologie d'auto-surveillance, d'analyse et de rapport) est un système de surveillance intégré aux disques durs qui détecte et signale divers indicateurs de fiabilité dans le but de prévoir les défaillances matérielles.

Nous utiliserons smartmontools pour cette étape afin d'obtenir l'état du disque dur avant de le soumettre au test de stress. Le paquet dont vous aurez besoin d'installer s'appelle smartmontools :

Vous pouvez suivre la progression de n'importe lequel des tests suivants avec cette commande : smartctl -a /dev/sdX

La progression (en pourcentage) du test se trouve sur la ligne Self-test execution status:

Capture d’écran du 2025-11-03 21-39-35 (Modifier).png

La valeur zéro (0) signifie que notre test est terminé ou qu'aucun test n'est en cours d'exécution. Vous pouvez toujours interrompre un test avec smartctl -X /dev/sdX

Remplacez X par la lettre de votre lecteur

Test court

Le test court effectue un diagnostic rapide des composants essentiels du disque (électronique, têtes de lecture, secteurs critiques).

smartctl -t short /dev/sdX

smart-short

Environ 2 minutes pour un disque dur de 4 To.

Test de transport

Le test de transport détecte les dommages survenus pendant l'expédition (chocs, vibrations). Recommandé pour les disques neufs.

smartctl -t conveyance /dev/sdX

smart-conveyance

Environ 5 minutes pour un disque dur de 4 To.

Test long

Le test long analyse l'intégralité de la surface du disque, secteur par secteur. C'est le test le plus complet.

smartctl -t long /dev/sdX

smart-long

Environ 500 minutes pour un disque dur de 4 To. Ce test peut prendre beaucoup de temps, selon la taille de votre disque dur.

Deuxième étape : Mise sous contrainte du disque dur

Préparation

Cette étape doit être effectuée via SSH, en utilisant tmux. Cela permettra de maintenir le test en cours même si la connexion est perdue. Activez le service SSH sur TrueNAS (Paramètres système -> Services -> SSH)

ssh-enable

Ouvrez le client SSH de votre choix, j'utiliserai Putty. Connectez-vous en SSH à TrueNAS en utilisant son adresse IP et vos identifiants.

putty

Tapez tmux. Vous pouvez maintenant voir une barre verte en bas du terminal.

tmux

Test de stress du disque dur

Maintenant, soumettons le disque dur au test de stress

sudo badblocks -b 4096 -wvs /dev/sdX

-b définit la taille de bloc -w effectue un test destructif, ce qui signifie qu'il SUPPRIMERA toutes les données présentes sur ce disque -v affiche les informations détaillées -s affiche la progression

badblocks effectue 4 passes :

- Première passe : test avec le motif 0xaa (10101010)
- Puis lecture et comparaison
- Deuxième passe : test avec le motif 0x55 (01010101)
- Puis lecture et comparaison
- Troisième passe : test avec le motif 0xff (11111111)
- Puis lecture et comparaison
- Quatrième passe : test avec le motif 0x00 (00000000)
- Puis lecture et comparaison

Image de badblocks en cours d'exécution

Si vous voulez tester en une seule passe :

sudo badblocks -wsv -t random -p 1 /dev/sdX

Pour lancer le test sur d'autres disques durs, appuyez sur Ctrl + B puis sur ", cela divisera l'écran, vous pourrez alors exécuter badblocks sur le disque suivant. Vous pouvez diviser l'écran autant de fois que vous le souhaitez.

image.png

Après avoir lancé badblocks pour tous vos disques durs, vous pouvez laisser la connexion SSH ouverte ou la fermer. Pour vous reconnecter plus tard, reconnectez-vous en SSH à TrueNAS et exécutez tmux attach

Exemple de résultat de badblocks pour des disques durs en bon état :

truenas# badblocks -b 4096 -wvs /dev/sda
Checking for bad blocks in read-write mode
From block 0 to 976754645
Testing with pattern 0xaa: done
Reading and comparing: done
Testing with pattern 0x55: done
Reading and comparing: done
Testing with pattern 0xff: done
Reading and comparing: done
Testing with pattern 0x00: done
Reading and comparing: done
Pass completed, 0 bad blocks found. (0/0/0 errors)

Troisième étape : Résultats

Une fois le test de stress badblocks terminé, nous devons effectuer un autre test long sur chaque disque dur pour vérifier qu'aucun problème n'est apparu suite au stress intensif.

smartctl -t long /dev/sdX

Une fois le test long terminé, il est temps d'obtenir nos résultats. Nous les obtenons avec cette commande :

smartctl -A /dev/sdX (Notez le A majuscule)

Les champs importants sont les lignes Reallocated_Sector_Ct, Current_Pending_Sector et Offline_Uncorrectable. Toutes ces valeurs doivent avoir une RAW_VALUE de 0, même si le champ VALUE affiche 200. Tout résultat supérieur à 0 devrait être une raison de demander un RMA.

Résultat de smartctl -A /dev/sdX pour des disques durs en bon état :

smart-results