Guide des technologies

Remplacer un disque dur défaillant dans un RAID1 sous Linux

4 min read Administration système Mis à jour 09 Oct 2025
Remplacer un disque RAID1 sous Linux
Remplacer un disque RAID1 sous Linux

Ce guide explique pas à pas comment simuler la panne d’un disque, remplacer physiquement un disque défaillant dans un RAID1 logiciel (mdadm), copier la table de partitions, réintégrer le nouveau disque et réinstaller le chargeur d’amorçage. Suivez les commandes dans l’ordre, surveillez /proc/mdstat et attendez la resynchronisation avant de quitter.

Contexte

On part du principe que vous avez un ensemble RAID1 nommé /dev/md0, /dev/md1 et /dev/md2 composé de /dev/sda1..3 et /dev/sdb1..3. Ici nous simulons la panne de /dev/sdb et montrons comment la remplacer par un nouveau disque en conservant la configuration RAID et le chargeur d’amorçage.

Important: effectuez ces opérations en tant que root ou avec sudo. Sauvegardez les données critiques avant toute manipulation sur des systèmes en production.

1) Simuler la panne du disque

Vous pouvez soit éteindre la machine et débrancher physiquement le disque, soit le retirer « logiciellement » :

mdadm --manage /dev/md0 --fail /dev/sdb1
mdadm --manage /dev/md1 --fail /dev/sdb2
mdadm --manage /dev/md2 --fail /dev/sdb3

Puis retirez les périphériques du RAID :

mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm --manage /dev/md2 --remove /dev/sdb3

Arrêtez ensuite la machine si vous remplacez le disque physiquement :

shutdown -h now

Remplacez le disque défaillant par un nouveau disque. Si vous avez simulé /dev/sda, remettez les disques comme il faut (l’ordre des noms de périphériques peut changer selon le BIOS/UEFI).

2) Vérifier l’état du RAID après redémarrage

Après le démarrage, vérifiez l’état :

cat /proc/mdstat

Exemple de sortie indiquant un ensemble dégradé :

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sda1[0]
      104320 blocks [2/1] [U_]

md1 : active raid1 sda2[0]
      513984 blocks [2/1] [U_]

md2 : active raid1 sda3[0]
      4618560 blocks [2/1] [U_]

unused devices: 
[root@server1 ~]#

Vous pouvez aussi lister les disques :

fdisk -l

(La sortie peut montrer que /dev/sdb n’a pas de table de partitions valide.)

3) Copier la table de partitions du disque sain vers le nouveau disque

Pour recopier la table de partitions de /dev/sda vers /dev/sdb :

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

Si sfdisk se plaint (signature manquante), vous pouvez forcer l’opération :

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

Exemple d’interaction :

[root@server1 ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb
Checking that no-one is using this disk right now ...
OK

Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track

sfdisk: ERROR: sector 0 does not have an msdos signature
 /dev/sdb: unrecognized partition table type
Old situation:
No partitions found
New situation:
Units = sectors of 512 bytes, counting from 0

   Device Boot    Start       End   #sectors  Id  System
/dev/sdb1   *        63    208844     208782  fd  Linux raid autodetect
/dev/sdb2        208845   1237004    1028160  fd  Linux raid autodetect
/dev/sdb3       1237005  10474379    9237375  fd  Linux raid autodetect
/dev/sdb4             0         -         0   0  Empty
Successfully wrote the new partition table

Re-reading the partition table ...
[root@server1 ~]#

4) Nettoyer toute trace RAID précédente et ajouter les partitions au RAID

Effacez d’abord d’éventuels superblocs RAID sur les partitions du nouveau disque :

mdadm --zero-superblock /dev/sdb1
mdadm --zero-superblock /dev/sdb2
mdadm --zero-superblock /dev/sdb3

Puis ajoutez-les aux ensembles RAID correspondants :

mdadm -a /dev/md0 /dev/sdb1
mdadm -a /dev/md1 /dev/sdb2
mdadm -a /dev/md2 /dev/sdb3

Vérifiez l’état de la reconstruction :

cat /proc/mdstat

Exemple montrant la progression :

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      513984 blocks [2/2] [UU]

md2 : active raid1 sdb3[2] sda3[0]
      4618560 blocks [2/1] [U_]
      [===>.................]  recovery = 15.4% (715584/4618560) finish=4.9min speed=13222K/sec

unused devices: 
[root@server1 ~]#

Attendez que la resynchronisation soit terminée :

[root@server1 ~]# cat /proc/mdstat
Personalities : [raid1] [raid6] [raid5] [raid4]
md0 : active raid1 sdb1[1] sda1[0]
      104320 blocks [2/2] [UU]

md1 : active raid1 sdb2[1] sda2[0]
      513984 blocks [2/2] [UU]

md2 : active raid1 sdb3[1] sda3[0]
      4618560 blocks [2/2] [UU]

unused devices: 
[root@server1 ~]#

5) Réinstaller le chargeur d’amorçage (GRUB)

Après avoir confirmé que tous les ensembles sont sains, installez GRUB sur les deux disques pour assurer la capacité de démarrage si l’un des disques tombe en panne :

Démarrez grub en mode interactif (sur certaines distributions utilisez grub-install) :

grub

Dans l’invite GRUB, exécutez :

root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit

Cela installe le chargeur d’amorçage sur le MBR/secteur d’amorçage de chaque disque.

Récapitulatif des étapes (mini-méthodologie)

  1. Simuler ou constater la panne et retirer le disque fautif.
  2. Remplacer physiquement le disque et démarrer.
  3. Vérifier /proc/mdstat et fdisk -l.
  4. Copier la table de partitions (sfdisk) du disque sain vers le nouveau.
  5. Effacer tout superbloc existant (mdadm –zero-superblock).
  6. Ajouter les partitions au RAID (mdadm -a).
  7. Surveiller la resynchronisation (/proc/mdstat) jusqu’à 100%.
  8. Réinstaller GRUB sur tous les disques pertinents.

Checklist pour l’administrateur

  • Avoir une sauvegarde récente des données critiques.
  • S’assurer d’un accès root ou sudo.
  • Noter la configuration RAID actuelle (mdadm –detail /dev/mdX).
  • Remplacer physiquement le disque (ou simuler la panne en sécurité).
  • Copier la table de partitions et vérifier les partitions créées.
  • Zero-superblock si nécessaire, puis réintégrer au RAID.
  • Surveiller la reconstruction et attendre son achèvement.
  • Réinstaller le chargeur d’amorçage sur tous les disques.

Quand cette méthode peut échouer et alternatives

  • Si vos disques utilisent GPT au lieu de MBR, préférez sgdisk pour copier la table de partitions (sgdisk –backup/–restore).
  • Si les identifiants de périphériques changent (ordre BIOS/UEFI), vérifiez les UUID et utilisez les chemins basés sur WWN (/dev/disk/by-id/) pour éviter les confusions.
  • Si sfdisk refuse la copie, créer manuellement les partitions avec parted ou fdisk en respectant les tailles et types (type fd pour RAID).
  • Alternative: utiliser clonage secteur par secteur (dd) si la table de partitions est corrompue mais que vous avez un disque identique.

Important: n’utilisez pas dd aveuglément sur des disques en production sans vérifier les tailles et offsets.

Modèle de décision rapide

flowchart TD
  A[Disque défaillant détecté] --> B{Disque physiquement remplacé ?}
  B -- Non --> C[Simuler retrait logiciel et retirer du RAID]
  B -- Oui --> D[Démarrer avec nouveau disque]
  D --> E[Copier table de partitions]
  C --> E
  E --> F[Zero-superblock]
  F --> G[Ajouter partitions au RAID]
  G --> H{Resynchronisation OK ?}
  H -- Non --> I[Attendre / vérifier logs]
  H -- Oui --> J[Réinstaller GRUB sur tous les disques]
  J --> K[Fin]

Glossaire en une ligne

  • mdadm : utilitaire pour gérer les ensembles RAID logiciels sous Linux.
  • sfdisk : outil pour manipuler des tables de partitions DOS/MBR en ligne de commande.
  • zero-superblock : opération mdadm qui efface la signature RAID d’une partition.

Notes finales

Remplacer un disque dans un RAID1 logiciel est une opération courante mais sensible : vérifiez toujours les partitions, surveillez la resynchronisation et assurez-vous que le système est capable de démarrer sur chaque disque. Documentez les actions réalisées et gardez des sauvegardes à jour.

Liens

Auteur
Édition

Matériaux similaires

Magic Mouse se déconnecte ? Guide de dépannage
Périphériques

Magic Mouse se déconnecte ? Guide de dépannage

Compiler et installer un noyau Linux (Mandriva)
Système

Compiler et installer un noyau Linux (Mandriva)

Transformer Android en souris, clavier et manette
Tutos

Transformer Android en souris, clavier et manette

Erreur 500 sur Character.AI — guide de résolution
Dépannage

Erreur 500 sur Character.AI — guide de résolution

Musique de fond pour apps Android
Android

Musique de fond pour apps Android

Prévision des ventes précise
Ventes

Prévision des ventes précise