Guide des technologies

Remplacer un disque dur défaillant dans un RAID1 : test et procédure

6 min read Linux RAID Mis à jour 28 Sep 2025
Remplacer un disque RAID1 : test et procédure
Remplacer un disque RAID1 : test et procédure

Simulez une panne de disque, remplacez le disque, recopiez la table de partitions, nettoyez les superblocs RAID puis réintégrez le disque avec mdadm. Synchronisez et réinstallez le chargeur d’amorçage sur les deux disques. Cette procédure couvre les vérifications, les commandes et les cas d’échec courants.

Contexte

Ce guide explique comment tester et remplacer un disque dur dans un ensemble RAID1 logiciel (mdadm) sous Linux. Il suppose un volume RAID1 composé de /dev/sda et /dev/sdb et montre la procédure complète, depuis la simulation de la panne jusqu’à la remise en état et la réinstallation du chargeur d’amorçage.

Définition rapide : mdadm est l’outil de gestion des ensembles RAID logiciels Linux. RAID1 réplique les données sur deux disques pour tolérance de panne.

1. Simulation d’une panne

Vous pouvez simuler une panne en retirant physiquement le disque ou en marquant la partition comme défaillante puis en la retirant du raid (soft-remove). Dans cet exemple, on suppose que /dev/sdb est le disque défaillant.

Exemples de commandes pour marquer et retirer les partitions RAID :

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

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

Pour arrêter le système (option physique) :

shutdown -h now

Remplacez le disque physique par un neuf puis redémarrez la machine. Si vous avez simulé la panne en retirant /dev/sda, replacez le nouveau disque à la place de /dev/sda et connectez l’ancien/similaire comme /dev/sdb selon votre configuration matérielle. Le système doit démarrer en mode dégradé.

2. Vérifier l’état du RAID

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

cat /proc/mdstat

Exemple de sortie :

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

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

unused devices: 
[root@server1 ~]#

Vérifiez aussi les disques et les partitions :

fdisk -l

Exemple de sortie (à lire attentivement pour vérifier quels disques ont une table de partitions valide) :

[root@server1 ~]# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   fd  Linux raid autodetect
/dev/sda2             14        1305    10377990   fd  Linux raid autodetect

Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/md1: 10.6 GB, 10626990080 bytes
2 heads, 4 sectors/track, 2594480 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md0: 106 MB, 106823680 bytes
2 heads, 4 sectors/track, 26080 cylinders
Units = cylinders of 8 * 512 = 4096 bytes

Disk /dev/md0 doesn't contain a valid partition table
[root@server1 ~]#

3. Recopier la table de partitions

Si le nouveau disque (/dev/sdb) n’a pas de table de partitions, recopiez celle de /dev/sda sur /dev/sdb avec sfdisk :

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

Si sfdisk signale une erreur liée à l’ancienne signature, utilisez –force :

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

Exemple d’échange :

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

Disk /dev/sdb: 1305 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  20964824   20755980  fd  Linux raid autodetect
/dev/sdb3             0         -         0   0  Empty
/dev/sdb4             0         -         0   0  Empty
Successfully wrote the new partition table

Re-reading the partition table ...

If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
[root@server1 ~]#

Important : vérifiez que les partitions copiées correspondent bien en taille et en type.

4. Nettoyer d’éventuels superblocs RAID et ajouter le disque

Avant d’ajouter le disque au RAID, effacez tout ancien superbloc RAID résiduel :

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

Puis ajoutez les partitions au RAID :

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

Vérifiez la synchronisation en cours :

cat /proc/mdstat

Exemple de sortie pendant la reconstruction :

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

md1 : active raid1 sdb2[2] sda2[0]
10377920 blocks [2/1] [U_]
[======>..............]  recovery = 32.3% (3360768/10377920) finish=1.5min speed=74238K/sec

unused devices: 
[root@server1 ~]#

Attendez la fin de la synchronisation. Quand elle est terminée, les deux ensembles doivent indiquer [UU] :

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

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

unused devices: 
[root@server1 ~]#

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

Pour être sûr que le système peut démarrer si l’un des disques échoue, installez GRUB sur les deux disques :

grub

Dans l’invite GRUB, exécutez :

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

Remarque : selon la version de GRUB (grub legacy vs grub2), la procédure pour installer le chargeur diffère. Ici l’exemple utilise l’ancienne interface GRUB. Pour grub2, utilisez grub-install /dev/sda et grub-install /dev/sdb.

6. Contre-exemples et cas où la procédure peut échouer

  • Table de partitions irréconciliable : si /dev/sda a des partitions non standard (ex : GPT avec offsets différents), sfdisk peut échouer.
  • Différences de taille physique : un nouveau disque légèrement plus petit empêche la copie des partitions. Vérifiez la capacité réelle en octets.
  • Disque avec secteurs défectueux : la synchronisation peut échouer ou être très lente.
  • Mauvaise numérotation des disques : selon l’ordre de détection, sda et sdb peuvent être inversés. Vérifiez les UUID et les numéros de périphériques.

Que faire si la reconstruction échoue : vérifier les logs (dmesg, /var/log/messages), relire les commandes, re-tenter la suppression des superblocs et refaire l’ajout. Si la partition source est corrompue, restaurez depuis sauvegarde.

7. Approches alternatives

  • Utiliser dd pour cloner la table de partitions ou même le disque entier : dd if=/dev/sda of=/dev/sdb bs=512 count=1 (attention aux conséquences et vérifiez la taille).
  • Pour GPT, utiliser sgdisk –backup / –load-backup afin de gérer les tables GPT.
  • Pour grub2 : après reconstruction, lancer grub-install –recheck /dev/sda et /dev/sdb puis update-grub.
  • Si vous utilisez LVM au-dessus du RAID, adaptez la procédure pour réactiver les volumes physiques.

8. Checklist par rôle

Administrateur système

  • Vérifier l’état du RAID (cat /proc/mdstat).
  • Copier la table de partitions et vérifier les tailles.
  • Effacer les superblocs et réintégrer le disque.
  • Lancer et surveiller la reconstruction.
  • Réinstaller GRUB sur chaque disque.

Opérateur / Technicien matériel

  • Remplacer le disque physique et s’assurer des connexions.
  • Identifier correctement le disque neuf (LED, slot, numéro logique).
  • Reporter toute anomalie (bruit, erreurs SMART).

9. Critères d’acceptation

  • Le RAID indique [UU] pour tous les ensembles.
  • Le système démarre correctement si l’on débranche l’un des disques.
  • GRUB est installé sur les deux disques et chaque disque est bootable indépendamment.
  • Les partitions sur le disque remplacé correspondent en taille et en type à l’original.

10. Fiche pratique : commandes essentielles

  • Vérifier l’état du RAID : cat /proc/mdstat
  • Marquer comme défaillant : mdadm –manage /dev/mdX –fail /dev/sdYpZ
  • Retirer du RAID : mdadm –manage /dev/mdX –remove /dev/sdYpZ
  • Copier table de partitions : sfdisk -d /dev/sda | sfdisk /dev/sdb
  • Zéroter superbloc : mdadm –zero-superblock /dev/sdYpZ
  • Ajouter au RAID : mdadm -a /dev/mdX /dev/sdYpZ
  • Réinstaller GRUB (legacy) : utiliser l’interface grub
  • Réinstaller GRUB2 : grub-install /dev/sda && grub-install /dev/sdb && update-grub

11. Boîte à outils mentale et heuristiques

  • Toujours vérifier deux fois quel périphérique est /dev/sda ou /dev/sdb avant d’écrire la table de partitions.
  • Préférer les UUID ou labels dans /etc/fstab pour réduire la dépendance à la numérotation des disques.
  • Pendant la reconstruction, évitez les opérations d’E/S intensives sur le serveur pour accélérer la rebuild.

12. Résumé

Vous avez simulé une panne, remplacé un disque, recopié la table de partitions, effacé d’anciens superblocs, réintégré le disque à l’ensemble RAID, attendu la reconstruction et réinstallé le chargeur d’amorçage. Vérifiez toujours l’intégrité finale et la capacité de démarrage sur chaque disque.

Important : adaptez la procédure à votre version de GRUB et à la table de partitions (MBR vs GPT). Sauvegardez les données critiques avant toute modification de bas niveau.

Liens

Auteur
Édition

Matériaux similaires

Gérer l'historique de lecture YouTube
Confidentialité

Gérer l'historique de lecture YouTube

Voir le nombre de dislikes YouTube — guide pratique
Tutoriel

Voir le nombre de dislikes YouTube — guide pratique

Ajouter un forum à votre blog Tumblr
Tutoriel

Ajouter un forum à votre blog Tumblr

Utiliser Dropbox sur Android
Guides

Utiliser Dropbox sur Android

Arrêter la mémoire des chats Gemini
Confidentialité

Arrêter la mémoire des chats Gemini

Almowafir : coupons et bons plans à Dubaï
Coupons

Almowafir : coupons et bons plans à Dubaï