Retour dans le passé pour ZdS :(

On aurait préféré revenir vers le futur, mais Murphy ne nous a pas trop laissé le choix de la destination…

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

32 commentaires

Hier en rentrant du boulot j'étais tellement naze que je me suis dit, pour une fois je passe chercher une pizza au petit resto du coin au lieu de cuisiner.

J'arrive chez moi avec ma pizza merguez toute chaude, je check IRC machinalement tout en lançant un épisode d'une série, et là paf. La douche froide. Et la pizza froide, du coup, le temps de stopper l'hémorragie.

+3 -0

Sinon faudrait trouver un moyen pour que les membres participent à la sauvegarde. Un flux de données basé sur du versioning en temps réel et stockant un à un les nouveaux changements sur le disque dur. Je ne sais pas si c'est envisageable - c'est une proposition comme ça. Mais ça permettrait de reconstituer l'intégralité de la base de données sans souci, un membre fournirait la dernière version active du site. :)

@Yarflam : c'est bien trop compliqué à mettre en place et surtout pas possible car il y a du contenu qui n'est pas accessible à tous et qui ne doit pas l'être (forums privés, messages privés, etc).

+3 -0

J'ai la liste des sujets créés entre depuis lundi (flux rss), si ça intéresse quelqu'un.

Une sauvegarde quotidienne ne suffit clairement plus à vous contenter

Une sauvegarde par jour, ce n'est pas forcément trop peu, encore faut-il qu'elle marche !

Si gustavi n'avait pas lancé une sauvegarde lundi soir, que ce serait-il passé ?

Édit : pour les messages perdus, personne n'est abonné aux flux « Derniers messages » du forum ? Il y a toute les données dedans.

+2 -0

Mieux vaut ne pas y penser.

En tous cas nous avons pris des mesures directement pour pas que ça se reproduise. Sans rentrer dans les détails (nous ferons un sujet pour tout expliquer dans le forum) nous avons maintenant 2 systèmes de sauvegarde différents à deux endroits différents.

+2 -0

Le flux des derniers messages est tellement verbeux que je crains que personne ne l'utilise…

Par contre j'ai le flux des derniers sujets (publics), neuf d'entre eux ont disparu :

  • Que pensez vous de mon architecture? dans Programmation par Necros211
  • D'ou viennent les infos des whois ? dans Site Web par arglow
  • Permettre à l'administrateur d'ajouter un article dans plusieurs langage dans Site Web par taoufik07
  • GeekTycoon dans Vos projets par Drulac
  • Astuceseo - Améliorez la visibilité de votre site sur le web dans Vos projets par Astuceseo (edit : l'utilisateur est lui aussi perdu)
  • Usurpation d'identité sur des mails dans Systèmes et Matériels par abrahan
  • Quelle est la ressource partagée ? dans Programmation par Lern-X
  • fabrication d'un drone dans Systèmes et Matériels par yannpoissenot
  • Cperime dans Vos projets par Asue

Je préviens leurs auteurs par MP.

Le flux des derniers messages est tellement verbeux que je crains que personne ne l'utilise…

Trop, ou pas assez ! Je ne l'utilise pas parce qu'il est restreint aux 10 derniers messages, et quand j'allume mon PC le soir, c'est toujours plus de 10 messages qui ont été écrits, ce qui le rend inutile.

+0 -0

Merci beaucoup pour de vos efforts pour avoir remis le site en place le plus rapidement possible. Pour ma part à part quelques MPs je n'ai rien perdu.

Hier en rentrant du boulot j'étais tellement naze que je me suis dit, pour une fois je passe chercher une pizza au petit resto du coin au lieu de cuisiner.

Donnes ton adresse, je te commande un pizza chaude. :D

+3 -0

Par contre j'ai le flux des derniers sujets (publics), neuf d'entre eux ont disparu :

  • Quelle est la ressource partagée ? dans Programmation par Lern-X

SpaceFox

Pour celui-ci j'ai la copie de l’intégralité des messages dans mon cache si ça intéresse.

EDIT: et pour les autres sujets perdus, le cache google pourrait servir, mais il faudrait sans doute l'exploiter avant qu'il ne soit rafraîchi.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte