Le 24 mars 2010, le refroidissement du centre de données européen de Wikimédia est tombé en panne et de nombreux serveurs se sont éteints d'eux-mêmes pour protéger leur matériel. Comme ce site servait le trafic européen de Wikipédia et des autres projets, l'équipe d'exploitation a exécuté son basculement rapide standard : modifier les entrées DNS afin que tout le trafic des utilisateurs soit redirigé vers le cluster de Floride. Quelques minutes plus tard, l'équipe a constaté que le mécanisme de basculement lui-même était défaillant, et que la résolution DNS de tous les sites Wikimédia avait cessé de fonctionner — pas seulement en Europe, mais dans le monde entier.
La reprise a ensuite rencontré un second mode de défaillance, plus discret. L'équipe s'attendait à ce que les résolveurs abandonnent les mauvaises réponses dans l'heure, selon le TTL de cache négatif annoncé par la zone, mais les résolveurs de nombreux fournisseurs d'accès ont ignoré cette indication et ont mis en cache plus longtemps les recherches échouées. Le contournement a été brutal : renommer l'enregistrement DNS concerné afin que les résolveurs soient obligés de chercher un nom nouveau. Pendant ce temps, la passerelle SSL secure.wikimedia.org, désactivée pendant l'urgence, s'est effondrée sous le trafic de retour et est restée hors service jusqu'à 21 h 32 UTC.
Pendant plusieurs heures, l'encyclopédie de référence mondiale était tout simplement impossible à résoudre, sans aucun flux de panne à suivre — Mashable a noté que Twitter était le seul endroit où la suivre. Le Wikipedia Signpost a consigné que le site était « hors ligne dans le monde entier pendant plusieurs heures », et l'équipe a publié le jour même une explication sur le blog technique, signée par l'ingénieur d'infrastructure Mark Bergsma.
Tous les sites Wikimédia ont cessé d'être résolus dans le monde entier pendant plusieurs heures, la panne étant couverte par CNN, le Telegraph et Mashable alors que les lecteurs perdaient l'accès.
La procédure de basculement était étiquetée « rapide standard », mais son étape DNS était défaillante lorsqu'elle a été réellement exécutée — le chemin de reprise n'avait manifestement jamais été éprouvé face à un vrai basculement.
Les estimations de reprise supposaient que les résolveurs des fournisseurs d'accès respecteraient le TTL de cache négatif d'une heure annoncé ; beaucoup ne l'ont pas fait, transformant un incident circonscrit en incident sans terme défini.
La passerelle SSL n'avait aucune marge : lorsque le trafic est revenu en masse, secure.wikimedia.org a été surchargée et a lâché, aggravant la panne.
Le service européen était concentré dans une seule installation, si bien qu'une seule panne de refroidissement imposait déjà un basculement mondial du trafic.
La leçon
Un chemin de basculement qui n'est jamais éprouvé est un espoir, pas un mécanisme. Répétez les procédures de reprise sous forme d'exercices en conditions réelles, et ne supposez jamais que les caches en aval expirent comme prévu.
Suites
L'accès est revenu après le renommage de l'enregistrement DNS et la propagation de recherches nouvelles ; la passerelle SSL est revenue à 21 h 32 UTC le même jour. Le post-mortem public publié le jour même sur le blog technique de Wikimédia a donné le ton de l'habitude ultérieure de la fondation de publier des rétrospectives d'incidents. Le piège de la redondance a quant à lui persisté : en août 2012, une seule coupure de fibre a sectionné les deux liens « redondants » entre les centres de données d'Ashburn et de Tampa et a mis Wikipédia hors service pendant 63 minutes de plus, et ce n'est qu'alors que la fondation a consolidé son back-end de service à Ashburn.
VÉRIFIEZ LES SOURCES
Les sources
- Global Outage (cooling failure and DNS) Wikimedia Tech Blog (Diff) · diff.wikimedia.org ·
- Wikipedia Goes Down [Updated] Mashable · mashable.com ·
- Server overheating and DNS problems cause global Wikipedia downtime The Wikipedia Signpost · en.wikipedia.org ·