Incendie datacenter OVH 2021-03-10 - post-mortem

L’incendie OVH à Strasbourg a touché un des serveurs Ishtar hébergés par Iggdrasil.

Chronologie

  • 10/03/2021 - 02:10 - alerte par courriel d’indisponibilité du site Ishtar concerné
  • 10/03/2021 - 02:30 - alerte par courriel d’indisponibilité du serveur concerné
  • 10/03/2021 - 08:40 - prise de connaissance des courriels d’indisponibilité
  • 10/03/2021 - 08:45 - courriel émanant d’un des utilisateurs pour nous signaler l’indisponibilité du site
  • 10/03/2021 - 08:50 - vérification de tous les services hébergés par Iggdrasil pour évaluer ceux impactés
  • 10/03/2021 - 09:15 - vérification des sauvegardes disponibles du serveur
  • 10/03/2021 - 09:30 - commande d’un nouveau serveur auprès d’OVH dans un autre datacenter
  • 10/03/2021 - 09:40 - changement des DNS pour pointer sur l’IP du nouveau serveur
  • 10/03/2021 - 09:45 - courriel d’information auprès de notre client
  • 10/03/2021 - 09:45 - livraison du nouveau serveur
  • 10/03/2021 - 10:00 - vérification des scripts « ansible » d’installation
  • 10/03/2021 - 10:20 - installation Debian nue terminé
  • 10/03/2021 - 10:30 - lancement du premier script ansible d’installation des services de base (sans mise en place de sauvegarde)
  • 10/03/2021 - 11:15 - lancement du script ansible d’installation d’Ishtar nu
  • 10/03/2021 - 11:20 - vérification des scripts ansible de restauration
  • 10/03/2021 - 12:45 - lancement du script ansible de restauration de la base production
  • 10/03/2021 - 13:45 - restauration terminée de la base production
  • 10/03/2021 - 14:00 - vérifications « manuelles »
  • 10/03/2021 - 15:15 - information au client de la restauration de la base de production
  • 10/03/2021 - 15:30 - écriture du script ansible de recopie de la base prod → formation
  • 10/03/2021 - 17:00 - restauration de la base formation
  • 10/03/2021 - 18:00 - remise en place des sauvegardes journalières (via script ansible)
  • 10/03/2021 - 21:00 - fin de remise en place des sauvegardes journalières
  • 11/03/2021 - matinée - écriture du script ansible de restauration des vitrines
  • 11/03/2021 - après-midi - remise en place de la vitrine

Ce qui s’est bien passé

  • le système d’alerte a bien fonctionné
  • la sauvegarde et sa redondance étaient complètes et fonctionnelles
  • les scripts d’installation et de restauration de base étaient prêts, testés et se sont avérés fonctionnels
  • la commande du nouveau serveur a été rapide permettant d’anticiper une éventuelle pénurie de machine auprès de l’hébergeur
  • la prise en charge de l’incident s’est faite de manière relativement sereine

Ce qui s’est moins bien passé

  1. les habitudes de faux-positif au niveau des alertes courriels ont ajouté un peu de latence pour se rendre compte de la gravité de la situation
  2. petite latence dans l’information client : nous avons fait le choix d’évaluer l’ampleur du problème avant de communiquer
  3. manque de visibilité rapide sur quel serveur pouvait être touché
  4. pas de script de restauration de vitrine
  5. pas de procédure de test manuel

Actions correctives faites ou à réaliser

  • Point à améliorer 1 - Le système de monitoring est une vrai question en suspens : le système actuel basé sur le logiciel Munin est simple mais robuste. Affiner le monitoring nécessiterait de déployer des solutions plus complexes, ce qui au vu du nombre de serveurs utilisés par Iggdrasil serait probablement disproportionné. Néanmoins, ce système de monitoring n’a pas de redondance et une mise en défaut de celui-ci peut mettre du temps à être détectée. Action à entreprendre courant mars 2021 : monitoring à même de surveiller le surveillant.

  • Point à améliorer 2 - Globalement la communication a été relativement rapide, néanmoins un courriel de prise en compte de l’incident, de type « Incident majeur - nous évaluons les répercussions sur votre installation » peut être opportun.

  • Point à améliorer 3 - Pour savoir quels étaient les serveurs impactés, au cas où certains serveurs auraient eu un défaut de monitoring, il a été nécessaire de se connecter dans le manager OVH et de vérifier serveur par serveur où ils étaient hébergés. Un graphe des localisations des différents serveurs a depuis été créé. Celui-ci permet par ailleurs de s’assurer rapidement que chaque service dispose bien de deux serveurs de sauvegarde avec au moins un de ces serveurs dans un datacenter différent dans un site différent.

  • Point à améliorer 4 - En l’occurrence la vitrine n’est pas encore utilisée sur ce serveur. Ce point n’a pas donc pas été pénalisant et c’est pour cela que la remise en place n’a eu lieu que le lendemain. Le script a maintenant été écrit.

  • Point à améliorer 5 - Il n’y a pas de systématisme dans la procédure de test manuel. Les éléments à tester techniquement sont assez simples : affichage du site (-> serveur web OK), connexion au site (-> connexion à la base de données OK), ajout d’un élément d’un document (droits sur le répertoire media OK). Action à entreprendre courant mars 2021 : procédure à normaliser dans un document.

À la lumière de cette expérience, le plan de reprise d’activité a bien fonctionné. Des détails sont néanmoins à améliorer et formaliser : action à entreprendre courant mars 2021.