Chaque jour, nous rencontrons de nouveaux défis. Généralement, il s’agit de difficultés déjà rencontrées par le passé qui ne demandent qu’à être résolues en quelques minutes. Mais début novembre, c’est pour gérer un incident totalement inédit et particulièrement périlleux qu’est venu nous voir le webmaster du site Zimagez.
Cahier des charges de Zimagez
La problématique est la suivante : notre client dispose d’un espace disque de plusieurs To avec plus d’1 To de données effectives. Le tout est monté en RAID-5 sur quatre disques. Et pour certaines raisons, notre client n’a pas de sauvegarde externe des données présentes sur ces disques…
Rappelons que le RAID-5 est un type de RAID agrégé pour lequel les données sont réparties sur plusieurs disques tolérant la panne de l’un des disques grâce à un système de parité.
Pour commencer, Zimagez a perdu un des disques du RAID. Et par une malchance extraordinaire, lors de la reconstruction du RAID que nous avons lancée, sans doute en raison de la force sollicitation des disques, un second disque a rendu l’âme…
Nous avons alors notre problématique : que faire dans une configuration RAID-5 lorsque deux disques sur quatre tombent en panne ?
Etape 1 : le désepoir
Dans un premier temps, il faut bien avouer que la situation était particulièrement critique… Notre expérience, les avis des différents forums et groupes d’Internet, l’avis de nos confrères… Tout semblait montrer que nos données étaient définitivement perdues ainsi que des années de travail pour notre client Zimagez.
Nous avons testé plusieurs choses :
– Forcer l’intégration du disque défectueux dans le RAID pour sauvegarde : données corrompues, fichiers illisibles, système de fichiers instable
– Check sur le système de fichiers ReiserFS : montre des erreurs irréparables en raison de l’instabilité du RAID
Plus tard, le 2ème disque ayant totalement lâché, les fichiers n’étaient même plus visibles. Impossible de monter la partition (erreur SuperBlock et SuperBlock impossible à reconstruire).
L’avenir des données de notre client n’avait jamais été aussi incertain…
Etape 2 : la patience
Au bout de plusieurs jours de tentatives infructueuses, notre client s’était fait une raison et avait même démarré la recréation de son site en partant de zéro.
De notre côté, étant donné que nous pensions la récupération des données compromise, nous avons tenté le tout pour le tout.
Pour commencer, nous avons remplacé l’un des deux disques endommagés par un disque neuf.
Ensuite, nous avons lancé une copie « bloc à bloc » du disque défectueux (celui qui est toujours branché) vers le nouveau disque en ignorant les erreurs.
Une fois la copie terminée, nous avons réintégré le nouveau disque dans le RAID.
Malheureusement, cela aurait été trop simple… Le système de fichiers ne voulait pas monter en présentant des erreurs de SuperBlock à nouveau.
La reconstruction du SuperBlock ne fonctionne pas non plus.
Nous avons alors tenté de lancer une recréation complète de l’arbre ReiserFS (–rebuild-tree). Au bout de 24 heures, la reconstruction semblait bloquée aux alentours de 40%. Nous avons alors tenté de nombreuses choses (changement kernel, changement binaires ReiserFSCK, Rescue, etc…). Rien à faire, la reconstruction restait « bloquée » au même point.
Ceci étant dit, un strace sur le reiserfsck indiquait que le processus n’était pas totalement planté et qu’il effectuait bien des opérations sur les disques…
Nous avons donc laissé tourner… Longtemps… Très longtemps…
Etape 3 : la résuréction
Et finalement, il y a quelques jours, le reiserfsck a soudainement accéléré son rythme et terminé toutes ses passes !
Un petit fsck ? Système sain ! Première victoire !
Un petit mount ? Système monté ! Fichiers visibles et lisibles ! Youpi !
Nous réintégrons le 4ème disque dans le RAID, lançons la synchro puis redémarrons le serveur en prod… Victoire ! Le site est en ligne avec la quasi-totalité de son contenu (quelques dizaines de fichiers perdus sur quelques millions, ce qui est négligeable…).
Bilan
Cette réussite a été accueillie avec une joie incommensurable par notre client Zimagez et par les visiteurs de son site.
C’est une véritable victoire pour Nexylan et une fierté qui démontre, à nouveau, notre savoir-faire, notre persévérance et, il faut bien l’avouer pour cette fois, notre chance…
Vous aussi, vous souhaitez que l’on relève un de vos défis ? Contactez-nous !