Reconstruction d’un raid1 HOWTO

Par Mino, mardi 25 avril 2006 à 14:37

Si vous arrivez sur cette page vous venez :
- soit de crasher un disque de votre raid1
- soit de faire un grosse bétise : changer la table de partitions d’un des disques de votre raid1 par exemple

Ne vous inquiétez pas, essuyez les gouttes de sueure qui perlent sur votre front, ce n’est pas grave suivez les instructions qui suivent et tout va rentrer dans l’ordre…

Tout au long de cet HOWTO :

- j’utiliserai mdadm (en standard sur toutes les distribution)
- je considérerai que je n’ai que 2 arrays md0 (sda1 et sdb1) et md1 (sda2 et sdb2) mais vous devez faire les actions pour tous vos array pour chacun de vos arrays
- je considérerai que c’est /dev/sdb qui est crashé.

Vérification

Tout d’abord on vérifie ce que le systeme en pense :


#cat /proc/mdstat

Si le systeme n’a rien détecté (c’est possible si vous avez modifé la table partitions de sdb par erreur) et qu’il continue à marquer les partitions qui ont disparues comme actives empressez vous de les supprimer des différents arrays avec une ligne du style :


#mdadm --manage --set-faulty /dev/md0 /dev/sdb1
#mdadm --manage --set-faulty /dev/md1 /dev/sdb2

Cette première commande (normalement optionnel) va indiquer au système que les disques /dev/sdb1 et /dev/sdb2 ne sont plus fiables.

Supprimer

ensuite on supprime ces disques des arrays :


#mdadm /dev/md0 -r /dev/sdb1
#mdadm /dev/md1 -r /dev/sdb2

voila nos 2 arrays ne contiennent plus qu’un disque.

Remplacer

maintenant on remplace le disque defectueux et on reboot (dans le cas d’un crash physique du disque dur)

un ‘cat /proc/mdstat’ nous montre nos arrays qui sont en mode dégradé (sur un disque), il faut donc remonter notre deuxieme disque. Tout d’abord on recopie la table de partitions du disque valide sur le 2nd disque pour ce faire une simple ligne de commande suffit :


#sfdisk --dump /dev/sda | sfdisk /dev/sdb

voila notre disque /dev/sdb contient la même table de partitions que /dev/sda.

Reconstruire

Il ne nous reste plus qu’a reconstruire notre raid. pour cela :


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

Puis on attend que la reconstruction s’acheve. Pour vérifier l’état d’avancement vous pouvez faire un ‘cat /proc/mdstat’ de temps en temps.

Liens utiles

The Software-RAID HOWTO

Page de man mdstat