{"id":160,"date":"2010-06-18T13:26:00","date_gmt":"2010-06-18T13:26:00","guid":{"rendered":"http:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/06\/18\/20100618quand-il-n-y-a-plus-aucun-espoir\/"},"modified":"2018-01-18T09:32:01","modified_gmt":"2018-01-18T08:32:01","slug":"20100618quand-il-n-y-a-plus-aucun-espoir","status":"publish","type":"post","link":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/2010\/06\/18\/20100618quand-il-n-y-a-plus-aucun-espoir\/","title":{"rendered":"Quand il n&rsquo;y a plus aucun espoir&#8230;"},"content":{"rendered":"<div class=\"post-content\">\n<p>Ceux qui viennent de penser au capitaine Flam marquent un point. Mais ce n&rsquo;est pas d&rsquo;anim\u00e9s dont nous allons parler aujourd&rsquo;hui. Nous allons apprendre \u00e0 sauver un RAID5 quand tout indique que vos donn\u00e9es sont perdues.<\/p>\n<p>Dans un premier temps il faut \u00eatre clair: Je n&rsquo;ai pas la pr\u00e9tention de vous apprendre \u00e0 r\u00e9parer un disque dur \ud83d\ude42 Si deux de vos disques se sont mis \u00e0 \u00ab\u00a0claquer\u00a0\u00bb, avant qu&rsquo;un arc \u00e9lectrique \u00ab\u00a0de la mort\u00a0\u00bb ne provoque une surtension et de jolies flammes dans votre tour, et que tout cela s&rsquo;est termin\u00e9 par deux disques noires et calcin\u00e9s, la oui, faites vous une raison, ils sont MORTS \ud83d\ude42<\/p>\n<p>Heureusement, ce cas de figure n&rsquo;est pas le plus fr\u00e9quent. Par exp\u00e9rience, il arrive bien plus souvent qu&rsquo;un probl\u00e8me \u00e9lectrique quelconque, une d\u00e9faillance m\u00e9canique ou autre, entra\u00eene des soucis lors d&rsquo;une \u00e9criture, provoquant l&rsquo;\u00e9jection du ou des disques du raid. Tant qu&rsquo;un seul disque est impact\u00e9, la reconstruction reste plut\u00f4t ais\u00e9e. Mais que faire lorsque ce sont DEUX disques qui sont brutalement \u00e9ject\u00e9s du raid, que le raid devient donc HS avec deux disques flagu\u00e9s en erreur\u00a0? C&rsquo;est tout le sujet de cet article&#8230;<\/p>\n<h3>Situation initiale<\/h3>\n<p>Nous avons donc un raid software (utilisant mdadm bien sur), avec deux disques en erreur. Ces disques restent n\u00e9anmoins parfaitement \u00ab\u00a0visibles\u00a0\u00bb par le bios apr\u00e8s un reboot. Bref, le probl\u00e8me est venu du contr\u00f4leur ou d&rsquo;ailleurs, les disques eux semblent bon, mat\u00e9riellement parlant.<\/p>\n<h3>Ce que j&rsquo;ai fait, et qui a fonctionn\u00e9<\/h3>\n<p>(Je ne pr\u00e9tend donc pas que cela fonctionnera \u00e0 tous les coups hein&#8230; Mais comme j&rsquo;en suis \u00e0 ma deuxi\u00e8me grosse \u00ab\u00a0panne\u00a0\u00bb sur un raid5, et que je suis super content d&rsquo;avoir pu sauver mes donn\u00e9es, je vous en fait profiter \ud83d\ude09<\/p>\n<p>Commencez par examiner chaque disque (ou partition) de la fa\u00e7on suivante\u00a0:<\/p>\n<pre>mdadm --examine \/dev\/sda1  \r\n<\/pre>\n<p>Pour chaque disques, notez le r\u00e9sultat des deux champs les plus importants\u00a0: \u00ab\u00a0state\u00a0\u00bb et \u00ab\u00a0event\u00a0\u00bb. Dans mon cas, tous les disques \u00e9taient dans un \u00e9tat \u00ab\u00a0clean\u00a0\u00bb ce qui doit vouloir dire qu&rsquo;au moment de la panne, les donn\u00e9es du raid \u00e9taient dans un \u00e9tat coh\u00e9rent. Si vous avez des disques qui ne sont pas dans un \u00e9tat \u00ab\u00a0clean\u00a0\u00bb, dites vous qu&rsquo;il ne faudra les utiliser qu&rsquo;en dernier recours. A priori, le raid ne devrait \u00eatre reconstruit qu&rsquo;avec des disques en \u00e9tat \u00ab\u00a0clean\u00a0\u00bb.<\/p>\n<p>Regardez maintenant le champs \u00ab\u00a0event\u00a0\u00bb. C&rsquo;est le nombre d\u2019\u00e9v\u00e9nements qui ont eu lieu. Autrement dit, si tous vos disques ont le m\u00eame num\u00e9ro (ce qui est peu probable&#8230;) c&rsquo;est qu&rsquo;ils ont tous au m\u00eame niveau et que vous pouvez tout de suite reconstruire le raid. Mais il est probable que ce ne soit pas le cas. Si vous avez de la chance, et si un seul disque \u00e0 un num\u00e9ro diff\u00e9rant, alors c&rsquo;est ce disque la qu&rsquo;il ne faudra pas prendre en compte pour le \u00ab\u00a0r\u00e9-assemblage\u00a0\u00bb du raid.<\/p>\n<p>Personnellement je me suis retrouv\u00e9 avec deux disques qui avaient le num\u00e9ro X et deux autres avec le num\u00e9ro Y. (X \u00e9tant inf\u00e9rieur \u00e0 Y). Il m&rsquo;a sembl\u00e9 plut\u00f4t logique de repartir de l&rsquo;\u00e9tat le plus ancien, celui d&rsquo;avant la panne donc.<\/p>\n<p>Imaginons que mes 4 partitions s&rsquo;appelaient \/dev\/sda1, \/dev\/sdb1, \/dev\/sdc1 et \/dev\/sdd1, et que a et b ai X pour event, alors que c et d avaient Y. Voila la commande magique\u00a0:<\/p>\n<pre>mdadm --assemble --force \/dev\/md0 \/dev\/sda1 \/dev\/sdb1 \/dev\/sdc1\r\n<\/pre>\n<p>Autrement dit, j&rsquo;ai pris les deux plus ancien, et j&rsquo;ajoute un des disques avec un event plus r\u00e9cent. (celui qui m&rsquo;a sembl\u00e9 \u00eatre le plus \u00ab\u00a0net\u00a0\u00bb d&rsquo;apres d&rsquo;autres crit\u00e8re sur lesquelles je n&rsquo;ai pas trop le temps de m&rsquo;\u00e9taler).<\/p>\n<p>Croisez les doigts, et si vous avez de la chance, mdadm acceptera l&rsquo;op\u00e9ration, mettra \u00e0 jour l&rsquo;ensemble des disques pour qu&rsquo;ils aient un event identique. Bien sur, il faudra encore r\u00e9-ajouter le dernier disque (\u00e0 condition bien sur qu&rsquo;il soit lui aussi mat\u00e9riellement hors de cause)\u00a0:<\/p>\n<pre>mdadm --add \/dev\/md0 \/dev\/sdd1\r\n<\/pre>\n<p>Vous n&rsquo;avez plus qu&rsquo;a v\u00e9rifier que vos volumes logiques (si vous utilisez lvm) sont bien revenus, et \u00e0 faire un fsck de vos syst\u00e8mes de fichiers \ud83d\ude42<\/p>\n<p>PS\u00a0: Et juste parce qu&rsquo;on ne le r\u00e9p\u00e9tera jamais assez&#8230; un raid ne remplacera jamais une vraie sauvegarde. JAMAIS\u00a0!<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Ceux qui viennent de penser au capitaine Flam marquent un point. Mais ce n&rsquo;est pas d&rsquo;anim\u00e9s dont nous allons parler aujourd&rsquo;hui. Nous allons apprendre \u00e0 sauver un RAID5 quand tout indique que vos donn\u00e9es sont perdues. Dans un premier temps il faut \u00eatre clair: Je n&rsquo;ai pas la pr\u00e9tention de vous apprendre \u00e0 r\u00e9parer un [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-160","post","type-post","status-publish","format-standard","hentry","category-geekitude"],"_links":{"self":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/comments?post=160"}],"version-history":[{"count":2,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/160\/revisions"}],"predecessor-version":[{"id":1077,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/posts\/160\/revisions\/1077"}],"wp:attachment":[{"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/media?parent=160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/categories?post=160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hoper.dnsalias.net\/atdc\/index.php\/wp-json\/wp\/v2\/tags?post=160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}