RAID1 Guide · 3 min read · Dec 25, 2025

Remplacer un disque dur défaillant dans un tableau RAID1 logiciel

Remplacer un disque dur défaillant dans un tableau RAID1 logiciel. Ce guide montre comment retirer un disque dur défaillant d’un tableau RAID1 Linux (RAID logiciel) et comment ajouter un nouveau disque dur au tableau RAID1 sans perdre de données.

NOTE : Il existe une nouvelle version de ce tutoriel disponible qui utilise gdisk au lieu de sfdisk pour prendre en charge les partitions GPT.

1 Remarque préliminaire

Dans cet exemple, j’ai deux disques durs, /dev/sda et /dev/sdb, avec les partitions /dev/sda1 et /dev/sda2 ainsi que /dev/sdb1 et /dev/sdb2.

/dev/sda1 et /dev/sdb1 constituent le tableau RAID1 /dev/md0.

/dev/sda2 et /dev/sdb2 constituent le tableau RAID1 /dev/md1.

/dev/sda1 + /dev/sdb1 = /dev/md0
/dev/sda2 + /dev/sdb2 = /dev/md1

/dev/sdb a échoué, et nous voulons le remplacer.

2 Comment savoir si un disque dur a échoué ?

Si un disque a échoué, vous trouverez probablement beaucoup de messages d’erreur dans les fichiers journaux, par exemple /var/log/messages ou /var/log/syslog.

Vous pouvez également exécuter

cat /proc/mdstat

et au lieu de la chaîne [UU], vous verrez [U_] si vous avez un tableau RAID1 dégradé.

3 Retrait du disque défaillant

Pour retirer /dev/sdb, nous allons marquer /dev/sdb1 et /dev/sdb2 comme défaillants et les retirer de leurs tableaux RAID respectifs (/dev/md0 et /dev/md1).

Tout d’abord, nous marquons /dev/sdb1 comme défaillant :

mdadm --manage /dev/md0 --fail /dev/sdb1

La sortie de

cat /proc/mdstat

devrait ressembler à ceci :

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[2](F)  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

Ensuite, nous retirons /dev/sdb1 de /dev/md0 :

mdadm --manage /dev/md0 --remove /dev/sdb1

La sortie devrait être comme ceci :

server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1  
mdadm: hot removed /dev/sdb1

Et

cat /proc/mdstat

devrait montrer ceci :

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

Maintenant, nous faisons les mêmes étapes pour /dev/sdb2 (qui fait partie de /dev/md1) :

mdadm --manage /dev/md1 --fail /dev/sdb2
cat /proc/mdstat
server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0] sdb2[2](F)  
      24418688 blocks [2/1] [U_]  
  
unused devices: 
mdadm --manage /dev/md1 --remove /dev/sdb2
server1:~# mdadm --manage /dev/md1 --remove /dev/sdb2  
mdadm: hot removed /dev/sdb2
cat /proc/mdstat
server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0]  
      24418688 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0]  
      24418688 blocks [2/1] [U_]  
  
unused devices: 

Ensuite, éteignez le système :

shutdown -h now

et remplacez l’ancien disque dur /dev/sdb par un nouveau (il doit avoir au moins la même taille que l’ancien - s’il est seulement quelques Mo plus petit que l’ancien, la reconstruction des tableaux échouera).

4 Ajout du nouveau disque dur

Après avoir changé le disque dur /dev/sdb, démarrez le système.

La première chose que nous devons faire maintenant est de créer la même partition que sur /dev/sda. Nous pouvons le faire avec une simple commande :

sfdisk -d /dev/sda | sfdisk /dev/sdb

Vous pouvez exécuter

fdisk -l

pour vérifier si les deux disques durs ont maintenant la même partition.

Ensuite, nous ajoutons /dev/sdb1 à /dev/md0 et /dev/sdb2 à /dev/md1 :

mdadm --manage /dev/md0 --add /dev/sdb1
server1:~# mdadm --manage /dev/md0 --add /dev/sdb1  
mdadm: re-added /dev/sdb1
mdadm --manage /dev/md1 --add /dev/sdb2
server1:~# mdadm --manage /dev/md1 --add /dev/sdb2  
mdadm: re-added /dev/sdb2

Maintenant, les deux tableaux (/dev/md0 et /dev/md1) seront synchronisés. Exécutez

cat /proc/mdstat

pour voir quand c’est terminé.

Pendant la synchronisation, la sortie ressemblera à ceci :

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[1]  
      24418688 blocks [2/1] [U_]  
      [=>...................]  recovery =  9.9% (2423168/24418688) finish=2.8min speed=127535K/sec  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/1] [U_]  
      [=>...................]  recovery =  6.4% (1572096/24418688) finish=1.9min speed=196512K/sec  
  
unused devices: 

Lorsque la synchronisation est terminée, la sortie ressemblera à ceci :

server1:~# cat /proc/mdstat  
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]  
md0 : active raid1 sda1[0] sdb1[1]  
      24418688 blocks [2/2] [UU]  
  
md1 : active raid1 sda2[0] sdb2[1]  
      24418688 blocks [2/2] [UU]  
  
unused devices: 

C’est tout, vous avez réussi à remplacer /dev/sdb !

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.