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/mdstatet 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/sdb1La sortie de
cat /proc/mdstatdevrait 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/sdb1La sortie devrait être comme ceci :
server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1Et
cat /proc/mdstatdevrait 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/sdb2cat /proc/mdstatserver1:~# 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/sdb2server1:~# mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm: hot removed /dev/sdb2cat /proc/mdstatserver1:~# 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 nowet 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/sdbVous pouvez exécuter
fdisk -lpour 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/sdb1server1:~# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: re-added /dev/sdb1mdadm --manage /dev/md1 --add /dev/sdb2server1:~# mdadm --manage /dev/md1 --add /dev/sdb2
mdadm: re-added /dev/sdb2Maintenant, les deux tableaux (/dev/md0 et /dev/md1) seront synchronisés. Exécutez
cat /proc/mdstatpour 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 !
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.