Roumazeilles.net

Test du RAID-1 sur OpenSuse

Comme je l’ai dĂ©crit dans un prĂ©cĂ©dent article, je souhaitais tester la technologie RAID sur une configuration GNU/Linux OpenSUSE. Dans l’article de la semaine dernière, j’ai prĂ©sentĂ© comment crĂ©er/installer une matrice RAID (RAID array).

Aujourd’hui, j’ai l’intention de voir ce qui se passe lorsqu’un disque dur tombe en panne dans la matrice RAID (RAID array). Elle est sensĂ©e protĂ©ger intĂ©gralement mes donnĂ©es, mais je prĂ©fère faire mon Saint Thomas et vĂ©rifier par moi-mĂŞme. Ensuite, je vais aussi tester la manière de rajouter un nouveau lecteur (en remplacement du disque qui est “mort”). A ce moment, je vais aussi en profiter pour changer la taille du disque rajoutĂ© (après plusieurs annĂ©es de fonctionnement, il est probable qu’un disque de remplacement sera une version plus grosse de celui qui est tombĂ© en panne).


Objectifs

La première chose Ă  faire est de simuler la panne d’un disque dur (je n’ai pas eu la possibilitĂ© d’attendre quelques mois Ă  quelques annĂ©es pour obsevrer cet accident et je n’ai pas eu la douteuse chance de le voir rĂ©ellement arriver sous mes yeux pendant le test). J’ai donc dĂ©cidĂ© de simplement dĂ©brancher l’un des deux disques de la matrice RAID.

Juste pour ĂŞtre certain de bien comprendre l’opĂ©ration, une matrice RAID est supposĂ©e accepter cet incident sans perte de donnĂ©es et en continuant Ă  fonctionner normalement (comme, dans le RAID-1, les deux disques contiennent exactement les mĂŞmes donnĂ©es en double, Ă  part la rĂ©duction de la sĂ©curitĂ©, la panne d’un disque impose simplement de travailler avec une seule copie des donnĂ©es et sans rĂ©duction des fonctionnalitĂ©s de base). Bien sĂ»r, dans une telle situation il est prĂ©vu de remplacer le lecteur en panne par un nouveau disque dur pour restaurer le fonctionnement normal en mode RAID-1.

Je veux m’assurer que :

  • Le fonctionnement n’est pas perturbĂ© de manière significative.
  • L’insertion d’un nouveau disque est dĂ©tectĂ©e comme une opĂ©ration de rĂ©paration.
  • La rĂ©paration peut ĂŞtre faite avec une perturbation minimale ; le systĂŞme est restaurĂ© sans avoir besoin de passer par une longue opĂ©ration de sauvegarde intermĂ©diaire.

Panne du disque dur

La première chose que j’ai entreprise Ă©tait de contrĂ´ler si je pouvais bien retirer un des disques depuis le centre de configuration YAST de OpenSUSE. Comme je pouvais m’en douter, YAST dĂ©tecte bien que c’est une opĂ©ration totalement anormale et ce n’est pas possible sans commencer par retirer la matrice RAID elle-mĂŞme, ce qui n’est pas mon intention -au contraire. J’en suis donc rapidement revenu Ă  la mĂ©thode normale : j’ai arrĂŞtĂ© l’ordinateur et physiquement dĂ©branchĂ© l’un des disques durs, dans l’espoir de voir cet incident reconnu par le logiciel. Cela devrait assez reprĂ©sentatif d’une panne simulĂ©e.

Articles récents sur le RAID :

Au reboot, l’ordinateur donnait tous les signes apparents du bon fonctionnement. Tout avait l’air parfait (Ă  l’exception d’un message vraiment incomprĂ©hensible Ă  propos de l’exĂ©cution d’une commande qt, qui semblait sans rapport. Mieur -ou pire- le rĂ©pertoire /secure (qui abrite la matrice RAID) fonctionne parfaitement alors qu’il lui manque un des deux disques utilisĂ©s pour le configurer. C’est ainsi que l’on peut assurer que le premier objectif du RAID-1 est atteint : en cas de panne de l’un des disques, l’ordinateur reste pleinement fonctionnel et aucune donnĂ©e n’a Ă©tĂ© perdue. Mais j’avoue que je reste inquiet de l’absence totale de message d’information. Si je ne m’en prĂ©occupais pas spĂ©cifiquement (pour cause de test), je ne saurais pas qu’il y a eu panne et que je dois remplacer le lecteur dĂ©faillant.

NĂ©anmoins, si j’utilise la commande cat /proc/mdstat, je pourrais me rendre compte de l’Ă©tat nouveau de ma matrice RAID : elle tourne sur une patte seulement (elle utilise un disque au lieu de deux), comme on peut le voir ci-dessous.

leakey:/secure # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdb1[0]
16458496 blocks [2/1] [U_]

unused devices:
leakey:/secure #

Afin de faciliter la comparaison, voici également la réponse normale à la même commande cat /proc/mdstat sur une matrice RAID complète :

leakey:/secure # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdd1[1] hdb1[0]
16458496 blocks [2/2] [UU]

unused devices:
leakey:/secure #

En complĂ©ment, j’ai donc dĂ©cidĂ© de vĂ©rifier l’Ă©tat de la configuration RAID depuis l’outil de configuration YAST. Voici comment apparaissent les choses :

YAST - RAID array with one missing drive

Et il faut bien admettre que l’absence d’un disque n’est pas plus perceptible si l’on n’y fait pas spĂ©cialement attention. Une solution devrait très certainement ĂŞtre prĂ©sente dans le système d’exploitation ; cela fera peut-ĂŞtre l’objet d’un article ultĂ©rieur ici-mĂŞme.

Utilisation d’une matrice RAID partiellement dĂ©faillante

Pour ĂŞtre bien sĂ»r que tout allait bien, j’ai dĂ©cidĂ© de me lancer dans une exploitation intensive de la matrice RAID-1 (j’ai copiĂ© un nombre considĂ©rable de fichiers depuis et vers la matrice RAID). A l’Ă©vidence, la nouvelle situation de la matrice (panne d’un disque, je le rappelle) n’a aucune influence perceptible. Pour l’essentiel, tout fonctionne comme sur un disque normal. Il suffit de se souvenir que nous sommes simplement revenu Ă  la situation courante d’un disque dur connectĂ© au PC (il n’y a donc plus la fonction de protection supplĂ©mentaire qu’apportait le mode RAID-1.

Réparation de la matrice RAID

L’Ă©tape suivante Ă©tant bel et bien de rĂ©parer la marice avec un disque dur neuf, j’ai rĂ©insĂ©rĂ© un disque dans le système et j’ai rebootĂ© l’ordinateur. La première chose Ă  faire Ă©tait de s’assurer que le lecteur n’Ă©tait pas automatiquement insĂ©rĂ© dans la matrice sans contrĂ´le humain (il s’agit d’une opĂ©ration exceptionnelle mais que je prĂ©fère voir faite par mes soins attentifs plutĂ´t que par ceux d’un programme incertain).

Je me suis donc rendu dans l’outil de configuration YAST et j’ai lancĂ© l’outil de partionnement. J’y ai eu l’information suivante montrant que la prĂ©sence du nouveau disque dur Ă©tait bien reconnue (il vous faudra peut-ĂŞtre rebooter une fois pour arriver Ă  ce point) :

YAST - RAID array with one new drive available

Le disque /md/hdd nouvellement ajoutĂ© est facile Ă  repĂ©rer, mais rien n’indique ici comment l’insĂ©rer dans la matrice RAID-1 nommĂ©e md0.

En fait, après une assez longue recherche sur le web, j’ai trouvĂ© la solution pour insĂ©rer le disque /md/hdd dans la matrice RAID. Premièrement, il faut partitionner le disque en configuration auto-RAID (pas très surprenant, c’est ce que nous avions fait Ă  la crĂ©ation de la matrice dans l’article prĂ©cĂ©dent). Il faut cliquer sur le bouton CrĂ©er... et choisir le disque /dev/hdd que vous voulez partitionner. Choisissez de crĂ©er une partition Primaire :

YAST - Partitionning the new drive

Cela produit un nouveau drive disponible pour une matrice RAID comme on peut le voir sur l’Ă©cran suivant :

YAST - Two drives ready for the RAID array

Mais comme on peut le voir, le drive /dev/hdd1 n’est pas encore rattachĂ© Ă  la matrice md0.

C’est lĂ  que les choses se compliquent malheureusement, parce que YAST ne semble pas capable de modifier la matrice RAID Ă  la volĂ©e. Tout ce que j’ai pu essayer n’a menĂ© qu’Ă  des messages d’erreur me demandant de dĂ©truire la matrice et de la re-crĂ©er Ă  partir de zĂ©ro (ce que je n’ai pas l’intention de faire, puisque je veux prĂ©server mes donnĂ©es). J’ai donc simplement dĂ©cidĂ© de demander Ă  YAST d’appliquer ces premières modifications en cliquant sur le bouton Appliquer puis de le quitter pour utiliser la ligne de commande.

YAST - Apply the partition changes to the new drive

Sur la ligne de commande, j’ai pu lancer la commande appropriĂ©e qui porte le doux nom de raidhotadd.

leakey:/secure # /sbin/raidhotadd /dev/md0 /dev/hdd1
leakey:/secure #

Remarquez que vous aurez peut-ĂŞtre besoin de vous idnetifier comme root pour lancer une telle commande. Quoi qu’il en soit, vous savez que la commande a bien fonctionnĂ© par l’absence de message d’erreur et parce que vous allez voir ou entendre les disques durs qui commencent Ă  reconstruire la matrice en arrière-plan (les LED rouges de fonctionnement des disques dur se mettent Ă  clignoter furieusement ou vont rester allumĂ©es pour une pĂ©riode relativement longue -aussi longtemps que nĂ©cessaire pour reconstruire la matrice RAID-1). Si vous voulez une meilleure visibiltiĂ©, vous pouvez aussi utiliser la ligne de commande :

leakey:/secure # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdd1[2] hdb1[0]
16458496 blocks [2/1] [U_]
[==>.................] recovery = 13.8% (2282816/16458496) finish=9.3min speed=25145K/sec

unused devices:
leakey:/secure #

Ci-dessus, se prĂ©sente la rĂ©ponse pour une matrice en cours de reconstruction (13.8% d’avancement). Ci-dessous, se prĂ©sent une matrice qui vient de finir sa reconstruction.

leakey:/secure # cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdd1[1] hdb1[0]
16458496 blocks [2/2] [UU]

unused devices:
leakey:/secure #

Mais si vous ne voulez pas vous laisser ennuyer par ces détails, je vous conseille de simplement patienter en regardant les LED clignoter. Quand elles reviennennt à un état plus calme et plus normal, la reconstruction est finie et vous pouvez utiliser la matrice RAID en toute sécurité.

Conclusion

Au bout de ce test, nous avons pu réparer la matrice RAID-1. Elle a été reconstruite sans perte de données et avec un impact minimal sur le fonctionnement du PC.

Nous avons pu apprendre plusieurs choses de cette expérience :

  • La panne d’un disque n’a pas d’impact perceptible sur le fonctionnement de la matrice RAID-1. Nos donnĂ©es sont bien protĂ©gĂ©es contre une panne de disque.
  • La rĂ©paration de la matrice RAID-1, mĂŞme si elle n’est pas très difficile, rest une tâche plus complexe que la crĂ©ation dans une configuration GNU/Linux. Mais c’est faisable mĂŞme sans grande connaissances informatiques. Et puis, il est toujours possible de faire un backup total des donnĂ©es et de reconstruire la matrice Ă  partir de zĂ©ro.

Il est ainsi relativement facile de protĂ©ger vos donnĂ©es contre une panne physique d’un disque dur. Mais une distribution GNU/Linux (au moins OpenSUSE 10) et sa fonctionnalitĂ© de RAID logiciel gardent des angles vifs ou -tout au moins- plus difficile que pour une configuration purement matĂ©rielle (carte spĂ©cialisĂ©e). Pas impossible, mais on puet souhaiter des amĂ©liorations dans le futur.

Autres articles similaires :


  • Feed des réponses.

2 réponses à “Test du RAID-1 sur OpenSuse”

  1. ted a dit :

    Peux-tu confirmer que le disque de remplacement est bien d’un autre type que son d

  2. Yves Roumazeilles a dit :

    Non, je ne peux pas. J’ai bien utilis

Laisser un commentaire ou une réponse Commentaires

Vous devez être connecté pour poster un commentaire.


http://www.roumazeilles.net/

Copyright (c) 1999-2008 - Yves Roumazeilles (tous droits réservés)

Dernière mise à jour : 23-nov-08

Recherche fournie par Google.com
Roumazeilles.net
Roumazeilles.net