Reconstruction d'un raid software avec table de partition en MSDOS
Problème
Votre raid software gérer par mdadm est en mode dégradé.
Solution
Vous devez dans un premier temps vous assurer de l'état actuel du raid et du type de table de partition contenu sur les disques contenu dans le raid : à l'aide de l'outil parted vous serez a même de pouvoir identifier le type de table de partition sur les disques durs :
# parted -l
Si vos disques utilise une table de partition MSDOS vous pourrez suivre cette FAQ, si au contraire la table de partition est du type GPT nous vous invitons à poursuivre vers cette FAQ : Reconstruction d'un raid software avec table de partition en GPT
Une fois le table de partition identifié il nous faut vérifier l'état du raid via l'outil mdadm :
# cat /proc/mdstat
Pour avoir plus de détails avec ça (remplacer Z par le numéro du raid en question)
# mdadm -D /dev/mdZ
Pré requis
Utilisation de l'utilitaire sfdisk
Procédure
Assurez-vous d'avoir une sauvegarde avant toute opération sur les tables de partitions de vos données afin de vous prémunir d'une perte sèche de donnée suite à une erreur de manipulation.
Postulat
Nous avons avons un raid 1 dégradé suite à la perte d'un disque. Le disque nommé sdY est défectueux et doit être remplacé, le raid software sera alors à reconstruire.
- Le premier raid 1 md0 contient la partition /boot
- Le deuxième raid 1 md1 contient la partition swap et le restant du système
Déroulé de l'opération
Afin de pouvoir replacer un nouveau disque dans le raid nous aurons besoin de plusieurs choses
- une taille identique ou plus grande de disque (le mieux étant une taille identique)
- une table de partition correcte
Nous allons dupliquer la table de partition depuis le disque source vers le disque de destination : (la copie se fera depuis le disque sdX vers le disque sdY)
# sfdisk -d /dev/sdX | sfdisk --force /dev/sdY
Nous allons maintenant ajouter le ajouter le disque au raid :
Ajout de la partition contenant /boot
mdadm --manage /dev/md0 --add /dev/sdY2
puis la partition racine du serveur
mdadm --manage /dev/md1 --add /dev/sdY4
Passons à la vérification de l'état du raid :
# cat /proc/mdstat
# mdadm --detail /dev/md0
# mdadm --detail /dev/md1