Diagnostic et remplacement d'un disque dur défectueux (Serveur Dédié Linux avec RAID logiciel)

Dans cet article, nous vous montrons comment identifier un disque dur défectueux sur un Serveur Dédié Linux avec RAID logiciel et comment préparer le serveur pour le remplacement du disque défectueux.

Remarque

Cet article nécessite d'avoir des connaissances de base sur l'administration de serveurs sous Linux. Si vous avez des questions ou si vous avez besoin d'aide supplémentaire concernant le remplacement d'un disque dur défectueux, veuillez contacter le Service Client IONOS.

Pour assurer la plus grande fiabilité possible, il est nécessaire que vous surveilliez le RAID logiciel de votre Serveur Dédié. Si vous découvrez qu'un disque dur est défectueux, ou si vous recevez un email de notification concernant un disque dur défectueux, vous devez contacter le service client pour le remplacer. Pour cela, vous devez identifier le disque dur défectueux et préparer le serveur pour le remplacement du disque.

Veuillez noter

Les systèmes RAID permettent une plus grande fiabilité et/ou une plus grande vitesse. Cependant, ils ne remplacent pas des sauvegardes régulières. Pour éviter toute perte de données, nous vous recommandons de sauvegarder régulièrement vos données. Assurez-vous également de sauvegarder vos données avant d'effectuer les étapes ci-dessous pour assurer la sécurité de vos données. Pour plus d'informations sur la création de sauvegardes, consultez l'article suivant :

Enregistrer des données sur un serveur de sauvegarde (Linux)

Vérification de l'état du RAID logiciel

Pour vérifier l'état du RAID logiciel, entrez la commande suivante dans le Shell :[root@host ~]: cat /proc/mdstat

Si les deux disques durs sont présents et correctement montés, le message suivant s'affiche :[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 montre trois périphériques multiples ou lecteurs logiques (md0, md1, md2). Pour chacun de ces lecteurs logiques, il est indiqué de quelles partitions ils sont composés et sur quels lecteurs ces partitions se trouvent.

Exemple : Le lecteur logique md0 se compose des partitions sda1 et sdb 1.

Dans la ligne sous le lecteur logique, l'état des différentes partitions est affiché entre crochets à la fin de la ligne. Un U signifie que le disque dur correspondant est intégré dans le RAID.

Dans l'exemple suivant, tous les lecteurs logiques n'ont qu'une seule partition montée se trouvant sur le disque dur sda. La partition respective située sur le deuxième disque dur sdb n'est pas incluse. Vous pouvez également le voir à partir de l'entrée [_U]. Les partitions non montées du disque dur sdb indiquent qu'il y a une erreur ou un défaut 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 inclus dans le RAID :[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>

L'entrée (F) dans cet exemple montre que la partition est marquée comme défectueuse (faulty).

Diagnostic et identification des données nécessaires pour le remplacement du disque dur

Afin de détecter les erreurs du disque dur, 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 à l'aide de SMART (Self-Monitoring, Analysis and Reporting Technology). Avec ce programme, vous pouvez vérifier si un disque dur est défectueux. C'est un élément des Smartmontools. Les Smartmontools sont disponibles pour de nombreuses distributions Linux.

Remarque

Dans certains cas, il peut arriver qu'un défaut de disque dur ne soit pas détecté via des valeurs SMART. Nous vous recommandons donc d'analyser également le fichier journal /var/log/messages.

Installer Smartctl

Pour installer Smartctl, tapez la commande suivante :

CentOS

yum install smartmontools

Ubuntu

sudo apt-get install smartmontools

Afficher les informations à propos du disque dur

Pour afficher une liste des disques durs, tapez la commande suivante :

smartctl --scan Exemple :[root@8E8885C ~]# smartctl --scan

/dev/sda -d scsi # /dev/sda, SCSI device
/dev/sdb -d scsi # /dev/sdb, SCSI device

Pour obtenir des informations détaillées sur le disgnostic d'erreur, tapez la commande suivante :

smartctl -iHAl error [NOM DU DISQUE DUR]

Remarque

Veuillez noter que les interfaces des appareils doivent être spécifiées dans le format suivant :

Appareils SCSI / SATA :

smartctl - iHAl error /dev/sd[a-z]Exemple :[root@localhost ~] # smartctl -iHAl error /dev/sda

Après avoir entré la commande, les informations suivantes par exemple s'affichent :

[root@8E8885C ~]# 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 du diagnostic d'erreur

Analysez les informations que vous avez obtenues en utilisant la commande smartctl -iHAl error [NOM DU DISQUE DUR].

La première section énumère les informations que vous pouvez utiliser pour 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, entre autres, le modèle et le numéro de série du disque dur testé.

Dans la deuxième section, l'état actuel du disque dur est évalué par Smartctl. Si, par exemple, la valeur "Failed" ou "UNKNOWN" s'affiche à la place de "PASSED", vous devez remplacer le disque dur dès que possible.

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Dans la troisième section, les VALEURS SMART obtenues sont énumérées en détail. A côté de chaque valeur actuelle en pourcentage (VALUE), vous trouverez la valeur la plus mauvaise jamais mesurée (WORST)et la valeur limite correspondante (THRESH). Si la valeur actuelle en pourcentage (VALUE) ou la pire valeur mesurée (WORST) dépasse la valeur limite (THRESH), un avertissement SMART est affiché dans la colonne WHEN_FAILED (par ex. 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 panne imminente du disque dur avant qu'un avertissement SMART ne s'affiche :

Reallocated_Sector_Ct : Spécifie le nombre de secteurs réassignés en raison d'erreurs de lecture. Si un secteur ne peut plus être lu, écrit ou vérifié correctement, un secteur de remplacement lui est automatiquement assigné. Le secteur défectueux est marqué en permanence comme illisible. Il s'agit d'un avertissement clair d'un problème d'interface naissant. Si cette valeur n'est pas égale à zéro, une panne de disque dur est souvent imminente. Cette valeur est l'indicateur le plus important pour le remplacement d'un disque dur.

Current_Pending_Sector_Ct : Spécifie le nombre de secteurs instables en attente de remappage. Si un secteur ne peut pas être lu ni écrit correctement, il reçoit d'abord le statut Current Pending Sector. Le secteur n'est pas réassigné dans cet état, puisque les données du secteur sont inconnues. Ce n'est qu'après plusieurs tentatives de lecture ou d'écriture infructueuses qu'un secteur de remplacement est attribué et le secteur défectueux est marqué de façon permanente comme illisible. La valeur Current_Pending_Sector_Ct est un indicateur important pour le remplacement d'un disque dur. Si cette valeur n'est pas égale à zéro, une panne de disque dur est souvent imminente.

Offline_Uncorrectable : Spécifie le nombre d'erreurs d'écriture et de lecture non corrigeables.

La dernière section traite du journal interne du disque dur. Les erreurs sont enregistrées ici si les tâches du serveur n'ont pas été traitées correctement par le disque dur. Si le nombre d'erreurs dans cette section se compose d'au moins deux chiffres, vous devez remplacer le disque dur dès que possible.

SMART Error Log Version: 1
No Errors Logged

Rassembler les informations pour le remplacement de disque

Les informations suivantes sont nécessaires pour remplacer le disque dur défectueux :

  • Désignation du disque dur dans le RAID (par ex. sda)

  • Numéro de série

  • Modèle

  • Fichier journal (facultatif)

Créer un journal SMART

Pour créer un SMART-Log complet, tapez la commande suivante :

smartctl –x [NOM DU DISQUE DUR]Exemple :C:\Program Files\smartmontools\bin>smartctl -x /dev/sda -x 

Si le disque dur n'est plus accessible avec Smartctl, vous pouvez obtenir les informations nécessaires via le programme hdparm.

Voici comment installer hdparm :

CentOS

yum -y install hdparm

Ubuntu/Debian
sudo apt-get update
sudo apt-get install hdparm

Ensuite, tapez la commande suivante pour accéder aux informations nécessaires au remplacement du disque :

hdparm -i /dev/sda

Remarques
  • Si le SMART-LOG a été créé comme décrit ci-dessus, vous disposez d'assez d'informations pour faire remplacer le disque dur défectueux. Contactez alors le service client.

  • Si vous ne pouvez pas obtenirle numéro de série du disque dur défectueux à l'aide de Smartctl, vous pouvez également fournir au service client le numéro de série du ou des disques durs en fonctionnement.

Préparer le serveur pour le remplacement du disque dur

Dans l'exemple suivant on suppose que le deuxième disque dur (sdb) doit être remplacé. Lors du contrôle de l''état du RAID logiciel on obtient par exemple :[root@host ~]# 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é dans le RAID et est donc toujours en service.

Marquer manuellement  le Raid Device comme "faulty" pour le retirer du RAID

Pour marquer le disque défectueux comme faulty afin qu'il puisse être retiré du RAID, entrez la commande suivante :

[root@host ~]# mdadm CHEMIN_DU_ARRAY_DU_RAID -f CHEMIN_DU_DISQUE_DUR

Dans les exemples ci-dessous, les disques durs sdb3 et sdb1 sont marqués comme défectueux :[root@host ~]# mdadm /dev/md3 -f /dev/sdb3
mdadm: set /dev/sdb3 faulty in /dev/md3

[root@host ~]# mdadm /dev/md1 -f /dev/sdb1
mdadm: set /dev/sdb1 faulty in /dev/md1
Après avoir entré la commande, le RAID a le statut suivant :[root@host ~]# 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 Multiple Device

Pour supprimer une partition du multiple device, tapez la commande suivante :

[root@host ~]# mdadm -r /CHEMIN_DU_ARRAY_DU_RAID /CHEMIN_DU_DISQUE_DURDans les exemples ci-dessous, les disques durs sdb3 et sdb1 sont supprimés des multiple devices md3 et md1 :[root@host ~]# mdadm –r /dev/md3 /dev/sdb3
mdadm: hot removed /dev/sdb3 from /dev/md3
[root@host ~]# 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, qui a été préparé pour le remplacement du disque, a l'état final suivant :[root@host ~]# 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 ce faire, saisissez la commande suivante :[root@host ~]# cat /proc/swaps

Filename                Type        Size      Used   Priority
/dev/sda2               partition   9765884    0    -1
/dev/sdb2               partition   9765884    0    -2

Alternativement, vous pouvez utiliser la commande suivante pour vérifier quelles partitions swap sont définies dans fstab :[root@host ~]# grep swap /etc/fstab
/dev/sda2    none        swap    sw             
/dev/sdb2    none        swap    sw

Désactiver la partition swap sur l'appareil défectueux

Désactivez la partition swap sur le disque dur défectueux pour qu'elle puisse être remplacée. Pour ce faire, saisissez la commande suivante :

[root@host ~]# swapoff CHEMIN_DU_DISQUE_DUR
Exemple :

root@host ~]# swapoff /dev/sdb2

Remarque

Si la partition swap sur le disque dur défectueux n'est pas désactivée et que le disque dur est remplacé, la partition swap dans /proc/swaps reçoit le statut "deleted".

Demander le remplacement du disque dur

Le disque dur défectueux peut maintenant être remplacé. Veuillez contacter le Service Client IONOS.

Étapes à suivre après le remplacement du disque dur

Après avoir remplacé le disque dur défectueux, il est nécessaire de reconstruire le RAID logiciel. Pour plus d'informations sur la reconstruction d'un RAID logiciel, consultez l'article suivant :

Reconstruire le RAID logiciel (Linux)