Réparer un RAID logiciel sous Debian 7
I. Présentation
Mettre en place un RAID logiciel sur un serveur pour tolérer la panne d'un disque, c'est intéressant et fortement conseillé. Cependant, il faut également savoir quoi faire, comment faire, lorsqu'un disque dur tombe en panne. Ce tutoriel est là pour vous apprendre à réparer un RAID logiciel.
Pour ma part, je travaille sur une machine virtuelle donc pour simuler la perte d'un disque dans la grappe RAID je vais le supprimer de la machine virtuelle. L'OS invité de la VM est Debian 7.
II. Procédure
Je commence par simuler la perte d'un disque en le supprimant de la machine virtuelle, on peut voir ensuite que le RAID passe en mode dégradé grâce à la commande suivante :
cat /proc/mdstat
On remarque l'indication [U_] qui indique la perte d'un disque dans la grappe RAID. En temps normal, c'est indiqué [UU].
Il est aussi possible de vérifier que le RAID fonctionne en mode dégradé en utilisant la commande suivante :
mdadm -D /dev/md0
On remarque clairement la mention "degraded" et dans la partie basse de la commande l'état "removed" pour le second disque.
Pour commencer, on sort le disque hors service de la grappe RAID. Il se peut que cela a été fait automatiquement mais pour être sur vaut mieux le faire. Étant donné qu'il s'agit des partitions "sdb1" et "sdb2" du disque "sdb" respectivement attachée à la grappe RAID "md0" et "md1" on utilisera ces deux commandes :
mdadm --manage /dev/md0 --remove /dev/sdb1 mdadm --manage /dev/md1 --remove /dev/sdb2
Maintenant on a plus qu'à ajouter un nouveau disque, tout beau, tout neuf... A chaud si possible sinon éteignez auparavant votre serveur. Suite à l'ajout du nouveau disque dur à ajouter au RAID 1, on peut voir qu'il est bien reconnu grâce à la commande suivante :
fdisk -l
On remarque la mention suivante : "Le disque /dev/sdb ne contient pas une table de partitions valable". Le disque est bien détecté mais il est vierge (sans table de partition, ni partition).
On va commencer par copier la table des partitions du disque fonctionnel vers le nouveau disque, pour cela on fait appel à l'utilitaire sfdisk de cette façon :
sfdisk -d /dev/sda | sfdisk /dev/sdb
On indique d'abord le disque source (sda) et le disque de destination (sdb). Vous pouvez réitérer la commande "fdisk -l" vue précédemment pour vérifier la création de la table de partition.
Désormais, il est nécessaire d'ajouter le nouveau disque dur à nos grappes RAID. Nous respecterons la même logique que précédemment : sdb1 pour md0 - sdb2 pour md1. Ce qui implique l'utilisation de deux commandes :
mdadm --manage /dev/md0 --add /dev/sdb1 mdadm --manage /dev/md1 --add /dev/sdb2
Suite à ces deux ajouts, le RAID doit passer en reconstruction. On peut le vérifier par l'intermédiaire de cette commande :
cat /proc/mdstat
Voici un aperçu général des 3 commandes venant d'être saisies :
Une fois la restauration terminée, on récupère notre RAID en état normal. Rassuré ?
Si ce tutoriel vous a plu, pensez à le partager sur les réseaux sociaux.
Dans le cas d’un raid matériel on peut aussi être amené à faire des bidouilles depuis un liveCD pour récupérer des données en dernier recours, merci pour le tuto sinon 🙂
Bonjour,
Sur ma machine j’ai construit 2 raid un avec sdb sdc sdd sde et sdf puis un second avec sdg sdh sdi sdj et sdk. Si le disque sdf vient à casser lorsque je demande la liste des disques par raid sdf a été remplacé par sdg et sdk n’existe plus. Comment est-il possible d’éviter cela ? Merci beaucoup.