tux-news.pngPiouland revient enfin après une longue période d'absence. La faute à pas de chance et à la mauvaise gestion des serveurs  .

Le site est hébergé sur des serveurs à la maison et pour éviter les pertes de données j'utilise des disques dur en miroir (Raid 1). Comme je n'ai pas de contrôleur raid sur mes cartes mères j'utilise le raid logiciel (MD). Je me disais qu'avec ça je limitais grandement les risques de perte de données.

Hors j'ai du faire face à une situation que je n'avais prévue; défaillance d'un disque alors que l'autre ne faisais plus partie du raid suite à une coupure de courant qui avait eue lieue longtemps avant.

Petite explication :

Lors d'un orage coupure d'électricité... bon ça arrive. On attend que ça revienne et on rallume tout. Cependant, au démarrage le système détecte des incohérences sur l'un des deux disques en miroir. Ce disque est donc sorti du volume de raid par le système en attendant une action de l'administrateur. A la fin du démarrage l'outil d'administration du raid (mdadm) envoi un mail à root. Oui mais voila, j'avais complètement oublié de rediriger les mails de root vers mon adresse. L'un des principes du raid c'est qu'en cas de défaillance d'un disque, il n'y a pas de perte de données et pas d'interruption de service. Le serveur affiche donc un message sur la console, message auquel je ne fais pas attention dans la masse d'information qui s'affiche à l'écran. Du coup tout continue de fonctionner comme si de rien n'était.
Les mois passent et un jour plus rien ne répond sur l'un des serveurs. Un coup d'oeil rapide sur le messages d'I/O Error m'indique qu'un disque dur vient de lâcher ou tout du moins que certains de ses blocs sont illisibles. Je me dis : "bon pas de souci, je débranche ce disque et je boote sur celui qui reste." Et là c'est le drame. Je m'aperçois que le volume de raid n'a plus qu'un seul disque et c'est celui qui est défaillant. Je tente donc de remettre l'autre dans le volume et de laisser la reconstruction se faire. Lorsque l'on rajoute un disque dans un volume raid1, il y a un phase de reconstruction qui recopie l'ensemble des données du disque déjà en place sur le nouveau. Sauf que là le disque déjà en place contient des blocs défectueux qui sont illisibles... damned ! La reconstruction échoue.
Il faut donc que je récupère les données à la main. Car le problème est que le disque contient le système du serveur. Je démarre donc un ubuntu desktop sur une clé usb. Là après avoir un peu ramé pour faire reconnaître mes partitions je parviens, à grands coups de fsck,  à réparer le disque et récupérer les données. Pfiou !

Comme à la même période nous avions changé l'un de nos postes de travail, je décide de recycler celui qui reste pour remplacer le serveur et surtout ses disques. Je fais donc la même configuration avec disques en raid, je prend soins de bien configurer mdadm et je le met en production. Quelle ne fût pas ma surprise quand je me suis aperçu qu'à son tour le nouveau serveur était figé avec une erreur de lecture sur le bus. Verdict (à l'aide de smartmontools) : l'un des deux disques était complètement défaillant et faisait carrément planter le bus sata de la carte mère.

Alors voila Piouland est quand même revenu, il faut tout de même que j'achète un second disque pour compléter mon volume raid histoire d'éviter que tout cela se reproduise.