{"id":803,"date":"2007-02-07T09:59:10","date_gmt":"2007-02-07T08:59:10","guid":{"rendered":"http:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/2007\/02\/07\/test-du-raid-1-sur-opensuse\/"},"modified":"2007-02-07T11:10:03","modified_gmt":"2007-02-07T10:10:03","slug":"test-du-raid-1-sur-opensuse","status":"publish","type":"post","link":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/2007\/02\/07\/test-du-raid-1-sur-opensuse\/","title":{"rendered":"Test du RAID-1 sur OpenSuse"},"content":{"rendered":"<p>Comme je l&rsquo;ai d\u00e9crit dans <a href=\"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/2007\/02\/01\/creation-dun-raid-1-sur-opensuse\/\">un pr\u00e9c\u00e9dent article<\/a>, je souhaitais tester <a href=\"http:\/\/fr.wikipedia.org\/wiki\/RAID_%28informatique%29\">la technologie RAID<\/a> sur une configuration GNU\/Linux OpenSUSE.  Dans l&rsquo;article de la semaine derni\u00e8re, j&rsquo;ai pr\u00e9sent\u00e9 <a href=\"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/2007\/02\/01\/creation-dun-raid-1-sur-opensuse\/\">comment cr\u00e9er\/installer une matrice RAID (<em>RAID array<\/em>)<\/a>.<\/p>\n<p>Aujourd&rsquo;hui, j&rsquo;ai l&rsquo;intention de voir ce qui se passe lorsqu&rsquo;un disque dur tombe en panne dans la matrice RAID (<em>RAID array<\/em>). Elle est sens\u00e9e prot\u00e9ger int\u00e9gralement mes donn\u00e9es, mais je pr\u00e9f\u00e8re faire mon Saint Thomas et v\u00e9rifier par moi-m\u00eame. Ensuite, je vais aussi tester la mani\u00e8re de rajouter un nouveau lecteur (en remplacement du disque qui est \u00ab\u00a0mort\u00a0\u00bb). A ce moment, je vais aussi en profiter pour changer la taille du disque rajout\u00e9 (apr\u00e8s plusieurs ann\u00e9es de fonctionnement, il est probable qu&rsquo;un disque de remplacement sera une version plus grosse de celui qui est tomb\u00e9 en panne).<\/p>\n<p><!--more--><\/p>\n<h3>Objectifs<\/h3>\n<p>La premi\u00e8re chose \u00e0 faire est de simuler la panne d&rsquo;un disque dur (je n&rsquo;ai pas eu la possibilit\u00e9 d&rsquo;attendre quelques mois \u00e0 quelques ann\u00e9es pour obsevrer cet accident et je n&rsquo;ai pas eu la douteuse chance de le voir r\u00e9ellement arriver sous mes yeux pendant le test). J&rsquo;ai donc d\u00e9cid\u00e9 de simplement d\u00e9brancher l&rsquo;un des deux disques de la matrice RAID.<\/p>\n<p><!--adsense#square250-->Juste pour \u00eatre certain de bien comprendre l&rsquo;op\u00e9ration, une matrice RAID est suppos\u00e9e accepter cet incident sans perte de donn\u00e9es et en continuant \u00e0 fonctionner normalement (comme, dans le RAID-1, les deux disques contiennent exactement les m\u00eames donn\u00e9es en double, \u00e0 part la r\u00e9duction de la s\u00e9curit\u00e9, la panne d&rsquo;un disque impose simplement de travailler avec une seule copie des donn\u00e9es et sans r\u00e9duction des fonctionnalit\u00e9s de base). Bien s\u00fbr, dans une telle situation il est pr\u00e9vu de remplacer le lecteur en panne par un nouveau disque dur pour restaurer le fonctionnement normal en mode RAID-1.<\/p>\n<p>Je veux m&rsquo;assurer que :<\/p>\n<ul>\n<li>Le fonctionnement n&rsquo;est pas perturb\u00e9 de mani\u00e8re significative.<\/li>\n<li>L&rsquo;insertion d&rsquo;un nouveau disque est d\u00e9tect\u00e9e comme une op\u00e9ration de r\u00e9paration.<\/li>\n<li>La r\u00e9paration peut \u00eatre faite avec une perturbation minimale ; le syst\u00eame est restaur\u00e9 sans avoir besoin de passer par une longue op\u00e9ration de sauvegarde interm\u00e9diaire.<\/li>\n<\/ul>\n<h3>Panne du disque dur<\/h3>\n<p>La premi\u00e8re chose que j&rsquo;ai entreprise \u00e9tait de contr\u00f4ler si je pouvais bien retirer un des disques depuis le centre de configuration YAST de OpenSUSE. Comme je pouvais m&rsquo;en douter, YAST d\u00e9tecte bien que c&rsquo;est une op\u00e9ration totalement anormale et ce n&rsquo;est pas possible sans commencer par retirer la matrice RAID elle-m\u00eame, ce qui n&rsquo;est pas mon intention -au contraire. J&rsquo;en suis donc rapidement revenu \u00e0 la m\u00e9thode <em>normale<\/em> : j&rsquo;ai arr\u00eat\u00e9 l&rsquo;ordinateur et physiquement d\u00e9branch\u00e9 l&rsquo;un des disques durs, dans l&rsquo;espoir de voir cet incident reconnu par le logiciel.  Cela devrait assez repr\u00e9sentatif d&rsquo;une panne simul\u00e9e.<\/p>\n<p><!--adsense#RAIDleft-->Au reboot, l&rsquo;ordinateur donnait tous les signes apparents du bon fonctionnement. Tout avait l&rsquo;air parfait (\u00e0 l&rsquo;exception d&rsquo;un message vraiment incompr\u00e9hensible \u00e0 propos de l&rsquo;ex\u00e9cution d&rsquo;une commande <code>qt<\/code>, qui semblait sans rapport. Mieur -ou pire- le r\u00e9pertoire <code>\/secure<\/code> (qui abrite la matrice RAID) fonctionne parfaitement alors qu&rsquo;il lui manque un des deux disques utilis\u00e9s pour le configurer. C&rsquo;est ainsi que l&rsquo;on peut assurer que le premier objectif du RAID-1 est atteint : en cas de panne de l&rsquo;un des disques, l&rsquo;ordinateur reste pleinement fonctionnel et aucune donn\u00e9e n&rsquo;a \u00e9t\u00e9 perdue. Mais j&rsquo;avoue que je reste inquiet de l&rsquo;absence totale de message d&rsquo;information. Si je ne m&rsquo;en pr\u00e9occupais pas sp\u00e9cifiquement (pour cause de test), je ne saurais pas qu&rsquo;il y a eu panne et que je dois remplacer le lecteur d\u00e9faillant.<\/p>\n<p>N\u00e9anmoins, si j&rsquo;utilise la commande <code>cat \/proc\/mdstat<\/code>, je pourrais me rendre compte de l&rsquo;\u00e9tat 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.<\/p>\n<p><code>leakey:\/secure # cat \/proc\/mdstat<br \/>\nPersonalities : [raid1]<br \/>\nmd0 : active raid1 hdb1[0]<br \/>\n      16458496 blocks [2\/1] [U_]<\/p>\n<p>unused devices: <none><br \/>\nleakey:\/secure #<\/code><\/p>\n<p>Afin de faciliter la comparaison, voici \u00e9galement la r\u00e9ponse normale \u00e0 la m\u00eame commande <code>cat \/proc\/mdstat<\/code> sur une matrice RAID compl\u00e8te :<\/p>\n<p><code>leakey:\/secure # cat \/proc\/mdstat<br \/>\nPersonalities : [raid1]<br \/>\nmd0 : active raid1 hdd1[1] hdb1[0]<br \/>\n      16458496 blocks [2\/2] [UU]<\/p>\n<p>unused devices: <none><br \/>\nleakey:\/secure #<\/code><\/p>\n<p>En compl\u00e9ment, j&rsquo;ai donc d\u00e9cid\u00e9 de v\u00e9rifier l&rsquo;\u00e9tat de la configuration RAID depuis l&rsquo;outil de configuration YAST. Voici comment apparaissent les choses :<\/p>\n<p><center><img decoding=\"async\" src=\"\/images\/OpenSUSE\/yast3-001.png\" alt=\"YAST - RAID array with one missing drive\" \/><\/center><\/p>\n<p>Et il faut bien admettre que l&rsquo;absence d&rsquo;un disque n&rsquo;est pas plus perceptible si l&rsquo;on n&rsquo;y fait pas sp\u00e9cialement attention. Une solution devrait tr\u00e8s certainement \u00eatre pr\u00e9sente dans le syst\u00e8me d&rsquo;exploitation ; cela fera peut-\u00eatre l&rsquo;objet d&rsquo;un article ult\u00e9rieur ici-m\u00eame.<\/p>\n<h3>Utilisation d&rsquo;une matrice RAID partiellement d\u00e9faillante<\/h3>\n<p>Pour \u00eatre bien s\u00fbr que tout allait bien, j&rsquo;ai d\u00e9cid\u00e9 de me lancer dans une exploitation intensive de la matrice RAID-1 (j&rsquo;ai copi\u00e9 un nombre consid\u00e9rable de fichiers depuis et vers la matrice RAID). A l&rsquo;\u00e9vidence, la nouvelle situation de la matrice (panne d&rsquo;un disque, je le rappelle) n&rsquo;a aucune influence perceptible. Pour l&rsquo;essentiel, tout fonctionne comme sur un disque normal. Il suffit de se souvenir que nous sommes simplement revenu \u00e0 la situation <em>courante<\/em> d&rsquo;un disque dur connect\u00e9 au PC (il n&rsquo;y a donc plus la fonction de protection suppl\u00e9mentaire qu&rsquo;apportait le mode RAID-1.<\/p>\n<h3>R\u00e9paration de la matrice RAID<\/h3>\n<p>L&rsquo;\u00e9tape suivante \u00e9tant bel et bien de r\u00e9parer la marice avec un disque dur neuf, j&rsquo;ai r\u00e9ins\u00e9r\u00e9 un disque dans le syst\u00e8me et j&rsquo;ai reboot\u00e9 l&rsquo;ordinateur. La premi\u00e8re chose \u00e0 faire \u00e9tait de s&rsquo;assurer que le lecteur n&rsquo;\u00e9tait pas automatiquement ins\u00e9r\u00e9 dans la matrice sans contr\u00f4le humain (il s&rsquo;agit d&rsquo;une op\u00e9ration exceptionnelle mais que je pr\u00e9f\u00e8re voir faite par mes soins attentifs plut\u00f4t que par ceux d&rsquo;un programme incertain).<\/p>\n<p>Je me suis donc rendu dans l&rsquo;outil de configuration YAST et j&rsquo;ai lanc\u00e9 l&rsquo;outil de partionnement. J&rsquo;y ai eu l&rsquo;information suivante montrant que la pr\u00e9sence du nouveau disque dur \u00e9tait bien reconnue (il vous faudra peut-\u00eatre rebooter une fois pour arriver \u00e0 ce point) :<\/p>\n<p><center><img decoding=\"async\" src=\"\/images\/OpenSUSE\/yast3-002.png\" alt=\"YAST - RAID array with one new drive available\" \/><\/center><\/p>\n<p>Le disque <code>\/md\/hdd<\/code> nouvellement ajout\u00e9 est facile \u00e0 rep\u00e9rer, mais rien n&rsquo;indique ici comment l&rsquo;ins\u00e9rer dans la matrice RAID-1 nomm\u00e9e <code>md0<\/code>.<\/p>\n<p>En fait, apr\u00e8s une assez longue recherche sur le web, j&rsquo;ai trouv\u00e9 la solution pour ins\u00e9rer le disque <code>\/md\/hdd<\/code> dans la matrice RAID. Premi\u00e8rement, il faut partitionner le disque en configuration auto-RAID (pas tr\u00e8s surprenant, c&rsquo;est ce que nous avions fait \u00e0 la cr\u00e9ation de la matrice dans l&rsquo;article pr\u00e9c\u00e9dent). Il faut cliquer sur le bouton <code>Cr\u00e9er...<\/code> et choisir le disque <code>\/dev\/hdd<\/code> que vous voulez partitionner. Choisissez de cr\u00e9er une partition Primaire :<\/p>\n<p><center><img decoding=\"async\" src=\"\/images\/OpenSUSE\/yast3-003.png\" alt=\"YAST - Partitionning the new drive\" \/><\/center><\/p>\n<p>Cela produit un nouveau drive disponible pour une matrice RAID comme on peut le voir sur l&rsquo;\u00e9cran suivant :<\/p>\n<p><center><img decoding=\"async\" src=\"\/images\/OpenSUSE\/yast3-004.png\" alt=\"YAST - Two drives ready for the RAID array\" \/><\/center><\/p>\n<p>Mais comme on peut le voir, le drive <code>\/dev\/hdd1<\/code> n&rsquo;est pas encore rattach\u00e9 \u00e0 la matrice <code>md0<\/code>.<\/p>\n<p>C&rsquo;est l\u00e0 que les choses se compliquent malheureusement, parce que YAST ne semble pas capable de modifier la matrice RAID \u00e0 la vol\u00e9e. Tout ce que j&rsquo;ai pu essayer n&rsquo;a men\u00e9 qu&rsquo;\u00e0 des messages d&rsquo;erreur me demandant de d\u00e9truire la matrice et de la re-cr\u00e9er \u00e0 partir de z\u00e9ro (ce que je n&rsquo;ai pas l&rsquo;intention de faire, puisque je veux pr\u00e9server mes donn\u00e9es). J&rsquo;ai donc simplement d\u00e9cid\u00e9 de demander \u00e0 YAST d&rsquo;appliquer ces premi\u00e8res modifications en cliquant sur le bouton <code>Appliquer<\/code> puis de le quitter pour utiliser la ligne de commande.<\/p>\n<p><center><img decoding=\"async\" src=\"\/images\/OpenSUSE\/yast3-005.png\" alt=\"YAST - Apply the partition changes to the new drive\" \/><\/center><\/p>\n<p>Sur la ligne de commande, j&rsquo;ai pu lancer la commande appropri\u00e9e qui porte le doux nom de <code>raidhotadd<\/code>.<\/p>\n<p><code>leakey:\/secure # \/sbin\/raidhotadd \/dev\/md0 \/dev\/hdd1<br \/>\nleakey:\/secure #<\/code><\/p>\n<p>Remarquez que vous aurez peut-\u00eatre besoin de vous idnetifier comme root pour lancer une telle commande. Quoi qu&rsquo;il en soit, vous savez que la commande a bien fonctionn\u00e9 par l&rsquo;absence de message d&rsquo;erreur et parce que vous allez voir ou entendre les disques durs qui commencent \u00e0 reconstruire la matrice en arri\u00e8re-plan (les LED rouges de fonctionnement des disques dur se mettent \u00e0 clignoter furieusement ou vont rester allum\u00e9es pour une p\u00e9riode relativement longue -aussi longtemps que n\u00e9cessaire pour reconstruire la matrice RAID-1). Si vous voulez une meilleure visibilti\u00e9, vous pouvez aussi utiliser la ligne de commande :<\/p>\n<p><code>leakey:\/secure # cat \/proc\/mdstat<br \/>\nPersonalities : [raid1]<br \/>\nmd0 : active raid1 hdd1[2] hdb1[0]<br \/>\n      16458496 blocks [2\/1] [U_]<br \/>\n      [==>.................]  recovery = 13.8% (2282816\/16458496) finish=9.3min speed=25145K\/sec<\/p>\n<p>unused devices: <none><br \/>\nleakey:\/secure #<\/code><\/p>\n<p>Ci-dessus, se pr\u00e9sente la r\u00e9ponse pour une matrice en cours de reconstruction (13.8% d&rsquo;avancement). Ci-dessous, se pr\u00e9sent une matrice qui vient de finir sa reconstruction.<\/p>\n<p><code>leakey:\/secure # cat \/proc\/mdstat<br \/>\nPersonalities : [raid1]<br \/>\nmd0 : active raid1 hdd1[1] hdb1[0]<br \/>\n      16458496 blocks [2\/2] [UU]<\/p>\n<p>unused devices: <none><br \/>\nleakey:\/secure #<\/code><\/p>\n<p>Mais si vous ne voulez pas vous laisser ennuyer par ces d\u00e9tails, je vous conseille de simplement patienter en regardant les LED clignoter. Quand elles reviennennt \u00e0 un \u00e9tat plus calme et plus normal, la reconstruction est finie et vous pouvez utiliser la matrice RAID en toute s\u00e9curit\u00e9.<\/p>\n<h3>Conclusion<\/h3>\n<p>Au bout de ce test, nous avons pu r\u00e9parer la matrice RAID-1. Elle a \u00e9t\u00e9 reconstruite sans perte de donn\u00e9es et avec un impact minimal sur le fonctionnement du PC.<\/p>\n<p>Nous avons pu apprendre plusieurs choses de cette exp\u00e9rience :<\/p>\n<ul>\n<li>La panne d&rsquo;un disque n&rsquo;a pas d&rsquo;impact perceptible sur le fonctionnement de la matrice RAID-1. Nos donn\u00e9es sont bien prot\u00e9g\u00e9es contre une panne de disque.<\/li>\n<li>La r\u00e9paration de la matrice RAID-1, m\u00eame si elle n&rsquo;est pas tr\u00e8s difficile, rest une t\u00e2che plus complexe que la cr\u00e9ation dans une configuration GNU\/Linux. Mais c&rsquo;est faisable m\u00eame sans grande connaissances informatiques. Et puis, il est toujours possible de faire un backup total des donn\u00e9es et de reconstruire la matrice \u00e0 partir de z\u00e9ro.<\/li>\n<\/ul>\n<p>Il est ainsi relativement facile de prot\u00e9ger vos donn\u00e9es contre une panne physique d&rsquo;un disque dur. Mais une distribution GNU\/Linux (au moins OpenSUSE 10) et sa fonctionnalit\u00e9 de RAID logiciel gardent des angles vifs ou -tout au moins- plus difficile que pour une configuration purement mat\u00e9rielle (carte sp\u00e9cialis\u00e9e). Pas impossible, mais on puet souhaiter des am\u00e9liorations dans le futur.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comme je l&rsquo;ai d\u00e9crit dans un pr\u00e9c\u00e9dent article, je souhaitais tester la technologie RAID sur une configuration GNU\/Linux OpenSUSE. Dans l&rsquo;article de la semaine derni\u00e8re, j&rsquo;ai pr\u00e9sent\u00e9 comment cr\u00e9er\/installer une matrice RAID (RAID array). Aujourd&rsquo;hui, j&rsquo;ai l&rsquo;intention de voir ce qui se passe lorsqu&rsquo;un disque dur tombe en panne dans la matrice RAID (RAID array). [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,13,53],"tags":[],"class_list":["post-803","post","type-post","status-publish","format-standard","hentry","category-linux","category-routeurs-reseaux","category-stockage"],"_links":{"self":[{"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/posts\/803","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/comments?post=803"}],"version-history":[{"count":0,"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/posts\/803\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/media?parent=803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/categories?post=803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.roumazeilles.net\/news\/fr\/wordpress\/wp-json\/wp\/v2\/tags?post=803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}