Diagnostic et remplacement d'un disque dur défectueux (Serveur Dédié Linux ou Serveur Bare Metal Linux avec RAID logiciel)
Veuillez utiliser la fonction « Imprimer » au bas de la page pour créer un PDF.
Si vous recevez une notification signalant une défaillance de disque dur ou si vous constatez des anomalies au niveau du système, il est nécessaire d'agir rapidement afin de rétablir la redondance de votre matrice RAID. Dans cet article, vous apprendrez comment identifier un disque dur défectueux sur un serveur dédié Linux équipé d'un RAID logiciel et comment préparer le serveur en vue du remplacement du disque défectueux. Dans cet article, vous apprendrez comment identifier un disque dur défectueux sur un Serveur Dédié Linux ou un Serveur Bare Metal Linux équipé d'un RAID logiciel, et comment préparer le Serveur en vue du remplacement du disque défectueux.
Remarque
Cet article suppose des connaissances de base en administration de serveurs sous Linux. Si vous avez des questions concernant le remplacement d'un disque dur défectueux ou si vous avez besoin d'aide, veuillez prendre contact avec le Service Client IONOS. Vous trouverez ses coordonnées sur la page suivante : Service Client IONOS
Afin de garantir une fiabilité maximale, il est nécessaire de surveiller le RAID logiciel de votre serveur. Si vous recevez un e-mail de notification signalant un disque dur défectueux ou si vous constatez vous-même une défaillance d’un disque dur, vous devez identifier le disque dur défectueux et préparer le serveur en vue du remplacement du disque défectueux. Prenez ensuite contact avec le Service Client IONOS afin d'organiser le remplacement du disque dur.
Attention
Les systèmes RAID offrent une meilleure fiabilité et/ou une vitesse plus élevée. Ils ne remplacent toutefois pas les sauvegardes régulières. Afin d'éviter toute perte de données, nous vous recommandons d'effectuer régulièrement une sauvegarde. Veillez également à effectuer une sauvegarde avant de suivre les étapes décrites ci-dessous afin de garantir la sécurité de vos données.
Vous trouverez plus d'informations sur la création de sauvegardes dans la catégorie suivante du Centre d'Assistance IONOS : Solutions de sauvegarde
Vérifier l'état du RAID logiciel
Établissez une connexion SSH vers votre serveur et connectez-vous au serveur avec votre compte root. Vous trouverez des instructions à ce sujet dans les articles suivants du Centre d'Assistance :
Établir une connexion SSH vers votre serveur Linux depuis un ordinateur sous Microsoft Windows
Établir une connexion SSH vers votre serveur Linux depuis un ordinateur sous LinuxPour vérifier l'état du RAID logiciel, saisissez la commande suivante dans le shell :
cat /proc/mdstat
Interprétation du résultat
RAID intact : un RAID opérationnel est indiqué par l'état [UU] (pour le RAID 1) ou [UUUU] (pour le RAID 5/6 avec 4 disques durs). Chaque « U » signifie « Up » (actif).
Périphérique défectueux/manquant : un [_U] ou [U_] indique qu'un disque dur est manquant ou n'est pas synchronisé.
Marquage « faulty » : un (F) derrière un périphérique (par exemple sdb1[2](F)) signifie que le système a déjà marqué le support de données comme défectueux (« faulty ») au niveau logiciel.
Dans les configurations comportant 2 SSD (système d'exploitation) et des disques durs supplémentaires (données), vous verrez plusieurs périphériques md :
- md1, md2, md127 ou similaire (souvent RAID 1 pour le démarrage/racine (Boot/root))
- md11 ou similaire (souvent RAID 5 ou 6 pour les données)
Vérifiez toutes les sections de la sortie pour détecter l’absence de « Us » ou de la balise « (F) ». Voici un exemple de RAID intact :
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md2 : active raid1 sda3[1] sdb3[0]
262016 blocks [2/2] [UU]
md1 : active raid1 sda2[1] sdb2[0]
119684160 blocks [2/2] [UU]
md0 : active raid1 sda1[1] sdb1[0]
102208 blocks [2/2] [UU]
unused devices: <none>
L'exemple ci-dessus présente trois périphériques multiples ou matrices RAID (md0, md1, md2). Pour chacun de ces disques logiques, le système indique les partitions qui le composent et les disques physiques sur lesquels ces partitions se trouvent. Le disque logique md0 est composé des partitions sda1 et sdb1. Dans la ligne qui figure sous chaque disque logique, l'état de chaque partition est indiqué à la fin de la ligne entre crochets.
Dans l'exemple suivant, une seule partition, située sur le disque dur sda, est montée pour chacun des lecteurs logiques. La partition correspondante, située sur le deuxième disque dur sdb, n’est pas montée. Vous pouvez également le constater grâce à la mention [_U]. Les partitions non montées du disque dur sdb indiquent qu’une erreur ou un défaut est présent sur ce disque dur.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 sda1[1]
102208 blocks [2/1] [_U]
md1 : active raid1 sda2[1]
119684160 blocks [2/1] [_U]
md2 : active raid1 sda3[1]
262016 blocks [2/1] [_U]
unused devices: <none>
Dans l'exemple suivant, un disque dur défectueux est toujours intégré au RAID. Cela se reconnaît à l'information (F) affichée pour md1.
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2](F)
439553856 blocks super 1.0 [2/1] [U_]
bitmap: 1/4 pages [4KB], 65536KB chunk
md1 : active raid1 sdb1[2](F) sda1[0]
19529600 blocks super 1.0 [2/1] [U_]
unused devices: <none>
Diagnostic des pannes de disque dur
Pour détecter les défaillances des disques durs, nous vous recommandons de procéder comme suit :
Installez le programme Smartctl. Smartctl est un programme en ligne de commande permettant de surveiller les disques durs à l'aide de la technologie SMART (Self-Monitoring, Analysis and Reporting Technology). Ce programme vous permet de vérifier si un disque dur est défectueux. Il fait partie de la suite Smartmontools. Les Smartmontools sont disponibles sous forme de paquets pour de nombreuses distributions Linux. Vous trouverez de plus amples informations sur la page suivante : Smartmontools Packages
Remarque
Dans certains cas, il peut arriver qu'une défaillance du disque dur ne puisse pas être détectée à l'aide des valeurs SMART. C'est pourquoi nous vous recommandons d'analyser également le fichier journal /var/log/messages.
Installer Smartctl
Pour installer smartctl, connectez-vous au serveur en tant qu'administrateur.
Installez les paquets nécessaires en fonction de votre distribution :
AlmaLinux 9 et 10 ainsi que Rocky Linux 9 et 10 :
dnf install smartmontools
Debian et Ubuntu :
sudo apt-get install smartmontools
Afficher les informations sur le disque dur
Pour afficher la liste des disques durs, saisissez la commande suivante :
smartctl --scan
Exemple :
[root@localhost ~]# smartctl --scan
/dev/sda -d scsi # /dev/sda, périphérique SCSI
/dev/sdb -d scsi # /dev/sdb, périphérique SCSI
Pour obtenir des informations détaillées permettant de diagnostiquer les erreurs, saisissez la commande suivante :
smartctl -iHAl error [NOM DU DISQUE DUR]
Remarque
Veuillez noter que les interfaces des périphériques doivent être indiquées au format suivant :
Périphériques SCSI / SATA :
smartctl -iHAl error /dev/sd[a-z]
Exemple :
[root@localhost ~] # smartctl -iHAl error /dev/sda
Une fois la commande saisie, les informations suivantes s'affichent, par exemple :
[root@localhost ~]# smartctl -iHAl error /dev/sda
smartctl 6.5 2016-05-07 r4318 [x86_64-linux-3.10.0-862.14.4.el7.x86_64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Device Model: HGST HUS722T1TALA604
Serial Number: WMC6N0K2RW66
LU WWN Device Id: 5 0014ee 004722db0
Firmware Version: RAGNWA07
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri May 3 07:45:14 2019 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always 0
3 Spin_Up_Time 0x0027 183 183 021 Pre-fail Always 3833
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always 9
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always 0
9 Power_On_Hours 0x0032 097 097 000 Old_age Always 2560
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always 9
16 Unknown_Attribute 0x0022 000 200 000 Old_age Always 26802171994
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always 0
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always 4
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always 67
194 Temperature_Celsius 0x0022 116 111 000 Old_age Always 31
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline 0
SMART Error Log Version: 1
No Errors Logged
Interprétation des paramètres et diagnostic des erreurs
Analysez les informations détaillées que vous avez obtenues à l'aide de la commande
smartctl -iHAl error [NOM DU DISQUE DUR]. La première section contient des informations qui vous permettent d'identifier le disque dur :
=== START OF INFORMATION SECTION ===
Device Model: HGST HUS722T1TALA604
Serial Number: WMC6N0K2RW66
LU WWN Device Id: 5 0014ee 004722db0
Firmware Version: RAGNWA07
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: ACS-3 T13/2161-D revision 5
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Fri May 3 07:45:14 2019 UTC
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Cette section affiche notamment le modèle et le numéro de série du disque dur testé.
Dans la deuxième section, Smartctl évalue l'état actuel du disque dur. Si la valeur affichée n'est pas « PASSED », mais par exemple « Failed » ou « UNKNOWN », vous devez faire remplacer le disque dur concerné dans les plus brefs délais.
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
La troisième section présente en détail les valeurs SMART déterminées. À côté de chaque valeur actuelle exprimée en pourcentage (VALUE), figurent la pire valeur jamais mesurée (WORST) et la valeur seuil correspondante (THRESH). Si la valeur actuelle exprimée en pourcentage (VALUE) ou la pire valeur jamais mesurée (WORST) dépasse la valeur seuil (THRESH), un avertissement SMART s'affiche dans la colonne WHEN_FAILED (par exemple, FAILING_NOW).
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x002f 200 200 051 Pre-fail Always 0
3 Spin_Up_Time 0x0027 183 183 021 Pre-fail Always 3833
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always 9
5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always 0
7 Seek_Error_Rate 0x002e 200 200 000 Old_age Always 0
9 Power_On_Hours 0x0032 097 097 000 Old_age Always 2560
10 Spin_Retry_Count 0x0032 100 253 000 Old_age Always 0
11 Calibration_Retry_Count 0x0032 100 253 000 Old_age Always 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always 9
16 Unknown_Attribute 0x0022 000 200 000 Old_age Always 26802171994
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always 0
192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always 4
193 Load_Cycle_Count 0x0032 200 200 000 Old_age Always 67
194 Temperature_Celsius 0x0022 116 111 000 Old_age Always 31
196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always 0
197 Current_Pending_Sector 0x0032 200 200 000 Old_age Always 0
198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline 0
199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Always 0
200 Multi_Zone_Error_Rate 0x0008 100 253 000 Old_age Offline 0
Les paramètres suivants peuvent indiquer une défaillance imminente du disque dur avant même qu'un avertissement SMART ne s'affiche :
Reallocated_Sector_Ct : ceparamètre indique le nombre de secteurs qui ont déjà été réaffectés en raison d'erreurs de lecture. Lorsqu'un secteur ne peut plus être lu, écrit ou vérifié correctement, le contrôleur lui attribue automatiquement un secteur de remplacement provenant de la zone de réserve du disque dur. Le secteur d'origine, défectueux, est marqué de manière permanente comme défectueux et n'est plus utilisé.
Remarque
Une valeur supérieure à zéro n’est pas nécessairement préoccupante, à condition qu’elle reste stable sur une longue période. Cependant, un indicateur critique d’une défaillance imminente du disque dur est un nombre sans cesse croissant de secteurs réaffectés. Afin de détecter un défaut à un stade précoce, vous devez donc consigner régulièrement cette valeur et, en cas d’augmentation continue, procéder immédiatement au remplacement du disque.
Current_Pending_Sector : indique le nombre de secteurs instables en attente de remappage. Lorsqu'un secteur ne peut pas être lu ou écrit correctement, il se voit d'abord attribuer le statut « Current Pending Sector ». Dans cet état, le secteur n'est pas réaffecté, car les données qu'il contient sont inconnues. Ce n'est qu'après plusieurs tentatives infructueuses de lecture ou d'écriture qu'un secteur de remplacement est attribué et que le secteur défectueux est définitivement marqué comme illisible. La valeur « Current_Pending_Sector » est un indicateur important de la nécessité de remplacer un disque dur. Si cette valeur est différente de zéro, cela signifie souvent qu’une panne du disque dur est imminente.
Offline_Uncorrectable : indique le nombre d’erreurs non corrigibles lors des accès en écriture et en lecture aux secteurs.
La dernière section concerne le journal interne du disque dur. Les erreurs y sont consignées lorsque les tâches du Serveur n’ont pas été traitées correctement par le disque dur. Si ce paragraphe affiche un nombre d’erreurs d’au moins deux chiffres, vous devez faire remplacer le disque dur dès que possible.
Consulter les informations détaillées concernant le remplacement du disque dur
Afin de pouvoir procéder au remplacement du disque dur défectueux, les informations suivantes sont nécessaires :
Identifiant du disque dur dans le RAID (par exemple, sda)
Numéro de série
Modèle
Fichier journal (facultatif)
Créer un journal SMART
Pour générer un journal SMART complet, saisissez la commande suivante :
smartctl -x [NOM DU DISQUE DUR]
Exemple :
[root@localhost ~]# smartctl -x /dev/sda
Si le disque dur n'est plus accessible via smartctl, vous pouvez récupérer les informations nécessaires à l'aide du programme hdparm. Pour installer hdparm :
AlmaLinux 9 et AlmaLinux 10, Rocky Linux 9 et Rocky Linux 10
dnf -y install hdparm
Ubuntu/Debian
sudo apt-get update
sudo apt-get install hdparm
Saisissez ensuite la commande suivante pour afficher les informations nécessaires au remplacement du disque dur :
hdparm -i /dev/sda
Remarques
Si le journal SMART a été généré comme décrit ci-dessus, ces informations suffisent. Vous pouvez ensuite procéder au remplacement du disque dur défectueux. Pour ce faire, veuillez prendre contact avec le Service Client.
Si vous ne parvenez pas à obtenir le numéro de série du disque dur défectueux à l'aide de Smartctl, vous pouvez également communiquer au service client le numéro de série du ou des disques durs en bon état.
Préparer le serveur en vue du remplacement du disque dur
Dans l'exemple suivant, on part du principe que le deuxième disque dur (sdb) doit être remplacé. Dans le cadre de la vérification de l'état, l'état suivant du RAID logiciel s'affiche par exemple :
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2]
439553856 blocks super 1.0 [2/1] [UU]
md1 : active raid1 sdb1[2] sda1[0]
19529600 blocks super 1.0 [2/1] [UU]
unused devices: <none>
Dans cet exemple, le deuxième disque dur (sdb) est toujours intégré au RAID et donc toujours en service.
Marquer manuellement le périphérique RAID comme « faulty » pour le retirer du RAID
Pour retirer le disque dur défectueux du RAID, marquez-le comme « faulty ». Pour ce faire, saisissez la commande suivante :
[root@localhost ~]# mdadm CHEMIN_VERS_LE_RAID -f CHEMIN_VERS_LE_DISQUE
Dans les exemples ci-dessous, les disques durs sdb3 et sdb1 sont respectivement marqués comme défectueux :
[root@localhost ~]# mdadm /dev/md3 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md3
[root@localhost ~]# mdadm /dev/md1 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1
Une fois la commande exécutée, le RAID présente l'état suivant :
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0] sdb3[2](F)
439553856 blocks super 1.0 [2/1] [U_]
md1 : active raid1 sdb1[2](F) sda1[0]
19529600 blocks super 1.0 [2/1] [U_]
unused devices: <none>
Supprimer une partition du RAID
Pour supprimer une partition du RAID, saisissez la commande suivante :
[root@localhost ~]# mdadm -r /CHEMIN_VERS_LE_RAID /CHEMIN_VERS_LE_DISQUE
Dans les exemples ci-dessous, les disques durs sdb3 et sdb1 sont respectivement retirés des matrices RAID md3 et md1 :
[root@localhost ~]# mdadm -r /dev/md3 /dev/sdb3
mdadm: hot removed /dev/sdb3 from /dev/md3
[root@localhost ~]# mdadm -r /dev/md1 /dev/sdb1
mdadm: hot removed /dev/sdb1 from /dev/md1
Vérifiez ensuite l'état du RAID. Dans cet exemple, le RAID préparé pour le remplacement des disques durs présente l'état final suivant :
[root@localhost ~]# cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sda3[0]
439553856 blocks super 1.0 [2/1] [U_]
md1 : active raid1 sda1[0]
19529600 blocks super 1.0 [2/1] [U_]
unused devices: <none>
Vérifier les partitions Swap utilisées
Vérifiez quelles partitions Swap sont utilisées par le système d'exploitation. Pour cela, saisissez la commande suivante :
[root@localhost ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 9765884 0 -1
/dev/sdb2 partition 9765884 0 -2
Vous pouvez également vérifier quelles partitions de swap sont définies dans fstab en saisissant la commande suivante :
[root@localhost ~]# grep swap /etc/fstab
/dev/sda2 none swap sw
/dev/sdb2 none swap sw
Désactiver la partition Swap sur le périphérique défectueux
Désactivez la partition Swap sur le disque dur défectueux afin de pouvoir le remplacer. Pour ce faire, saisissez la commande suivante :
[root@localhost ~]# swapoff CHEMIN_VERS_LA_PARTITION
Exemple :
[root@localhost ~]# swapoff /dev/sdb2
Remarque
Si la partition Swap du disque dur défectueux n'est pas désactivée et que le disque dur est remplacé, la partition Swap se voit attribuer le statut « deleted » dans /proc/swaps.
Organiser le remplacement du disque dur
Vous pouvez désormais procéder au remplacement du disque dur défectueux. Pour ce faire, veuillez prendre contact avec le Service Client IONOS. Vous trouverez ses coordonnées sur la page suivante : Service Client IONOS
Étapes à suivre après le remplacement du disque dur
Après avoir remplacé le disque dur défectueux, vous devez reconstruire le RAID logiciel. Pour plus d'informations sur la reconstruction d'un RAID logiciel, consultez l'article suivant du Centre d'Assistance : Reconstruire un RAID logiciel (Linux)
Contenu
- Vérifier l'état du RAID logiciel
- Interprétation du résultat
- Diagnostic des pannes de disque dur
- Interprétation des paramètres et diagnostic des erreurs
- Consulter les informations détaillées concernant le remplacement du disque dur
- Créer un journal SMART
- Préparer le serveur en vue du remplacement du disque dur
- Organiser le remplacement du disque dur
- Étapes à suivre après le remplacement du disque dur
- Haut de page