IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Un administrateur système de GitLab supprime accidentellement 310 Go de données de production
Et rend le site indisponible depuis plusieurs heures

Le , par Olivier Famien

231PARTAGES

11  0 
La plateforme de gestion des développements collaboratifs GitLab est indisponible depuis hier 31 janvier. Sur son portail, on peut lire ouvertement que « ;GitLab.com est actuellement hors ligne en raison de problèmes avec notre base de données de production. Nous travaillons dur pour résoudre le problème rapidement. Suivez GitLabStatus pour les dernières mises à jour ;».

Ce problème est survenu alors qu’un administrateur système de GitLab a entamé une procédure de réplication des données de production pour les utiliser à d'autres fins. Après avoir entamé la procédure de réplication, l’administrateur a dû l’interrompre pour régler un problème de spam et de surcharge de la base de données. Lorsque ce dernier a pu rétablir à la normale le chargement de la base de données PostgreSQL et est revenu sur la réplication de sa base de données, il a reçu une alerte du système qui refusait de répliquer la base de données. Après avoir essayé plusieurs solutions sans succès, l’administrateur s’est dit que le système doit certainement détecter un répertoire vide et décide de supprimer ce répertoire. Malheureusement pour ce dernier, après une ou deux secondes, il remarque qu’il a exécuté la requête sur la base de données de production. Il tente désespérément d’annuler la requête, mais sur les 310 Go de données contenues dans le répertoire, il ne reste plus que 4,5 Go de données.

Comme conséquences de ce fâcheux accident, l’entreprise indique qu’elle a perdu plus de 06 heures de données qui ont atterri sur sa plateforme, ce qui signifie qu’environ 4613 projets réguliers, 74 forks, et 350 importations sont effacés. L’entreprise ajoute que 707 utilisateurs sont affectés par cette perte et l’on peut également envisager une perte de tous les webhooks (fonctionnalités d’une application permettant de fournir des données en temps à une autre application), même si l’information reste encore non confirmée.

Depuis cet accident, l’entreprise se bat avec ses équipements pour récupérer les données perdues. La grosse difficulté pour GitLab est que les instantanés du gestionnaire des volumes logiques sont effectués par défaut une fois toutes les 24 heures. De même, les sauvegardes régulières sont également faites une fois toutes les 24 heures. Du côté d’Azure, ce sont les mêmes difficultés. Les instantanés de disque dans Azure sont activés pour le serveur NFS, mais pas pour les serveurs de base de données. En plus de ces problèmes répertoriés, GitLab souligne que « ;le processus de synchronisation supprime les webhooks une fois qu’il a synchronisé les données à la simulation. À moins que nous puissions les retirer d’une sauvegarde régulière des dernières 24 heures, elles seront perdues ;». En envisageant de passer par la réplication, l’équipe de GitLab estime que « ;la procédure de réplication est super fragile, encline à l’erreur, repose sur une poignée de scripts de shell aléatoires et est mal documentée ;». À ces maux, il faut adjoindre le fait que les sauvegardes sur le cloud Amazon S3 ne fonctionnent pas du tout, bucket, l’unité de logique de stockage sur Amazon Web Services (AWS) est vide. Les ingénieurs de GitLab expliquent qu’ils n’ont pas un système solide d’alerte et de pagination lorsque les sauvegardes échouent.

En fin de compte « ;sur les cinq techniques de sauvegarde/réplication déployées, aucune ne fonctionne correctement ni n’est configurée en premier lieu ;». Le pire dans cette histoire est que l’entreprise a annoncé vers la fin de l’année dernière qu’elle abandonnait le cloud pour migrer vers Ceph FS, le nouveau système de fichiers utilisant des groupes de serveurs pour stocker ses données sur la plateforme Ceph afin d’améliorer les performances de l’accès aux données. Malheureusement, en privilégiant cette plateforme pour ses performances et la haute disponibilité des données, GitLab a négligé d’autres aspects ce qui lui coûte cher aujourd’hui.

Actuellement, l’entreprise essaye de restaurer la sauvegarde qui a été faite six heures avant la perte de données. Sur Tweeter, GitLab affirme qu’elle a pu restaurer ces données. Cela signifie donc que si les données sont restaurées avec cette sauvegarde, il y aura certainement des pertes de données qui se feront ressentir. Pour l’administrateur qui a occasionné cette perte, il retient « ;qu’il est préférable pour lui de ne plus rien exécuter aujourd’hui avec sudo ;». Mais au-delà de cet incident, l’on peut également noter que GitLab a été véritablement transparent dans cet incident en communiquant énormément sur les différentes étapes des actions entreprises.

Gitlab Live Stream: working on restoring gitlab.com

Source : GitLab, GitLab Google docs détails sur l’incident, Tweeter

Et vous ?

Que pensez-vous de cet incident ;?

Erreur, négligence ou incident inévitable ;?

Voir aussi

GitHub : des utilisateurs de la plateforme se disent « frustrés » et « complètement ignorés » sur une pétition signée par des centaines d'entre eux

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Narann
Membre actif https://www.developpez.com
Le 02/02/2017 à 12:29
Les backups c'est quantique, ça existe jusqu’à ce que tu regarde ce qu'il y a dedans.
14  0 
Avatar de Narann
Membre actif https://www.developpez.com
Le 01/02/2017 à 21:40
Plus que transparent. C’était un live en continue dans les locaux de GitLab ou les différentes personnes intervenaient et expliquaient en détails les problèmes et solutions.
7  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 02/02/2017 à 10:41
Ce moment de solitude quand tu te rend compte que la commande de suppression est lancée l'environnement de prod
6  0 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 01/02/2017 à 23:40
Le coup des backups qui sont faits sans que personne n'ai jamais essayé de faire un recovery pour vérifier que tout est ok jusqu'au jour ou... c'est un grand classique, c'est très courant mais les gens évitent de crier ça sur les toits

Ceci combiné à la croissance des ransomwares ou autres catastrophes sécuritaires ca promets qu'on continue à avoir régulièrement des millions d'euros de dommages partis en fumée et des dépôts de bilans...
5  0 
Avatar de Aurelien.Regat-Barrel
Expert éminent sénior https://www.developpez.com
Le 02/02/2017 à 9:35
Gitlab est un bon produit (pour lequel je fais pas mal de promo) mais malheureusement cette histoire me surprend moyennement. Je ne pense pas que ce soit un simple accident mais symptomatique d'une rigueur / qualité perfectible. Entre autre, ils ont près de 6000 tickets ouverts sur leur produit...

Pour moi cette histoire est plutôt une bonne chose (pas de dégât vraiment sérieux) car c'est l'opportunité d'envoyer un signal aux responsables pour revoir leurs priorités et se focaliser un peu plus sur la finalisation de l'existant plutôt que la course à l’échalote en terme de nouvelles fonctionnalités. En tous cas c'est comme ça que je perçois l'ambiance vu de l'extérieur.
5  0 
Avatar de xarkam
Membre éprouvé https://www.developpez.com
Le 03/02/2017 à 12:36
Citation Envoyé par grunk Voir le message
Ce moment de solitude quand tu te rend compte que la commande de suppression est lancée l'environnement de prod
Oui, enfin, le minimum requis c'est d'avoir un prompt bien distinct avec coloration différente selon que tu es sur prod ou réplication, voir même carrément le background xterm en rouge sur la/les machine(s) de prod.
4  0 
Avatar de tchize_
Expert éminent sénior https://www.developpez.com
Le 02/02/2017 à 1:13
Bah c'est du Git, les devs des projet au pire peuvent repousser tout ce qu'ils ont en local, c'est bien comme ça qu'on vends toujours git? Tout est local

Pour le reste, sans blamer qui que ce soit, les bourdes ça arrive. C'est bien facile de dire qu'il faut tester ses backup, mais c'est toujours face au désastre qu'on se rend compte qu'il y a un petit détails qui avait été oublié dans les scénarios testé, et qui fait qu'il faut tout improviser.

Genre le serveur LDAP mort et les backups inaccessible car impossible de s'authentifier sur le serveur distant qui a cloné le ldap foireux et qui s'en sert pour l'authentification
Les bandes hors site qu'on rapatrie en urgence et qui finissent dans un crash auto
Le backup accessible, testé régulièrement par sondage et qui, une fois lancé pour un full restore t'annonce joyeusement "do not stop process, restoring, estimated time: 120h"
3  0 
Avatar de Traroth2
Membre émérite https://www.developpez.com
Le 13/02/2017 à 16:35
Rien ne permet d'être sûr qu'un truc pareil n'arrivera pas chez GitHub.

Un cas typique de clusterfuck. Généralement, quand un problème se produit, ça peut se régler assez facilement. C'est quand il y a plusieurs problèmes qui se produisent en même qu'on peut assez rapidement se retrouver coincé...
3  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 02/02/2017 à 15:52
ça me rappelle un de mes premiers programme GAP sur AS/400 j'ai fait une boucle sans condition de sortie, la CPU est partie en vrille et le système a rebooté

comme je débutais sur ce système j'étais bien incapable de faire un "appel système 2" pour tuer mon process .. ou même de me rendre compte que ma bourde pouvais pénaliser tout le monde
2  0 
Avatar de abriotde
Membre chevronné https://www.developpez.com
Le 13/02/2017 à 14:13
Merci GitLab : C'est la première fois que je vois une entreprise être aussi transparente et c'est une chose extraordinairement bien. Je pense que les erreurs sont courantes en entreprise mais en général les entreprises se contentent de dire "Cela ne se reproduira pas. Nous avons fais ce qu'il faut". Sous entendu, "nous avons mis la pression et virer 2-3 personnes responsables.".

J'apprécie les détails techniques que nous avons là et même si tous le monde ne les comprendra pas, ils apportent un sérieux et une véritable transparence.
2  0