Licence CC BY

Retour sur une semaine compliquée pour Zeste de Savoir

Quand ça ne veut pas, ben ça ne veut pas…

Salut les agrumes !

Vous l'avez sans doute remarqué, mais la semaine passée a été compliquée sur Zeste de Savoir : lenteurs généralisées, site inaccessible, bugs dans tous les sens, etc. Maintenant que le gros de la tempête est passé, voici venir le temps du bilan…

L'état actuel du site

Commençons par là, puisque c'est sans doute le plus important pour vous, visiteurs. La première chose que vous devez savoir, c'est ceci :

Toutes les données du mardi 18 août 2015, de 3h00 à minuit, heure de Paris, sont hélas définitivement perdues.

Toute l'équipe du site (moi le premier) vous présente ses excuses, en particulier à tous ceux qui ont perdu du travail dans cette histoire.

Quant au reste, le site est maintenant presque rétabli dans son état normal. « Presque » car il peut subsister quelques bizarreries. À la publication de cet article, deux sont connues :

  1. L'envoi d'images au format JPEG dans les galeries ou ailleurs sur le site (notamment dans les avatars) ne fonctionne pas.
  2. Le serveur n'a pas d'IPv6 et donc n'est accessible qu'en IPv4. Parce que mi 2015, un hébergeur lance de nouvelles offres sans cette technologie.

N'hésitez pas à nous signaler (par exemple dans les commentaires) toute étrangeté que vous croiseriez.

Mais comment en est-on arrivés là ?

En bref : par un épouvantable concours de malchances et de problèmes en tous genres.

Acte 1 : Un hébergement inadapté

Depuis son premier jour, Zeste de Savoir était hébergé sur un VPS Classic 3 2014. Cette offre avait pour principal intérêt son rapport puissance / prix, et deux inconvénients majeurs. Le premier, une technologie qui n'offrait aucune garantie de performances. Le second, qui découle du premier, c'est que OVH considérait que ces offres ne devaient servir qu'à des fins de tests[^tests].

Or donc avec la montée en charge de Zeste de Savoir, bien plus importante que dans nos prévisions initiales, cette offre a montré ses limites. On cherchait bien une solution de rechange depuis le mois d'avril, mais le marché est complexe et très vite très cher…

Et voilà donc que début août arrivent deux nouveaux protagonistes :

  1. Notre serveur décide d'avoir des performances vraiment minables, alors que le trafic reste stable (nous sommes au cœur de l'été). D'ordinaire ce genre de ralentissement cesse en quelques heures, mais là l'hébergeur ne semble rien faire. Et des temps d'accès entre quelques secondes et plusieurs dizaines de secondes, c'est vraiment trop.
  2. OVH sort une nouvelle offre VPS très intéressante, et surtout avec des garanties de performances.

Donc, décision est prise de commander un de ces nouveaux serveurs, de l'installer tranquillement et une fois stabilisé, de basculer.

Acte 2 : Quand les outils vous haïssent

Nous sommes donc mardi 18 août 2015 vers 21h17 quand votre serviteur a la console OVH ouverte sur 2 onglets, l'ancienne et la nouvelle prod, pour comparer les configurations. Le moment est venu d'installer l'OS. Je vérifie l'onglet, clique sur le bouton de formatage, vérifie encore que je suis sur le nouveau serveur, confirme… et là c'est la page de l'ancien serveur qui s'affiche. Horreur.

La nouvelle console OVH (obligatoire) ne supporte pas correctement le multi-onglet.

La prod est formatée.

Les données des utilisateurs sont perdues.

L'opération ne peut pas être annulée ou arrêtée.

Une seule solution : réinstaller le serveur dans son intégralité, et du coup sur la nouvelle machine… Heureusement, on a des sauvegardes ; hélas on ne peut pas se permettre mieux que des sauvegardes quotidiennes, les VPS sont déjà « naturellement » tolérants à toutes sortes de pannes sur une telle architecture. Mais ces sauvegardes sont faites à 3h00 du matin, et il est 21h00 passées, autant dire qu'on est dans le pire des cas : une journée presque complète est perdue !

Pendant la soirée, j'ai aussi constaté que cette console d'administration est globalement d'une fiabilité douteuse : interface de gestion des DNS qui ne correspond pas à la configurations sous-jacente (heureusement éditable en mode texte), messages d'erreurs plus ou moins aléatoires, …

Acte 3 : Bis repetitas ne placent pas toujours

Donc voilà, on réinstalle, tout se passe bien, on a hélas perdus des données et quelques heures de sommeil, fin de l'histoire.

Fin ? Non, parce que quelques grains de sable sont venus se rajouter à cette machine déjà passablement grippée.

Pour commencer, si les données étaient sauvegardées, ce n'était pas le cas des configurations générales (celles dans /etc).
« Pas grave, ce ne sont que des configurations, il faut les refaire, c'est long et chiant, mais c'est tout.
— Ha. Et le certificat SSL pour HTTPS, il se refait peut-être ?
— Ben oui. Il suffit de se connecter chez le fournisseur et de le régénérer.
— Et, comment on s'y connecte ?
— Il faut un certificat de connexion. Ça date d'avant l'association, on va devoir chercher, il faut trouver une solution en attendant.
— Un certificat auto-signé ?
— Oui… mais on a mis en place HSTS. Qui est précisément une protection contre ce genre de manœuvre. Donc tout membre qui s'est déjà connecté ne peut plus se connecter sauf à faire des manipulations compliquées.
— Bon, et ce certificat de connexion ?
— Ben… on l'a perdu. Personne dans l'asso ou le CA n'a pensé à le demander quand on a créé l'association…
— Et si on crée un autre compte, qu'on prouve qu'on est propriétaires du domaine et qu'on génère un autre certificat ?
— Ah, ça ne marche pas. Il détecte l'existence de l'ancien certificat. Il faut se connecter avec l'ancien compte pour pouvoir le résilier…
— Il n'y a plus le choix : allons voir un autre fournisseur.

Et c'est aussi quand on réinstalle le serveur que l'on découvre que l'ancien a vécu, a été modifié plein de fois, et que donc il existe des tas de détails de configuration à prendre en compte, et qui ne sont documentés nulle part.

La suite des événements

Bon, pour les bugs des outils tiers, on ne pourra pas faire grand-chose, si ce n'est minimiser les pertes en cas de catastrophe. Ce qui implique :

  • De sauvegarder les configurations qui vont bien
  • De s'assurer que l'association est bien propriétaire de tous les accès techniques liés au site
  • De documenter l'installation de production (la version actuelle est complètement obsolète)

Hélas, pour des raisons techniques et de coût, nous ne pourrons probablement jamais garantir une récupération de données garantie inférieure à une journée : ceci impliquerait une architecture haute disponibilité bien au-delà de nos moyens, à base de deux serveurs au moins synchronisés en permanence (je rappelle que les VPS sont très tolérants aux pannes).


Voilà, j'espère que tout ça est plus clair pour vous. N'hésitez pas si vous avez la moindre question !


  1. Ce qui n'était pas clair au moment de l'achat et a été précisé par la suite. 


64 commentaires

La sauvegarde me dit que chaque jour où elle fait un delta (modifications par rapport à la veille), elle récupère entre 1000 et 3000 fichiers pour environ 150 Mo.

SpaceFox

Comment est-ce que vous gérez les sauvegardes ? Chaque jour, tout le contenu est sauvé ailleurs ? Chaque sauvegarde est conservée combien de temps ?

Quentin

https://zestedesavoir.com/forums/sujet/688/strategies-de-sauvegardes-des-donnees/?page=3#p25012

Depuis hier, ces sauvegardes sont en plus copiée de chez moi sur un serveur hors site (et qui m'appartient aussi).

Quand tu dis "150 Mo", c'est la taille complète des 1000/3000 fichiers je suppose. Auquel cas ce n'est pas le vrai delta,

Quentin

Si, c'est le vrai delta…

il n'y a pas 150Mo d'information en plus chaque jour.

Quentin

Non, parce que c'est pas ça que veut dire « delta » ici. C'est la quantité d'information qui a changé et que donc on doit sauvegarder. Il y a dedans du remplacement, surtout que ça comprends les dumps (compressés) de sauvegarde de la BDD.

D'une manière générale si tu pouvais poser des questions au lieu d'affirmer sur un ton péremptoire, ça améliorerait la sérénité du débat et ferait gagner du temps.


Attention aussi au développement nécessaire des idées que vous proposez, à leur utilisabilité et à l'effet « faits divers » (comme les politique : un faits divers ? vite, inventons un truc le plus rapidement possible sans prendre en compte l'existant et la réalité du problème !).

Actuellement on peut récupérer une archive, mais qu'est-ce qu'on en fait après ?

Holosmos

Tu peux la décompresser, faire des modifications, recompresser le dossier et importer l'archive obtenue. Plus ici.

Vayel

Mais j'ai raté une étape où c'est indiqué clairement ? Parce que là niveau indications on bat des records s'il faut aller sur le git :0

On est partis sur de mauvaises bases, tant pis, j'insiste pas. Et du coup, j'oubliais :

  • Félicitations pour l'efficacité des sauvegardes : d'autres auraient pu se rendre compte qu'en fait les sauvegardes étaient corrompues. Alors que là, non, elles ont parfaitement rempli leur rôle, ce qui n'était pas gagné.
  • Merci pour le post-mortem détaillé qui décrit avec précision tout ce qui s'est passé sans une once de mauvaise foi. Il est tellement bien écrit qu'il a donné envie à plusieurs d'entre nous de proposer des améliorations !

Heu, faites attention avec la ZEP-08, si je me base sur la ZEP-12 pour estimer le temps de dev, on sera autour des 4 ou 5 mois et on est loin de commencer. Il y a des choses prioritaires.

En tout cas, j'aime bien ce post mortem.

+2 -0

Bon courage pour la suite ;-) Je voudrais juste vous signaler que le flux RSS a un problème, quand on clique sur un article on est redirigé vers beta.zestedesavoir.com, (et pour y accéder il faut un identifiant). Mais bon, ce n'est pas un problème très urgent.

Bonjour, le bug a été corrigé et est dû à une mauvaise manip d'un administrateur qui s'est rendu compte rapidement de son erreur.

Néanmoins, pour signaler ce genre de problème, pourras-tu passer par le forum la prochaine fois, la résolution du problème y sera toujours plus rapide.

Bonjour, le bug a été corrigé et est dû à une mauvaise manip d'un administrateur qui s'est rendu compte rapidement de son erreur.

Néanmoins, pour signaler ce genre de problème, pourras-tu passer par le forum la prochaine fois, la résolution du problème y sera toujours plus rapide.

artragis

Euuuh, moi, perso, c'est pas réglé du tout.

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