Reconstruction d'un RAID 1 logiciel sous Linux

Depuis maintenant plus d'un an, lors de l'achat de ma machine actuelle de bureau, j'ai décidé de configurer mes disques durs en RAID 1. Cela n'évite pas d'avoir un besoin de sauvegarde, mais ça aide beaucoup au niveau de la conscience. Et c'est quand l'un des disques ralentit tout le système, et émet un "clac" bien sonore à chaque écriture qu'on se dit que bon, c'était vraiment une bonne idée, le RAID.

Donc, on retire le disque, l'OS couine un peu et envoie des mails parce que mon raid est dégradé. Et ensuite, on court acheter un disque dur. J'ai choisi d'acheter le même modèle que le défectueux, et de même capacité. Je rebranche le nouveau disque dans la machine à la place de l'ancien, je démarre, reçois à nouveau un mail...

Et ensuite? Il faut recréer les partitions, et les ajouter au raid pour que la reconstruction se fasse. Pour une raison que j'ignore, lors de l'installation, Fedora 12 n'a pas alloué un nombre entiers de cylindres à mes partitions (je suis depuis passé à la 13). Du coup, tenter de recréer les partitions est une véritable galère... Je pense l'espace d'un instant à cloner mon disque avec dd. Le problème, c'est que les disques durs ayant une capacité d'un téra-octet, je ne suis pas couché.

La solution vient de chez Ikoula, et consiste à utiliser sfdisk pour reproduire la table des partitions, et ensuite ajouter les partitions au RAID. Petite différence toutefois, il m'a fallu réclamer à sfdisk de forcer l'écriture de la table, sans doute à cause de cette histoire de cylindres :

[root@bloodhoof ~]# sfdisk --dump /dev/sda | sfdisk --force /dev/sdb 

Je dispose de deux arrays RAID, donc pour les reconstruire :

[root@bloodhoof ~]# mdadm --manage --add /dev/md0 /dev/sdb1
[root@bloodhoof ~]# mdadm --manage --add /dev/md1 /dev/sdb3 

Trois heures plus tard, le RAID est reconstruit ! Je peux à nouveau dormir tranquille.

Commentaires

Le 01/09/2010 14:00 par M@T D.

C'est en parti pour ça que je suis passé d'un serveur home made (Debian) à un NAS QNAP...

Car même en ayant fait des essais de panne fictive, dans l'urgence d'un disque HS sur mon RAID5, je n'aurais pas supporté de galérer pour trouver la solution qui va bien (avec la crainte de tout effacer dans une manip' foireuse).

Bref, j'ai perdu un degré non négligeable de liberté avec mon NAS, mais pour ce genre de problématique... C'est du clicodrome, et même encore plus simple avec le pilotage par l'écran LCD.

;-)

Le 01/09/2010 17:10 par Nils

A mon sens ça n'a pas été si galère que ça, si je n'avais pas trouvé la solution à base de sfdisk j'aurais cloné le disque avec dd. Resynchroniser le RAID c'est deux commandes (une par array) triviales. Niveau clickodrôme, il y a un outil qui me semblait pouvoir le faire dans Fedora mais j'avoue que j'avais beaucoup moins de craintes avec mdadm.