Salut à tous, l'équipe technique au hautparleur.
Vous vous en êtes peut-être aperçu par le regain d'activité récent du côté technique, certaines choses bougent. Et ce n'est pas sans conséquence.
Des causes…
Nous en reparlerons dans un article à venir, mais en deux mots, nous avons changé d'hébergeur et la direction technique du projet va changer de mains.
Le 9 juillet, le Conseil d'Administration de Zeste de Savoir a validé la migration de notre serveur de production, celui qui héberge donc le site que vous voyez en ce moment, d'OVH vers Gandi. Ce nouvel hébergeur était en test depuis fin mai.
Toutes ces transitions ne sont pas sans douleur ni tracas. Remettre les clés, faire le tour du propriétaire, transmettre les tâches, se les approprier, s'assurer que tout est au top. Beaucoup de travail, comme pour un album d'Astérix.
En plus de ça, une tuile nous est tombée dessus cet après-midi. Vers 14 h 30, une baie de disques (c.-à-d. un serveur responsable du stockage de données) a crashé chez Gandi. Pas de bol, un des clients impactés était Zeste de Savoir. Nous avons pu rétablir le service rapidement vers 15 heures et sommes retournés à nos tâches respectives. Tout semblait être revenu à la normale.
Le mot-clé est « semblait », car sous des dehors calmes paisibles, une terrible catastrophe couvait. Le fichier de données de la base MySQL avait été subtilement corrompu lors du crash de 14 h 30. Tout s'est donc passé normalement, jusqu'au moment où le serveur a tenté d'utiliser la partie endommagée du fichier… ce qui l'a définitivement abimé. Devant l'étendue des dégâts, le serveur MySQL a préféré rendre l'âme et cesser de fonctionner tant qu'on ne lui fournirait une version corrigée des données. Las ! Le problème était tel que, malgré quatre heures d'efforts conjointement menés par SpaceFox, gustavi et victor, rien ne put être sauvé.
Dans cette situation, nous aurions normalement dû restaurer la sauvegarde quotidienne de la base de données… sauf que cette sauvegarde n'existait pas. Pas plus que toutes celles qui auraient dû exister depuis plus d'un mois ! Heureusement, gustavi avait lancé une sauvegarde manuelle pour mettre à jour le serveur de bêta le 11 juillet vers 23 heures ; c'est donc ces données que nous avons pu rétablir. La raison de cette disparition des sauvegardes de la base de données est encore mystérieuse. Une étude rapide des logs montre qu'elle a été paramétrée et validée, puis que le logiciel de sauvegarde a purement et simplement été supprimé du serveur – sans que personne ne s'en rende compte, puisque les sauvegardes et leurs copies avaient été testées auparavant.
… et leurs conséquences
Commençons par la mauvaise nouvelle :
Tout ce qui a été enregistré en base de données entre le lundi 11 juillet 2016 23 h et le mercredi 13 juillet 2016 18 h 30 est définitivement perdu.
Ceci inclut :
- Les forums (sujets, messages, pouces rouges et verts).
- Les messages privés.
- Les comptes et les données liées. Si vous vous êtes inscrits pendant la perte de données, je crains qu'il ne faille vous réinscrire.
- Les notifications et suivis de sujets et forums activés pendant ces deux jours.
- Les métadonnées des galeries d'images (mais pas les images elles-mêmes, cf. infra).
Ensuite, la bonne nouvelle (si l'on peut dire) :
Aucun contenu en rédaction n'a été perdu.
Cependant, à cause de la désynchronisation entre la base et les contenus sur le disque, il se peut que les interfaces d'éditions présentent des comportements étranges ; le cas échéant, manifestez-vous sur le forum Bugs et Suggestions.
Ceci concerne :
- Les tutoriels.
- Les articles.
- Les images dans les galeries.
L'intégrité des contenus en rédaction est garantie par le stockage sous-jacent et a été vérifiée.
Never gonna let you down
Nous allons redoubler d'efforts pour que ça ne puisse plus se produire. S'il le faut, nous mettrons en place un système d'alerte qui surveillera que le système chargé d'alerter l'équipe technique quand le système chargé d'envoyer une alerte au cas où le monitoring du système d'alerte en cas de sauvegarde pas faite devait planter.
Plus sérieusement, nous allons surtout revoir notre système de sauvegarde. Une sauvegarde quotidienne ne suffit clairement plus à vous contenter, cher public toujours au rendez-vous, public précieux et exigeant. La stratégie mise en place fera également l'objet d'une mention dans une news/article à venir, mais est déjà effective sur certains points : la sauvegarde quotidienne a été remise en route, et le système de snapshots de Gandi a été activé. Le reste est en cours de réflexion. Le système actuel n'était là que pour pallier une défaillance des systèmes de stockage professionnels théoriquement très résilients ; hélas, la loi de Murphy fait que malgré les moult redondances et tolérances de pannes, c'est la seconde perte de données que subit Zeste de Savoir. Ce qui est une honte et deux de trop !
Nous, l'équipe technique de Zeste de Savoir, vous présentons nos excuses pour les importants désagréments engendrés. Nous en sommes conscients et ça nous peine. Nous ferons mieux.
gustavi, SpaceFox et victor